我现在正在使用 squid。我运行 4 个 squid 来实现负载平衡,并且尝试更改我的 iptables 规则。
这是我现在的规则。
iptables -t nat -A PREROUTING -p tcp --dport 443 -m state --state NEW -m statistic --mode nth --every 4 --packet 0 -j REDIRECT --to-port 4001
iptables -t nat -A PREROUTING -p tcp --dport 443 -m state --state NEW -m statistic --mode nth --every 3 --packet 0 -j REDIRECT --to-port 4002
iptables -t nat -A PREROUTING -p tcp --dport 443 -m state --state NEW -m statistic --mode nth --every 2 --packet 0 -j REDIRECT --to-port 4003
iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-port 4004
我尝试使用 tproxy 进行如下更改
iptables -t mangle -N DIVERT
iptables -t mangle -A DIVERT -j MARK --set-mark 1
iptables -t mangle -A DIVERT -j ACCEPT
iptables -t mangle -A PREROUTING -p tcp -m socket -j DIVERT
iptables -t mangle -A PREROUTING -p tcp --dport 443 -m state --state NEW -m statistic --mode nth --every 4 --packet 0 -j TPROXY --tproxy-mark 0x1/0x1 --on-port 4001
iptables -t mangle -A PREROUTING -p tcp --dport 443 -m state --state NEW -m statistic --mode nth --every 3 --packet 0 -j TPROXY --tproxy-mark 0x1/0x1 --on-port 4002
iptables -t mangle -A PREROUTING -p tcp --dport 443 -m state --state NEW -m statistic --mode nth --every 2 --packet 0 -j TPROXY --tproxy-mark 0x1/0x1 --on-port 4003
iptables -t mangle -A PREROUTING -p tcp --dport 443 -j TPROXY --tproxy-mark 0x1/0x1 --on-port 4004
当我使用新的 iptables 运行时,只有 4004 端口在工作。
我的规则有什么问题?