我有一台远程 Windows 2003 服务器,该服务器有两个网络接口,例如 Cn1 和 Cn2。我需要所有流量都通过 Cn1,除了一个端口(对我来说是 3389,用于管理的 rdp)通过 Cn2 工作。
目前,当我设置所有连接都通过 Cn1 工作时,我完全失去了通过 Cn2 的连接 - 并且无法通过 Cn2 上的 RDP 连接到服务器。现在我使用基于我的 IP 地址的静态路由(可以更改 - 所以这很糟糕)。
答案1
这两个接口在同一个网络上还是在不同的网络上?
服务器的默认网关在哪一个上?
您从哪里转机?
RDP 通常会监听所有服务器的 IP 地址,因此您应该能够连接到其中任何一个,除非某些防火墙(包括服务器的防火墙)阻止您。
但如果以下全部是真的,你会遇到所谓的“分割路由”问题,并且你将无法连接:
- 服务器在网络 A 上有 IP 地址 A,在网络 B 上有 IP 地址 B
- 服务器的默认网关位于网络 A
- 您正在尝试连接到 IP 地址 B
- 您没有直接连接到网络 B
在这种情况下,您的数据包将到达 IP 地址 B 上的服务器,但它将通过 IP 地址 A 将其答复发送到其默认网关,因为您的地址不在任何它可以直接到达的网络上;所以这些数据包可能会被中间的某个路由器丢弃,而这些路由器不会喜欢它们(这是有充分理由的)。
编辑:
一个可能的解决方案是在服务器上设置静态路由,以便告诉它通过连接所经过的同一路由器到达客户端所在的网络。
假设您有以下场景:
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
在这种情况下,您的连接将通过位于网络 B 和网络 C 之间的路由器,但服务器会将其答复发送到网络 A 的网关(因此出现分割路由问题)。
您可以向服务器添加静态路由,以告诉它通过另一个路由器到达网络 C:
ROUTE ADD -p 10.1.2.0 MASK 255.255.255.0 192.168.2.1
如果这是您的情况,静态路由解决方案应该可以正常工作。
答案2
我还没有尝试过,但是进入相关服务器上的终端服务配置,调出连接节点下的 RDP-TCP 协议的属性,单击网络适配器选项卡,单击网络适配器下拉菜单并选择您希望 RDP 可访问的适配器。