登录 |  注册 |  繁體中文


squid配置

分类: 服务器相关 颜色:橙色 默认  字号: 阅读(3000) | 评论(0)

一.squid(代理服务器)的作用

1. 通过缓存的方式为用户提供WEB服务加速

2. 对用户的WEB访问做访问控制

二.代理服务器分为以下三类

1. 普通代理服务

2. 透明代理服务

3. 方向代理服务

三squid的基本配置:

1. 安装squid的软件包为:squid-2.6.STABLE21-3.el5

2. squid的运行进程为:squid

3. 运行squid的二进制文件为:/etc/init.d/squid

4. squid的监听端口为:3128(tcp)

5. squid的主配置脚本为:/etc/squid/squid.conf

6. squid的日志记录存放:/var/log/squid/access.log

四. squid主配置文件常用的配置项

1. http_port 定义squid的监听端口的,默认为3128

2. cache_mem 定义为squid分配内存的大小,默认为64M

3. visible_hostname 定义配置为可见的主机名,默认没有此项,需手动添加

4. cache_dir 定义缓存存放的目录

5. cache_mgr 定义管理员的邮箱

6. error_directory 定义错误提示的语言

7. reply_body_max_size 定义用户传输的最大数据

五.普通代理服务(为内网用户代理上网

实验环境:内网的网卡eth1:192.168.23.23,内网的客户机ip:192.168.23.25

外网卡eth0:192.168.0.43 ,web服务器的地址为:192.168.0.254

(这里的实验环境为实验室,如有需要,可根据实际情况进行改动)

1. 修改主配置文件:

(1)visible_hostname定义为: proxy.test.com

(2)用户的最大传输数据位:10M

(3)访问控制列表定义为allow all

clip_image006

(4)监听端口定义为内网卡的8080端口:

clip_image008

(5)定义错误提示的语言为中文

clip_image010

(6)定义管理员的邮箱地址:

clip_image012

2. 初始化squid的缓存目录:

clip_image014

3.分析是否有语法错误:

clip_image016

3.启动squid服务:

clip_image018

4. 做客户端的设置,这里以Firefox为例:

(1) 打开工具栏中的"编辑"-----》"首选项"-----》"高级"-----》"网络"----》"设置"-----》"手动配置代理"

clip_image020

设置代理地址为内网卡的ip:192.168.23.23,代理端口为8080,然后点击"确定"退出。

5. 我们去做一下测试:

clip_image022

,可以看到我们能正常的访问到远程服务器。

6. 我们去下载大于10M的文件:

clip_image024

可以看到,被拒绝,在图中也可以看到我们刚刚做的设置

六. ACL的访问控制

1. 应用访问控制的方式:

定义acl列表:

acl 列表名称 列表类型 列表内容

针对列表进行限制

http_access allow或deny 列表名

2. 常用的acl的列表类型

src 基于源地址的控制

des 基于目的地址的控制

port 基于来目的端口的控制

srcdomain 基于源域名的控制

desdomain 基于目的域名的控制

time 基于时间的控制

proto 基于协议的控制,只能控制http和ftp协议

maxconn 基于一个ip最大的连接数的控制

url-regex 基于全路径中字符的控制

urlpath_regex 基于非必须全路径的控制

3. 访问控制规则的匹配顺序:

每一次客户端请求代理服务器都会产生组合(源地址src,目标地址dst,目标域名dstdomain,时间time,等等....),服务器端拿着此组合,按http_access的顺序进行匹配(只匹配相同的类型),直到第一次匹配到allow或deny的http_access,如果是allow,则允许访问,不再匹配;如果是deny,则禁止访问,不再匹配。

注意:如果一条组合匹配到最后都没有匹配到allow或deny,那么如果它最后进行匹配的http_access是allow,则deny此次请求;否则allow此次请求。

4. 设置不能下载以.pdf结尾的文件:

clip_image026

然后重新读取一下配置文件;

clip_image028

我们试着下载一个pdf格式的文件:

clip_image030

如图,访问遭到拒绝。

5. 设置基于协议的控制

clip_image032

重新读取一下配置文件

6. 然后我们再去访问远程主机:

clip_image034

可以看到访问被拒绝。

7. 设置基于时间的访问控制(注意:设置基于时间的访问控制的时候,起始时间必须小于结束时间)

clip_image036

我现在的时间为:

clip_image038

再重新去读一下配置文件,然后再去做验证:

clip_image040

可以看到访问被拒绝。

七. 配置透明代理:

现在的企业上网大部分采用的就是这种方法,客户机浏览器

不需要在浏览器中指定代理服务器的地址、端口

配置要求:

(1)代理服务程序能够支持透明代理

(2)设置防火墙规则,将客户机的Web访问数据自动重定向给代理服务程序处理

1.修改主配置文件,设置监听的地址和监听的端口号:

clip_image042

禁用刚才我们做的ACL,重新读取配置文件

2. 配置iptables的规则:

iptables –t nat –A PREROUTING –i eth1 –s 192.168.23.0/24 –p tcp –dport 80 –j REDIRECT –to-port 8080

clip_image044

3. 然后我们取消刚才Forefox浏览器中的代理:

clip_image046

4. 再设置本地的网关为 192.168.23.23

5. 我们再去验证一下:

 

clip_image048

可以看到,我们能正常的访问远程主机。




姓 名: *
邮 箱:
内 容: *
验证码: 点击刷新 *   

回到顶部