如何选择目标转发地址?

如何选择目标转发地址?

SSH 权威指南说

假设您要将连接从本地计算机转发到remote.host.net。以下两个命令都有效:

$ ssh -L2001:localhost:143 remote.host.net
$ ssh -L2001:remote.host.net:143 remote.host.net

转发的连接是从远程计算机到环回地址或remote.host.net,并且在任何一种情况下,连接都保留在远程计算机上,并且不会通过网络进行。然而,这两个连接对于接收转发连接的服务器来说明显不同。这是因为连接的源套接字不同。与本地主机的连接似乎来自源地址127.0.0.1,而到remote.host.net的连接来自与该名称关联的地址

什么是“与该名称关联的地址”?

它与“源地址127.0.0.1”有何不同?

谢谢。

答案1

我们ssh暂时忽略,做一些更简单的事情。

如果你这样做

telnet localhost 143

localhost然后从到建立连接localhost

相反,如果你这样做

telnet my.ip.address 143

my.ip.address然后从到建立连接my.ip.address

在这两种情况下,我们都连接到同一台计算机上的端口 143,但源地址发生了变化。所以我们可以看到目标IP地址改变了源IP地址。

端口转发也是同样的道理ssh

在第一个版本中,您将连接到localhost,因此源是localhost.使用第二个版本,您将连接到服务器的主 IP 地址(remote.host.net 的 IP 地址),因此源来自该 IP 地址。

这不是一个ssh具体问题;这就是 IP 路由通常的工作方式。

相关内容