ip 转发远程连接到仅侦听本地主机的套接字?

ip 转发远程连接到仅侦听本地主机的套接字?

我必须使用特定端口将数据从 PC1 传输到 PC2,但 PC2 上打开的套接字仅侦听本地主机。有没有办法“欺骗”套接字接受来自 PC1 的连接?

答案1

您可以ssh与端口转发一起使用。

例如

ssh <remotehost> -L 1234:<target>:5678

此命令将您连接到远程主机,并将本地端口 1234 连接到名为 的服务器上的远程端口 5678 <target>

在您的情况下,您<target>localhost直接连接到目标主机。

答案2

如果您的应用程序绑定到本地主机,转发该端口的唯一方法是将您的请求 NAT 到您的环回接口。因此,您可以通过执行以下操作来实现这一目标:

添加 iptables 规则:

iptables -t nat -A PREROUTING -p tcp --dport 1234 -j DNAT --to 127.0.0.1:5678

现在,来自目标计算机上端口 1234 的每个请求都将转发到 127.0.0.1:5678。

然后不要忘记执行以下操作:

启用IP转发:

echo 1 /proc/sys/net/ipv4/ip_forward

启用路由本地网:

echo 1 /proc/sys/net/ipv4/conf/eth0/route_localnet

相关内容