Squid代理服务器的搭建

 

一、环境准备:
1 、Linux 主机需要2 块网卡
2 、网络参数的配置
Linux代理服务器:eth0(内网)172.16.0.36/16    dns:61.134.4.1
                                   eth1(外网)8.0.0.1/8
 

二、实验拓扑:

 

三、Squid详细配置:

1、安装Squid软件包
 

2、备份Squid的配置文件,以防止错误操作

3、编辑配置文件:vi /etc/squid/squid.conf
配置文件说明:
http_port 3128                             //设置监听的IP与端口号
cache_mem 64 MB设置内存缓冲的大小
cache_dir ufs /var/spool/squid 2000 16 256    设置硬盘缓冲大小
cache_effective_user squid设置缓存的有效用户
cache_effective_group squid设置缓存的有效用户组
dns_nameservers 192.168.0.254设置DNS服务器地址,一般可以不设置,默认使用服务器自己设置的dns
cache_access_log /var/log/squid/access.log设置访问日志文件
cache_log /var/log/squid/cache.log设置缓存日志文件
visible_hostname 192.168.0.20设置squid主机名称
以上全局参数根据你自己的需要修改
 

http_port 8888
cache_mem 128 MB
cache_dir ufs /var/spool/squid 4096 16 254
cache_effective_user squid
cache_effective_group squid
dns_nameservers 61.134.4.1
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
cache_store_log /var/log/squid/store.log
visible_hostname 172.16.0.36
cache_mgr root@hack.com
 
# 以下是访问控制列表,对用户上网的控制,deny必须在allow的前面
acl all src 172.16.0.0/255.255.0.0
acl getfile urlpath_regex -i \.mp3$ \.exe$ \.zip$ \.rar$ <不允许用户下载.exe等文件>
acl kk src 172.16.0.25/255.255.0.0
acl dd time 17:00-20:00
 
http_access deny kk dd <===<表示不允许172.16.0.25用户在17;00-20;00上网>
http_access deny getfile <==不允许下载exe zip rar   mp3文件
http_access allow all
 

 注意:拒绝一定要在允许的前面


注意:在修改配置完成后一定要重启服务: service squid restart
4、初始化Squid:/usr/sbin/squid -z
 

 

四、内部客户机的设置

1、 打开IE 浏览器---> 点击工具--->internet 选项---> 选择连接---> 局域网设置----> 配置代理
 

五、测试

1 、正常设置。访问正常
 

2 、禁止用户下载mp3/rar/zip 等类型的文件:

acl getfile urlpath_regex -i \.mp3$ \.exe$ \.zip$ \.rar$ 
 
http_access deny getfile   
 
注意:拒绝的策略一定要添加在允许的前面才会生效

   修改:/etc/squid/squid.conf 文件,在访问列表出添加如下语句即可:修改完成后需要重启服务
 

测试如下:

 

 
测试结果:无法下载flash_player.exe文件
 
3 、拒绝用户在下午17:00-8:00 之间上网,可如下操作:

 
acl kk src 172.16.0.25/255.255.0.0
acl dd time 17:00-20:00
http_access deny kk dd    <==表示不允许172.16.0.25用户在17;00-20;00上网
 
注意:拒绝的策略一定要添加在允许的前面才会生效

   修改:/etc/squid/squid.conf 文件,在访问列表出添加如下语句即可:修改完成后需要重启服务

测试结果:

4 、拒绝172.16.0.25 和用户访问internet
   修改:/etc/squid/squid.conf 文件,在访问列表出添加如下语句即可:修改完成后需要重启服务

acl bb 172.16.0.25/255.255.0.0

 

http_access bb deny <===拒绝用户访问

 

注意:拒绝的策略一定要添加在允许的前面才会生效


测试结果:

   

 
5、拒绝172.16.0.25用户访问www.163.com
   修改:/etc/squid/squid.conf 文件,在访问列表出添加如下语句即可:修改完成后需要重启服务

注意:拒绝的策略一定要添加在允许的前面才会生效

                                             

测试结果: