好吧,所以我有一个Ubuntu的盒子充当我的局域网的路由器/网关; 有3个网卡,2个用于WAN,1个用于本地networking。 它被设置为在需要时在WAN和故障转移之间进行负载平衡。 哦,我不得不join鱿鱼到方程式中。 它目前设置为NATredirecthttp / s端口到squid端口,如下所示:
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3126 iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 443 -j REDIRECT --to-port 3127
我相信它工作正常…但我不想停在那里。 我想尝试TPROXY,但我似乎无法使其工作。 access.log中没有stream量,客户端正在访问网站。
三angular路线是不可能的,我不认为我应该使用桥梁? 所以下面是我的尝试:
iptables -t mangle -A PREROUTING -i eth1 -p tcp --dport 80 -j TPROXY --on-ip 0.0.0.0 --on-port 3126 --tproxy-mark 0x1/0x1 iptables -t mangle -A PREROUTING -i eth1 -p tcp --dport 443 -j TPROXY --on-ip 0.0.0.0 --on-port 3127 --tproxy-mark 0x1/0x1 # this is supposed to mark wan traffic going back to lan? iptables -t mangle -A PREROUTING -i eth2 -p tcp -d 192.168.1.0/24 -j MARK --set-mark 0x1/0x1 iptables -t mangle -A PREROUTING -i eth3 -p tcp -d 192.168.1.0/24 -j MARK --set-mark 0x1/0x1 ip rule add fwmark 0x1/0x1 table 100 ip route add local 0.0.0.0/0 dev lo table 100
那么,我不知道如果TPROXY甚至可以用我的设置。 如果不可能的话,我现在就得放弃了。 但是,如果是这样,任何人都会知道如何?
如果你的networking拓扑结构使用一个位于路由器内部的squid盒,它将数据包传递给Squid。 那么你将需要明确地添加一些额外的configuration。 像什么configuration?
谢谢。
我认为我得到了它的工作 – 我已经在维基使用了转移链,但明确定义了互联网连接的2个接口:)
对于那些感兴趣的,这是我最后的路由/防火墙规则: 点击这里