我在 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,它可以工作。但如果我以非 root 身份运行 iptables REDIRECT,它不会回答 dig:
dig @127.0.0.1 -p53 pro.uptime.com
帮助?
答案1
您还需要允许这些包,而不仅仅是重定向它们。
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