配置 Squid代理服务器实现基本代理
需要有两个不同网段的地址,并且我是实现10.1.1.0网段访问,192.168.1.0网段的192.168.1.31 的web服务器
检查 IP 地址,安装软件:
[root@localhost ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:E6:F5:C8
inet addr:10.1.1.4 Bcast:10.255.255.255 Mask:255.0.0.0
eth1 Link encap:Ethernet HWaddr 00:0C:29:E6:F5:D2
inet addr:192.168.1.33 Bcast:192.168.1.33 Mask:255.255.255.0
[root@localhost ~]# rpm -qa |grep squid
[root@localhost ~]#
[root@localhost Server]# rpm -ivh squid-2.6.STABLE21-6.el5.i386.rpm
//软件包在redhat的光盘中的Server文件夹中
------------------
[root@localhost ~]# vim /etc/squid/squid.conf //确认或添加以下各行配置内容
http_port 3128 //代理服务的端口号
visible_hostname localhost.localdomain
maximum_object_size_in_memory 4096 KB // 保存到缓存的最大对象大小,单位:KB
reply_body_max_size 10240000 allow all // 禁止下载超过10M的文件
http_access allow all //一定放在http_access deny all的前面
启动服务:
[root@localhost ~]# service squid start
真机上使用 HFS 模拟 WEB 服务器 //HFS是一个快速行的列表型网站,非常适合测试,可以直接把文件放到HFS上面尽心下载测试
局域网的PC机配置IE浏览器,要在Internet 属性--->连接--->局域网(LAN)设置--->局域网设置
在代理服务器选项中,勾选 “为LAN使用代理服务器” 输入地址和端口
然后访问 http://192.168.1.31 可以尝试下载文件,看看限制是否成功
并且HFS上面也有访问记录,可以很方便的查看的
查看 Squid 代理的访问日志:
[root@localhost ~]# tail /var/log/squid/access.log
1293245293.702 9 10.1.1.100 TCP_MISS/200 915 GET http://192.168.1.31/~img41 -
DIRECT/192.168.1.31 p_w_picpath/gif
------------------------------
配置Squid代理服务器实现透明代理
[root@localhost ~]# vim /etc/squid/squid.conf
http_port 10.1.1.4:3128 transparent //修改这一行配置
[root@localhost ~]# service squid restart
停止 squid: [确定]
启动 squid: [确定]
开启路由转发功能:
[root@localhost ~]# vim /etc/sysctl.conf
# Controls IP packet forwarding
net.ipv4.ip_forward = 1
[root@localhost ~]# sysctl -p
添加 iptables 防火墙策略:
[root@localhost ~]# iptables -t nat -I PREROUTING -i eth0 -s 10.0.0.0/8 -p tcp --dport 80 -j
REDIRECT --to-ports 3128
[root@localhost ~]# iptables -t nat -I POSTROUTING -s 10.0.0.0/8 -o eth1 -j SNAT
--to-source 192.168.1.33
局域网PC机配置:
要将网关指向10.1.1.4 DNS指向192.168.1.1
浏览器去除 设置代理
然后访问 192.168.1.31 或者公网网址
再次查看 Squid 代理的访问日志:
1293251058.298 62 10.1.1.100 TCP_HIT/200 727 GET http://www.baidu.com/img/arr.gif -
NONE/- p_w_picpath/gif
1293251058.359 60 10.1.1.100 TCP_MISS/200 4037 GET
http://www.baidu.com/js/bdsug.js? - DIRECT/119.75.217.56 application/javascript
有关SNAT和DNAT就是添加iptables的策略,本人对iptables还不是很熟练,所以请等待日后更新