![如何将 TCP 从一个 IP 转发到另一个 IP?](https://linux22.com/image/1275444/%E5%A6%82%E4%BD%95%E5%B0%86%20TCP%20%E4%BB%8E%E4%B8%80%E4%B8%AA%20IP%20%E8%BD%AC%E5%8F%91%E5%88%B0%E5%8F%A6%E4%B8%80%E4%B8%AA%20IP%EF%BC%9F.png)
事情是这样的:我有一个软件在 127.0.0.1:port 上监听,而且只监听(我可以选择端口)。我希望它作为服务器工作并接受来自外部网络的连接。我如何将通信从(例如)192.168.0.1:port 转发到 127.0.0.1:port?
我正在使用 Ubuntu 11.04。尝试研究 iptables,但它们实际上并没有提供我想要存档的内容。
答案1
您应该更改软件正在监听的 IP 地址。
如果将其绑定到 IP 0.0.0.0 和端口 80,那么它将能够监听所有接口(127.0.0.1 和 192.168.0.1)。
答案2
您可以使用 SSH 轻松建立隧道。
类似于: ssh -L 3307:192.168.0.1:3306[电子邮件保护]将隧道流量从端口 127.0.0.1:3306 传输到 192.168.0.1:3307
答案3
您可以在防火墙中执行此操作(您应该使用防火墙)。我使用 Firestarter,它有一个简单的界面用于转发端口。