如何在Ubuntu下为其他机器映射/转发端口?(本地主机 555 -> 192.168.0.21:555)

mar*_*arc 5 networking port forwarding ubuntu

知道如何在为远程 IP 移植的 Ubuntu 计算机上创建“虚拟”侦听端口吗?

我的意思是,像这样的事情。

当我编写telnet 127.0.0.1 555 时,我想在端口555(我有我的服务器)上连接到计算机192.168.0.21

任何的想法?

Joh*_*nik 4

我认为iptables正是您正在寻找的,并且它应该已经随 Ubuntu 一起安装了。

这可能需要一些尝试和错误,但类似下面的命令应该可以解决问题:

iptables -A PREROUTING -t nat -i eth1 -p tcp --dport 555 -j DNAT --to 192.168.0.21:555
iptables -A INPUT -p tcp -m state --state NEW --dport 555 -i eth1 -j ACCEPT
Run Code Online (Sandbox Code Playgroud)

有关这些命令的作用的更详细说明可以在此处找到。

另一种方法是使用名为rinetd的程序,该程序可通过 synaptic 在 Ubuntu 中使用。

将 TCP 连接从一个 IP 地址和端口重定向到另一 IP 地址和端口。rinetd 是一个单进程服务器,它处理与文件 /etc/rinetd.conf 中指定的地址/端口对的任意数量的连接。

这里有一个关于如何使用它的很好的指南