iptables 端口转发 lo web 服务器

iptables 端口转发 lo web 服务器

我在 12345 端口上有一个本地 Web 服务器(无法更改),我想通过命令行中的 iptables 从 lo 转发端口。允许转发。

`iptables -t nat -A PREROUTING -i lo -p tcp --dport 8080 -j DNAT --to-destination 10.0.2.15:12:125`

。没有错误,但是当我从浏览器登录时(127.0.0.1:8080)不起作用。当我转到 IP 服务器(10.0.2.15:12345)时,一切正常。我做错了什么?

抱歉,如果文中有很多错误,它是使用谷歌翻译从乌克兰语翻译过来的。

答案1

设想:

Web Server IP = 10.0.2.15 (eth0)
Hardcoded Listening Port = 12345/TCP
TCP Forward = from 10.0.2.15:8080 to 127.0.0.1:12345

默认情况下,禁用从标准 NIC ( eth0) 到环回接口 ( lo) 的端口转发。删除之前的 iptables 规则并执行以下操作:

# Forward any traffic destined to TCP 8080 on eth0 to 12345 on loopback
$ sudo iptables -t nat -I PREROUTING -p tcp -i eth0 --dport 8080 -j DNAT --to-destination 127.0.0.1:12345
# Then allow forwarding from standard NIC to loopback (assuming eth0 is the standard NIC)
$ sudo sysctl -w net.ipv4.conf.eth0.route_localnet=1

相关内容