iptables 53redirect到另一个端口,不能正常工作

我在8053上运行DNS服务器,在8080上运行HTTP服务器。我有两行:

iptables -A PREROUTING -t nat -p tcp --dport 80 -j REDIRECT --to-ports 8080 iptables -A PREROUTING -t nat -p udp --dport 53 -j REDIRECT --to-ports 8053 

第一行工作,我可以去端口80,并获得http。 但是第二个不是。 如果我以root身份在53上运行我的DNS,它就可以工作。 但是,如果我运行非根和iptables的REDIRECT,它不会回答挖:

 dig @127.0.0.1 -p53 pro.uptime.com 

帮帮我?

您还需要允许这些包,不仅redirect它们。

 iptables -A PREROUTING -t nat -p tcp --dport 80 -j REDIRECT --to-ports 8080 iptables -A INPUT -p tcp --dport 8080 iptables -A PREROUTING -t nat -p udp --dport 53 -j REDIRECT --to-ports 8053 iptables -A INPUT -p udp --dport 8053