在真正考虑过咀嚼我自己的手腕并整夜梦想着 IP + 蛮力谷歌搜索/尝试任何我可以让我的数字手指放在我身上的东西之后,我设法把一些真正有效的东西放在一起。我不知道为什么的技术原因,所以如果你能提供设置的解释,请这样做!:D
PS:解释中的所有内容都是通过命令行完成的
PS:这不是最终解决方案,但它可以回答我自己的问题。
这里是:
第 1 步:必须在盒子上启用 IP 转发:
vim /etc/sysctl.conf
//查找并取消注释以下内容
net.ipv4.ip_forward=1
net.ipv4.conf.all.rp_filter=1
步骤2:添加环回规则(这更适用于覆盖所有端口时,显然很多应用程序都需要它?
iptables -I INPUT -i lo -j ACCEPT
Step 3. 添加绕过443端口的规则:(eth1为internet接口,xxxx/eth0为LAN接口)
iptables -t filter -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t filter -A FORWARD -i eth0 -p tcp --dport 443 -j ACCEPT
iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source x.x.x.x
Step 4. 最后是让 Squid 透明的规则:(xxxx 是 LAN 接口的 IP)
iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j DNAT --to-destination x.x.x.x:3128
iptables -t nat -A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128