我有一台位于远程位置的 Windows XP 机器,需要在其上调试一个应用程序。
它有两张 LAN 卡,两张卡都可在不同的子网上访问互联网。问题与 LAN 卡 A 有关。我如何才能强制远程桌面(端口 3389)仅通过另一张 LAN 卡 B 进行,并确保所有其他流量都通过 LAN 卡 A 进行。
是否可以在 WinXP 的某处设置一些静态路由器规则?
/谢谢,
答案1
我认为答案是,如果接口 A 和 B 位于不同的子网上,则它们具有不同的 IP 地址。如果是这种情况,那么您可以在连接 RDC 时使用 B 的 IP 地址,而不是计算机名称。这应该可以保证接口 B 而不是 A 获得连接。
答案2
所有远程桌面和仅远程桌面?您不能,不能自动完成。当计算机决定将其发送到哪个设备时,它会查看路由表,这只是一组 IP 地址。因此,您需要确保您想要通过 RDP 连接到的任何 IP 地址都在卡 B 发出的路由集中。我鼓励您以这种方式设置 IP 地址和子网掩码,但您可以通过添加静态路由来作弊,如上所述微软的知识库。
答案3
您是否尝试路由出站流量或入站流量?
对于 Windows 本身,您可以设置静态路由规则(ROUTE ADD),但是这些规则不适用于特定端口,并且仅适用于传出流量(如果外部设备已经发现传入流量,则传入流量可能会使用另一条路由)。
这听起来确实像是您需要在交换机(托管交换机,即您实际上可以登录并编程的交换机)上执行的操作,或者可能是在某些支持高级流量配置的路由器型号上执行的操作。
您可以考虑的一种解决方法是,如果您尝试从外部连接到这台计算机(而不是从它运行连接)并且这是家庭设置,则配置路由器上的端口转发以将该端口上的流量发送到第二张卡的 IP 地址(您需要手动设置该卡的 IP,而不是使用 DHCP)。
或者,作为网关运行的 Linux 计算机也可以实现这一点,但这实际上只是一个非常昂贵的管理型交换机。
答案4
事实上,这是 XP 中一个非常严重的问题...它无法工作。
我测试过以下情况:Nic1 连接到我们的 LAN,Nic2 通过 WAN 连接到客户的 LAN。独立的 IP 范围、良好的子网掩码、良好且不同的 DNS 后缀和 DNS 服务器地址……但 XP 仍将始终尝试通过处理您登录的 Nic 进行连接。
我甚至做了一个疯狂的测试:重新启动,登录,然后在两张卡之间交换 LAN 电缆:然后它就可以工作了……直到您再次重新启动/登录,然后您应该再次交换电缆。
XP 中的多个网络处理存在错误...现在将在 Windows 7 中执行相同的测试 :-)