Windows 2003按端口路由

我有远程Windows 2003服务器与两个networking接口,如Cn1和Cn2。 我需要所有的stream量都通过Cn1,除了一个端口(对于我来说它是3389,rdp用于pipe理),通过Cn2工作。

目前,当我通过Cn1build立所有连接时,我完全失去了Cn2上的连接 – 并且无法通过Rn2通过Cn2连接到服务器。 现在我使用基于我的IP地址的静态路由(可以改变 – 所以这是不好的)。

两个接口在同一个networking上或不同的networking上?

哪一个是服务器的默认网关?

你从哪里连接?

RDP通常监听所有服务器的IP地址,所以你应该可以连接到其中的任何一个,除非某个防火墙(包括服务器的一个)阻塞你。

但是,如果以下所有情况都属实,则会出现所谓的“拆分路由”问题,您将无法连接:

  • 服务器在networkingA上有IP地址A,在networkingB上有IP地址B.
  • 服务器的默认网关位于networkingA上
  • 您正尝试连接到IP地址B
  • 您不直接连接到networkingB.

在这种情况下,您的数据包将到达IP地址B上的服务器,但是它会通过IP地址A将其答复发送到其默认网关,因为您的地址不在其可以直接访问的任何networking上; 所以这些数据包可能会,也可能会被中间的一些路由器丢弃,而这些路由器并不喜欢它们(并且有一个很好的理由)。


编辑:

一个可能的解决scheme可能是在服务器上设置一条静态路由,以便通过连接所经过的路由器来告诉它到达客户端所在的networking。

假设您有以下情况:

Network A: 192.168.1.0/24 Network B: 192.168.2.0/24 Network C: 10.1.2.0/24 A default gateway for network A with IP address 192.168.1.1 A router between network B and network C with two IP address: 192.168.2.1 and 10.1.2.1 Server's IP on network A: 192.168.1.10 Server's IP on network B: 192.168.2.10 Server's default gateway: 192.168.1.1 Your client's IP on network C: 10.1.2.3 Your client's default gateway: 10.1.2.1 

在这种情况下,您的连接将通过位于networkingB和networkingC之间的路由器,但是服务器会将其答复发送到networkingA的网关(因此分离路由问题)。

您可以添加静态路由到服务器,告诉它通过其他路由器到达networkingC:

 ROUTE ADD -p 10.1.2.0 MASK 255.255.255.0 192.168.2.1 

如果这是你的情况,静态路由解决scheme应该工作正常。

我还没有尝试过,但进入有问题的服务器上的terminal服务configuration,调出连接节点下的RDP-TCP协议的属性,单击networking适配器选项卡,单击networking适配器下拉并select适配器你希望RDP可以访问。