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文件
重启服务
验证