使用 iptables 重定向到本地主机

使用 iptables 重定向到本地主机

我想重定向从 到 的传出流量(无论是来自本地主机还是其他地方,因为机器是网关192.168.0.2:80localhost:80

我尝试在 nat 表中设置此规则:

-A PREROUTING -p tcp -d 192.168.0.2 --dport 80 -j DNAT --to-destination 127.0.0.1:80

当我输入时,我最终得到以下规则iptables -t nat -L

DNAT       tcp  --  anywhere             192.168.0.2          tcp dpt:http to:127.0.0.1:80

但这似乎不起作用。我究竟做错了什么 ?

答案1

在较新的内核上,这可以通过启用“route_localnet”来实现

sysctl -w net.ipv4.conf.all.route_localnet=1

答案2

尝试仔细检查您的环回 IP 地址 (127.0.0.1) 是否设置为可到达localhost。对两者进行 Ping,以确保它们都得到良好的响应:

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination 
  1. 查看你的 iptables:

    sudo iptables -L -n

  2. 尝试添加此规则

    iptables -t nat -A OUTPUT -p tcp --dport 80 -d 192.168.0.2 -j DNAT --to-destination 127.0.0.1:80

相关内容