![将 IP 地址转发到 localhost ssh 隧道](https://linux22.com/image/183072/%E5%B0%86%20IP%20%E5%9C%B0%E5%9D%80%E8%BD%AC%E5%8F%91%E5%88%B0%20localhost%20ssh%20%E9%9A%A7%E9%81%93.png)
我已经设置了 ssh 隧道,以便可以访问服务器私有子网上的 HTML 设备。例如:
$ ssh [email protected] -L 48884:192.168.100.14:80
允许我输入http://localhost:48884
本地浏览器并连接到子网设备网页。
现在,我有一个使用192.168.100.14
本地计算机上的地址的应用程序,我想设置一个 IPTables 条目,以便它将请求转发到192.168.100.14:80
to localhost:48884
。
这会接近我想要的吗?
# iptables -A PREROUTING -t nat -p tcp -d 192.168.100.14 --dport 80 -j DNAT --to 127.0.0.1:48884
答案1
# Any Traffic destined to TCP 80 on eth0 must be forwarded to TCP 48884 on loopback interface
sudo iptables -t nat -I PREROUTING -p tcp -i eth0 --dport 80 -j DNAT --to-destination 127.0.0.1:48884
# Then allow forwarding from standard NIC to loopback (assuming eth0 is the standard NIC)
sudo sysctl -w net.ipv4.conf.eth0.route_localnet=1