IPtablesredirect/端口转移问题问题

我试图设置一个透明的代理使用IPtables,但我没有太多的运气。

我希望做的是将所有传出的stream量转发到端口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失败:操作不允许

谢谢

问题是你的规则太严格了。

 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 

第一条规则将所有的 TCPstream量redirect到端口9040,而不是试图判断它是否可以代理(例如HTTP)或不可代理(例如SSH)。

第二条规则将丢弃所有stream量,TCP,UDP,whathaveyou。

您应该删除第二条规则,并将OUTPUT链的策略设置为ACCEPT 。 这将允许所有的stream量通过。 (虽然它不能解决非代理的stream量被redirect到代理的问题)。