一:计划进行的方式,
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认证的策略,如果没有这句,防火墙将进行阻断。