我使用的是 Ubuntu 12.04.2 LTS
cat /proc/sys/net/ipv4/ip_forward
0
我使用以下命令重置了 iptables:
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
我想要将发往端口 80 的流量重定向到 1337。以下命令可实现此目的:
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 1337
iptables -t nat -A OUTPUT -o lo -p tcp --dport 80 -j REDIRECT --to-ports 1337
我继续执行以下命令来阻止除 SSH 之外的所有传入流量,并且我希望端口重定向仍然有效:
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport ssh -j ACCEPT
iptables -A INPUT -j DROP
但端口重定向不再起作用。
添加iptables -A INPUT -p tcp --dport 80 -j ACCEPT
之前iptables -A input -j DROP
也不会使其起作用。
我还需要添加或更改什么?
答案1
为了阻止 1337 上的直接流量,您可以执行以下操作:
iptables -A INPUT -p tcp -s 127.0.0.1/8 --dport 1337 -j ACCEPT
因此只接受来自主机本身(即重定向)的流量。