端口转发(portmap)只能在本地运行

有四个主机

hostA winXP

hostB Win2003

hostC Linux RHEL

hostD Linux RHEL

hostA不能直接连接到C和D,但B可以

hostA使用VPN连接到hostB

hostB和hostC属于同一个子网1

hostD在子网2中

从hostA我需要通过SSH连接到hostC和hostD。

现在我可以这样做了:

1.通过RDPlogin从hostA连接到hostB,然后:

2.开始腻子客户端。

我想省略步骤1,并直接从A连接到C和D.

在主机B上,我有pipe理帐户和configuration端口转发如下​​:

netsh接口portproxy add v4tov4 listenport = N1 connectaddress = hostC_IP connectport = N2

netsh接口portproxy add v4tov4 listenport = N3 connectaddress = hostD_IP connectport = N2

netsh interface portproxy显示全部:

在IPv4上收听:连接到IPv4:
地址端口地址端口
 --------------- ---------- --------------- ----------
  * N1 hostC_IP N2
  * N3 hostD_IP N2

现在从主机B我可以连接到C和D:

ssh localhost:N1

ssh localhost:N3

从hostA ssh hostB:N1也可以,但ssh hostB:N3不

我猜想原因可能是不同的子网,仍然不知道如何解决这个问题。 我该怎么办?

[我以前从来没有听说过portproxy,所以这可能是无稽之谈]

看起来portproxy是为了启用IPv6访问而编写的( http://www.sixxs.net/wiki/PortProxy)(http://technet.microsoft.com/en-us/library/cc776297%28WS.10%29 。 aspx )

这篇文章http://support.microsoft.com/kb/555744说:

Symtpons:“端口redirect的规则是通过使用命令设置,但不起作用。

原因:“该命令被发送到IPV6MON.DLL帮助程序,因此只有在安装IPv6协议时才能使用。

解决方法:“安装IPv6协议”。

既然本地工作,而另一方不可能不相关,但应该检查。

[你考虑过安装一个ssh服务器吗?]