Squid透明代理安装与设置
环境如下:
操作系统:CentOS 6.4
eth0:192.168.100.1 (LAN口)
eth2:200.168.10.1 (WAN口)
一.iptables的配置
1.啟動ip_forward(IP轉發)
修改/etc/sysctl.conf
將net.ipv4.ip_forward = 1
并運行sysctl -p,使之生效
[root@nagios~]#vim/etc/sysctl.conf
[root@nagios~]#sysctl-pnet.ipv4.ip_forward=1net.ipv4.conf.default.rp_filter=1net.ipv4.conf.default.accept_source_route=0kernel.sysrq=0kernel.core_uses_pid=1net.ipv4.tcp_syncookies=1kernel.msgmnb=65536kernel.msgmax=65536kernel.shmmax=68719476736kernel.shmall=4294967296
2.清空iptables所有表的規則并查看nat表
[root@nagios~]#iptables-F[root@nagios~]#iptables-tnat-F[root@nagios~]#iptables-tmangle-F[root@nagios~]#iptables-tnat-LChainPREROUTING(policyACCEPT)targetprotoptsourcedestinationChainPOSTROUTING(policyACCEPT)targetprotoptsourcedestinationChainOUTPUT(policyACCEPT)targetprotoptsourcedestination
3.设置端口重定向
[root@nagios~]#iptables-tnat-APREROUTING-ptcp--dport80-jREDIRECT--to-port3128
#在NAT表的PREROUTING鏈加目標動作REDIRECT,將入站的數據包進行重定向,將80端口重定向到3128端口
4.设置iptables路由DNS数据
[root@nagios~]#iptables-tnat-APOSTROUTING-s192.168.10.0/24-pudp--dport53-d202.96.128.86-jSNAT--to-source200.168.10.1[root@nagios~]#iptables-tnat-APOSTROUTING-s192.168.10.0/24-ptcp--dport53-d202.96.128.86-jSNAT--to-source200.168.10.1
說明:可以看出上面DNS是通過服務器的NAT功能來實現,202.96.128.86是外部DNS服務器地址,而200.168.10.1是我們WAN口的IP。如果外部DNS服務器經常變更的話,可以直接將DNS忽略掉:
iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -p tcp --dport 53 -j SNAT --to-source 200.168.10.1
iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -p udp --dport 53 -j SNAT --to-source 200.168.10.1
5.保存iptables设置及重启iptables服务
[root@Nagios~]#serviceiptablessave[root@Nagios~]#serviceiptablesrestartiptables:Savingfirewallrulesto/etc/sysconfig/iptables:[OK][root@Nagios~]#iptables-tnat-LChainPREROUTING(policyACCEPT)targetprotoptsourcedestinationREDIRECTtcp--192.168.10.0/24anywheretcpdpt:httpredirports3128ChainPOSTROUTING(policyACCEPT)targetprotoptsourcedestinationSNATudp--192.168.10.0/24202.96.128.86udpdpt:domainto:200.168.10.1SNATtcp--192.168.10.0/24202.96.128.86tcpdpt:domainto:200.168.10.1ChainOUTPUT(policyACCEPT)targetprotoptsourcedestination
二.Squid的安装与配置
我們使用yum來安裝Squid:
[root@nagios~]#yum-yinstallsquid
備份squid的配置文件,防止因為配置錯誤
[root@nagios~]#cp/etc/squid/squid.conf/etc/squid/squid.conf_bak
配置squid.conf
找到
http_port 3128修改成http_port 192.168.100.10:3128 transparent
并添加
visible_hostnamesquidaclinnetsrc192.168.10.0/24http_accessallowinnethttp_accessdenyall
下面就運行squid -z進行初始化
[root@nagios~]#squid-z2013/05/2913:41:43|CreatingSwapDirectories
啟動squid代理服務器
[root@nagios~]#servicesquidstart
重新啟動iptables服務
[root@nagios~]#serviceiptablesrestart
并將squid及iptables設置成開機啟動
[root@nagios~]#chkconfig--level35squidon[root@nagios~]#chkconfig--level35iptableson
客户端网络设置: DNS设置为转发的DNS IP
其他设置:
隐藏错误页面Squid版本
httpd_suppress_version_stringon
不记录访问日志
cache_store_lognonecache_access_log/dev/nullcache_log/dev/null
隐藏Header头部信息(3.0以后版本)
request_header_accessViadenyallrequest_header_accessServerdenyallrequest_header_accessX-Cachedenyallrequest_header_accessX-Cache-Lookupdenyall
如果是2.8之前的版本
header_accessViadenyallheader_accessServerdenyallheader_accessX-Cachedenyallheader_accessX-Cache-Lookupdenyall
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。