您的位置:首页 > 运维架构 > 反向代理

squid代理服务器基本配置(二)

2013-09-17 22:08 218 查看
Squid透明代理透明代理是 NAT 和代理的完美结合,之所以称为透明,是因为在这种工作方式下用户感觉不到代理服务器的存在,不需要在浏览器或其他客户端工具(如网络快车等)中作任何设置,客户机只需要将默认网关设置为Linux 服务器的IP地址即可。当客户机访问 Internet ,请求数据包经过 Linux 服务器转发时, Linux 服务器上的iptables 将客户机的 HTTP 请求重定向到 Squid 代理服务器,由代理服务器代替客户机访问外部信息资源,再将获取的数据传回客户机。在使用RedHat EnterpriseLinux 5系统光盘上自带的squid软件包安装时,squid默认是向外转发包的,所有的包都会被拒绝。此时只需要修改一下配置文件/etc/squid/squid.conf中的“http_access deny all”改为“http_access allow all”即可实现squid的代理局域网用户连接Internet了。squid的基本配置请参考本人关于squid服务安装及其基本配置的博客。首先安装一下DHCP服务为局域网内的用户分配IP地址。









修改过服务配置文件之后需要重新启动该服务:service dhcpd restart



安装Squid






因为Squid只能代理tcp,mail,httpd等协议,不能够代理DNS。所以为了使局域网用户的DNS能够通过正常解析,所以使用SNAT来实现,主要借助于Linux中iptables工具。





















iptables -t nat -A PREROUTING –s 192.168.2.0/24 –ptcp –dport 80 -j REDIRECT –to-port 3128
使用iptables创建一个表格nat添加到PREROUTING中,凡是来自192.168.2.0网段的使用tcp协议的访问目标是80端口的数据包,都将重定向到3128端口。这样在局域网用户访问httpd时,数据包发送到Linux服务器时,就将其目标端口重定向到3128端口。






测试是否实现透明代理:






访问控制应用实例:
1、禁止 IP 地址为 192.168.2.99 的客户机上网。
acl_badclientip1src 192.168.2.99
http_access deny badclientip1



2、禁止 192.168.2.0 这个子网里所有的客户机上网。
acl badclientnet1 src 192.168.2.0/255.255.255.0
http_access deny badclientnet1
3、禁止用户访问 IP 地址为 115.239.210.26 的网站。
acl badsrvip1 dst 115.239.210.26
http_access deny badsrvip1



4、禁止用户访问域名为 www.163.com的网站。
acl baddomain1 dstdomain -i www.163.com
http_access deny baddomain1
5、禁止用户访问域名包含有 163.com 的网站。
acl badurl1 url_regex -i 163.com
http_access deny badurl1
6、禁止用户访问域名包含有 sex 关键字的 URL 。
acl badurl2 url_regex -i sex
http_access deny badurl2
7、限制IP地址为 192.168.16.200 的客户机并发最大连接数为 5 。
acl clientip1 src 192.168.16.200
acl conn5 maxconn 5
http_access deny client1 conn1
8、禁止192.168.2.0这个子网里所有的客户机在周一到周五的 9:00 到 18:00上网。
acl clientnet1 src 192.168.2.0/255.255.255.0
acl worktime time MTWHF 9:00-18:00
http_access deny clientnet1 worktime
9、禁止客户机下载 * .mp3 、 * .exe 、 * .zip和 *. rar 类型的文件。
acl badfile1 urlpath_regex -i \.mp3$ \.exe$ \.zip$ \. rar $
http_access deny badfile1
10、禁止 QQ 通过 Squid 代理上网。
acl qq url_regex -i tencent.com
http_access deny qq
本文出自 “人生在勤,不索何获” 博客,谢绝转载!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: