首页 > 解决方案 > iptables DNAT 不能在 2 个接口之间进行端口转发

问题描述

我有一个对我的网络可见的接口和一个环回(127.0.0.1),

ens192 -> 192.168.22.100

lo -> 127.0.0.1

我有一个服务在端口 3333 的 lo 接口上运行,我想通过 ens192 通过端口 4444 到达该端口

192.168.22.100:4444 -> 127.0.0.1:3333

我已经在 StackOverflow 上尝试了所有可用的解决方案,但它不起作用。

标签: iptables

解决方案


sysctl -w net.ipv4.conf.[IFNAME].route_localnet=1

iptables -t nat -A PREROUTING -p tcp -d 192.168.22.100 --dport 4444 -j DNAT --to 127.0.0.1:3333

iptables -A INPUT -i ens192 -p tcp --dport 4444 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o ens192 -p tcp --sport 4444 -m state --state ESTABLISHED -j ACCEPT

推荐阅读