透明代理和无代理的 Iptables 规则

透明代理和无代理的 Iptables 规则

你好,我正在使用 redsocks 和 iptables 端口重定向规则来设置透明代理,并且运行良好,但我需要为非代理访问、域和建立 iptables 规则,domain1.comdomain2.com10.0.0.0/8 我的实际重定向规则。

iptables -t nat -A OUTPUT -o eth0 -p tcp -m tcp --dport 80 -j DNAT --to-destination 127.0.0.1:5123
iptables -t nat -A OUTPUT -o eth0 -p tcp -m tcp --dport 443 -j DNAT --to-destination 127.0.0.1:5124

其中 ports51235124是 redsocks 的端口

是否有可能绕过所需域和 IP 的端口重定向??

答案1

您可以在 DNAT 规则之前定义一条 ACCEPT 规则。与 iptables 中通常的情况一样,将应用第一个匹配的规则,不再应用其他规则(可能会出现类似 LOG 的异常)。因此,请像您建议的那样,在 -j DNAT 规则之前为您的内部网络定义一条带有 -j ACCEPT 的规则。

源 IP 可以在 -s 10.0.0.0/8 中定义,可以使用名称,但它将转换为 IP。IP 不会被刷新。请记住,如果您使用主机名称,DNS 必须可用!

iptables -t nat -A OUTPUT -o eth0 -s 10.0.0.0/8 -p tcp -m tcp --dport 80 -j ACCEPT
iptables -t nat -A OUTPUT -o eth0 -p tcp -m tcp --dport 80 -j DNAT --to-destination 127.0.0.1:5123
iptables -t nat -A OUTPUT -o eth0 -s 10.0.0.0/8 -p tcp -m tcp --dport 443 -j ACCEPT
iptables -t nat -A OUTPUT -o eth0 -p tcp -m tcp --dport 443 -j DNAT --to-destination 127.0.0.1:5124

相关内容