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

 

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

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

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

[root@server1 ~]# sysctl –p

 

rpm包安装squid:

 

 

一、正向代理及策略控制

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

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

 

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

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

重启服务

验证

 

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

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

重启服务

 

 

 

例3、禁止访问115.239.210.27的站点

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

重启服务

验证

 

 

 

 

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

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

重启服务

验证

 

 

 

 

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

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

重启服务

验证

 

 

 

 

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

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

重启服务

查看系统时间

验证

修改系统时间

再次验证

 

 

 

 

例7、过滤网页内容

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

重启服务

验证

 

 

 

 

二、透明代理

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

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

重启服务

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

验证

 

 

 

 

 

三、反向代理

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

重启服务

验证