![Windows 远程桌面端口转发 3390 到 3389 不起作用](https://linux22.com/image/1617108/Windows%20%E8%BF%9C%E7%A8%8B%E6%A1%8C%E9%9D%A2%E7%AB%AF%E5%8F%A3%E8%BD%AC%E5%8F%91%203390%20%E5%88%B0%203389%20%E4%B8%8D%E8%B5%B7%E4%BD%9C%E7%94%A8.png)
我无法让远程桌面通过 3389 以外的任何端口进行连接。我在路由器后面有两台机器。路由器支持 NAT/端口转发。两台机器都在 3389 上监听 RDP。
远程桌面可以在以下两种设置中工作......
WANIP:3389 -> LANIP1:3389
和...
WANIP:3389 -> LANIP2:3389
但是我希望能够同时访问两者。当我将一个外部端口更改为 3388 时...
WANIP:3389 -> LANIP1:3389
WANIP:3388 -> LANIP2:3389 <-- "Internal Error"
我无法连接到 LANIP2。LANIP1 工作正常。当我尝试连接时,RDP 给出“内部错误”,这与端口未打开时发生的超时不同。出于某种原因,如果外部端口与内部端口不同,RDP 将无法工作,我不知道为什么。这是 Windows 功能吗?
答案1
您正在尝试通过 WAN IP 上分配的端口访问内部 IP 上的端口。这当然行不通。
当您在网络内部时,您始终必须通过其内部 IP 地址和端口访问 IP 地址。
如果您在网络之外,则可以使用带有公共(备用)端口的 WAN IP 地址。
如果您在网络内部,并且使用 WAN IP 地址,除非您的路由器实际上正确理解发夹结构,否则路由器将在其自身网络之外搜索 WAN IP 地址,但找不到它。
这里的问题是,您成功连接到 LAN 机器,但是当反向连接时,它最终使用端口 3389,导致流量被重定向到 LAN IP1 而不是 LAN IP2。
由于您的路由器无法正确支持 NAT Hairpinning,因此解决此问题的方法是将注册表中 LAN IP2 的 RDP 端口更改为 3388,并制定 NAT 规则:3388 -> 3388