IPtables 重定向/端口转发问题

IPtables 重定向/端口转发问题

我正在尝试使用 IPtables 设置透明代理,但运气不佳。

我希望将所有传出流量转发到端口 9040,并阻止其他所有流量。有什么想法吗?

iptables -t nat -A OUTPUT ! -o lo -p tcp -m owner --uid-owner Mark -m tcp -j REDIRECT --to-ports 9040 

iptables -A OUTPUT -m --uid-owner Mark -j DROP

我收到以下错误 -

(警告):UDP 写入 68.32.239.182:21755 失败:操作不允许

谢谢

答案1

问题在于你的规则太严格了。

iptables -t nat -A OUTPUT ! -o lo -p tcp -m owner --uid-owner Mark -m tcp -j REDIRECT --to-ports 9040 
iptables -A OUTPUT -m --uid-owner Mark -j DROP

第一条规则重定向全部 TCP流量到端口 9040,而不试图辨别它是可代理的(例如 HTTP)还是不可代理的(例如 SSH)。

第二条规则被取消全部流量、TCP、UDP、随便什么。

您应该删除第二条规则,并将OUTPUT链的策略设置为ACCEPT。这将允许所有流量通过。(尽管它不会解决非代理流量被重定向到代理的问题)。

相关内容