我有一台 Windows Server 2003 机器;启用了 IPv6:
Ethernet adapter Local Area Connection:
Connection-specific DNS Suffix . : newland.local
IP Address. . . . . . . . . . . . : 192.168.1.244
Subnet Mask . . . . . . . . . . . : 255.255.0.0
IP Address. . . . . . . . . . . . : 2001:470:████:████:███:████:████:████
IP Address. . . . . . . . . . . . : fe80::224:1dff:fe86:fdf2%4
Default Gateway . . . . . . . . . : 192.168.1.1
fe80::250:bfff:fe91:955f%4
我能使用 IPv4 和 IPv6 远程和本地连接到 IIS 服务器:
> telnet 127.0.0.1 80 (connects)
> telnet 192.168.1.244 80 (connects)
> telnet ::1 80 (connects)
> telnet fe80::224:1dff:fe86:fdf2 80 (connects)
TCPView 显示服务器正在监听端口 80:
笔记:这对于确定 Windows Server 2003做支持IPv6服务。
和我能使用 IPv4 本地和远程连接到终端服务:
> telnet 127.0.0.1 3389 (connects)
> telnet 192.168.1.244 3389 (connects)
但是我不能通过 IPv6 本地或远程连接到 RDP:
> telnet ::1 3389 (fails to connect)
> telnet fe80::224:1dff:fe86:fdf2 3389 (fails to connect)
我们可以看到系统正在监听3389:
除了为什么它不听在端口 3389 (ipv6) 上?
不幸的是,这不是防火墙的问题。除了我是本地连接(在这种情况下防火墙不适用)之外,防火墙也不适用:
答案1
RDP 仅限于侦听 0.0.0.0,即 IPv4。Windows 2003 的网络堆栈基于 Windows XP 堆栈。该堆栈事后添加了 IPv6,并且显示出来。Windows 2008 有一个“真正的”IPv6 堆栈,将提供更好的支持。
答案2
此命令可以解决问题。netsh interface portproxy add v6tov4 listenport=3389 connectaddress=127.0.0.1 connectport=3389
使用后,您将能够使用最新版本的远程桌面客户端通过 IPv6 连接到 WinXP/Win2k3 框。
问候 Viswanathan
答案3
看起来这是 2008 年解决的 Windows 2003 限制。