Squid是Linux和UNIX平台下最为流行的高性能免费应用层代理服务器,它具有权限管理灵活、性能高和效率快等特点。Squid的另一个优越性在于它使用访问控制列表(ACL) 和访问权限列表(ARL)进行权限管理和内容过滤。访问控 制清单和访问权限清单通过阻止特定的网络连接来减少潜在 的Internet非法连接,可以使用这些清单来确保内部网的主 机无法访问有威胁的或不适宜的站点。

 

    这篇文章的重点不在于介绍其工作原理,主要是介绍squid的一些基本配置,大致分为三块儿:一、正向代理及策略控制;二、透明代理;三、反向代理。下面是这个实验的拓扑图:

160544647.jpg

首先作为代理服务器,squid要具备双网卡并开启转发功能

160403841.jpg

[root@server1 ~]# vim /etc/sysctl.conf

101630781.jpg

[root@server1 ~]# sysctl –p

 

rpm包安装squid:

160407653.jpg

160409749.jpg

 

 

一、正向代理及策略控制

编辑/etc/squid/squid.conf文件

160411603.jpg

160414130.jpg

在客户端指明要使用代理服务器

160418934.jpg

160422403.jpg

 

例1、禁止IP地址为172.16.10.101的客户机上网

编辑/etc/squid/squid.conf文件

160425204.jpg

重启服务

验证

160430605.jpg

 

例2、禁止172.16.10.0整个网段的客户机上网

编辑/etc/squid/squid.conf文件

160433333.jpg

重启服务

 

 

 

例3、禁止访问115.239.210.27的站点

编辑/etc/squid/squid.conf文件

160436517.jpg

重启服务

验证

160440812.jpg

 

 

 

 

例4、禁止访问www.sina.com

编辑/etc/squid/squid.conf文件

160443466.jpg

重启服务

验证

160448917.jpg

 

 

 

 

例5、禁止访问域名中含有“sina”的网站

编辑/etc/squid/squid.conf文件

160451955.jpg

重启服务

验证

160455358.jpg

 

 

 

 

例6、结合时间来控制用户的上网行为

编辑/etc/squid/squid.conf文件

160458921.jpg

重启服务

查看系统时间

160501985.jpg

验证

160505267.jpg

修改系统时间

160507951.jpg

再次验证

160511716.jpg

 

 

 

 

例7、过滤网页内容

编辑/etc/squid/squid.conf文件

160514854.jpg

重启服务

验证

160518923.jpg

 

 

 

 

二、透明代理

使用iptables使DNS能正常通过代理服务器,而上网请求要经过代理服务器的检测

162954387.jpg

编辑/etc/squid/squid.conf文件

160525857.jpg

重启服务

在客户端要取消使用代理功能,并设置网关为代理服务器的内网地址,DNS指向也要设置

160529620.jpg

验证

160533436.jpg

 

 

 

 

 

三、反向代理

编辑/etc/squid/squid.conf文件

160536788.jpg

160538717.jpg

重启服务

验证

160541951.jpg