CentOS 7 配置squid 透明代理(測試筆記)
一:計劃進行的方式,
1.系統安裝的是centos 7 min。
2.squid是直接yum install squid.service安裝的。
3.因為對firewall-cmd不瞭解,所以先按照從前方式使用iptables安裝完成以後,在使用firewall-cmd來操作。
4.系統裝好以後,首先進行2個動作如下:
4.1 關閉selinux。
a.vi /etc/sysconfig/selinux
b.修改SELINUX=enforcing為disabled
4.2 開啟路由轉發。
a.vi /etc/sysctl.conf
b.輸入net.ipv4.ip_forward=1
二.squid安裝配置:
1. 安裝 yum install squid,需要按2個y.
2. cd /etc/squid
3. cp squid.conf squidbackup.conf
4. vi squid.conf
5.刪除cache_dir前面的#號,acl根據自己的需求定義,在根據自己的需求註釋掉deny的阻止語句。
6. http_port 3128 後面加個單詞 transparent
7.儲存退出,squid -k parse 檢查配置檔案,squid -zX 初始化。
8.systemctl enable squid.service 開機啟動
三.iptables配置安裝:
1.systemctl stop firewall.service
2. systemctl disable firewalld.service
3.yum install iptables-services
4.cd /etc/sysconfig/
5.vi iptables註釋*filter中2條帶REJECT的規則。
6.iptables-restore iptables
7.cp iptables iptablesbackup
8.rm iptables
9.iptables -t nat -F
10.iptables -t nat -A PREROUTING -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
11.iptables -t nat -A POSTROUTING -j SNAT --to 網絡卡ip
12.rm iptables
13.service iptables save
14.客戶機配置閘道器,測試。
四.準備啟用firewall-cmd,關閉iptables
1.待續····················
備註:
1.實際上透明代理的iptables只需要nat連結串列的存在,並且加入iptables -t nat -A PREROUTING -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128就可以了,
但是這裡必須iptables -t nat -A POSTROUTING -j SNAT --to 網絡卡ip,不是因為透明代理這個是必須的,而是因為我的出口裝置進行了類似於ip認證的策略,如果沒有這句,防火牆將進行阻斷。