求助, Windows 远程桌面从前几天开始不能连接外网自定义的 ipv6 地址主机了

288 天前
MuJian  MuJian
一直用 widonws 远程桌面,相对于 ipv4 需要做局域网转发,我更喜欢用 ipv6 地址直连。因为我这都是华硕路由器,ipv6 也都需要经过防火墙,如果要远程桌面连接,必须防火墙开放 3389 端口,但是有个问题,开放 3389 后,这个局域网内所有 ipv6 设备的 3389 端口都暴漏在了公网下了,所以上个月想了个办法,通过 bat 脚本给 windows 设备手动指定一个 ipv6 地址,例如 xxxx:xxxx:xxxx:xxxx::5 ,这样我只需要在华硕路由器防火墙放行::5 的 3389 就行了。这样使用了 1 个月,个人还是挺满意的。但是前几天一台 win10 dell xps 设备突然这个手动指定的 ipv6 地址远程桌面连接不上了!尝试通过路由器分配的 ipv6 地址没问题,能够使用!我这还有一台 win11 的设备,一点问题没有,于是折腾了 2 天!发现 win10 设备作为 RDP 服务器,打开 TCP+UDP 后,连接不上,仅用 TCP 没问题; TCP+UDP 开启的情况下,需要指定安全层设置为 RDP 就能用了,用 ssl 不行!本来告一段落了,今天想着,没事就把这 win10 升级 win11 吧,毕竟另外一台 win11 这么用一点问题没有,啥特别设置都没有改,于是装上 win11 ,没想到 win11 下无论怎么设置,这个自定义个 ipv6 地址都不能被远程后面连接了,装好系统后是能用的,过一会一更新补丁和驱动就不能用了!真是无语了,另外一台笔记本就没问题!

通过查看 RemoteDesktopSerices-RdpCoreTS 日志

发现自定义 ipv6 地址连接失败的记录如下:(如果在同一局域网下用这种自定义 ipv6 地址能够成功!)

服务器已接受来自客户端 [2408:841d:22e4:84f3:31db:4b03:f566:9a08]:55956 的新 TCP 连接。
连接 RDP-Tcp#0 已创建
调用的接口方法: PrepareForAccept
调用的接口方法: SendPolicyData
PerfCounter 会话已启动,实例 ID 为 0
TCP 套接字读取操作失败,出现错误 121
RDP_TCP: 从 StateUnknown 转换以响应 Event_Disconnect 时遇到错误(错误代码 0x80070079)。
TCP 套接字写入操作失败,出现错误 121
调用的接口方法: OnDisconnected
服务器已终止到客户端的主 RDP 连接。
此连接期间,服务器在 0 秒内尚未发送数据或图形更新(Idle1: 0 ,Idle2: 0)。
传输隧道上服务器与客户端之间的通道 rdpinpt 已关闭: 0 。
传输隧道上服务器与客户端之间的通道 rdpcmd 已关闭: 0 。
传输隧道上服务器与客户端之间的通道 Microsoft::Windows::RDS::CoreInput 已关闭: 1 。
传输隧道上服务器与客户端之间的通道 rdplic 已关闭: 0 。


连接路由器分配的 ipv6 地址成功的日志如下

服务器已接受来自客户端 [2408:841d:22e4:84f3:31db:4b03:f566:9a08]:57786 的新 TCP 连接。
连接 RDP-Tcp#0 已创建
调用的接口方法: PrepareForAccept
调用的接口方法: SendPolicyData
PerfCounter 会话已启动,实例 ID 为 0
由于 Reason Code: 2(Server Configuration).,已禁用网络特性检测功能。
已使用传输隧道连接服务器和客户端之间的通道 rdplic: 0 。
已使用传输隧道连接服务器和客户端之间的通道 rdpcmd: 0 。
调用的接口方法: OnStartLicensing
调用的接口方法: AcceptConnection
客户端时区与 UTC 相差 [8] 小时;
连接 RDP-Tcp#0 使用显示器驱动程序 RDPUDD 。
......

从第六条开始不一样
由于 Reason Code: 2(Server Configuration).,已禁用网络特性检测功能。
不成功的没能禁用网络特性检测功能?
是不是要核查 ssl 证书?这个特性能够手动禁用吗?

有没有大佬给解解惑,真的现在是头大+糊涂,用了一个多月的方法,一更新就没了,关键是另外一台 win11 笔记本也更新到最新了,就没事……
1937 次点击
所在节点   程序员  程序员
12 条回复
e3c78a97e0f8
e3c78a97e0f8
288 天前
RDP bug 一大堆
我现在的做法是开一个 WireGuard server ,外面的机器先连 WireGuard ,再连 RDP 。这样不仅绕过了 Windows RDP server 的 bug ,还更安全,毕竟 RDP authentication 只能用密码有点不安全。
MuJian
MuJian
288 天前
@e3c78a97e0f8 wireguard 已经开了,但是还是喜欢 ipv6 直连,在外面不用先连接 wireguard 。
MuJian
MuJian
288 天前
部署了一个腾讯的免费 ssl 证书,貌似解决了 2 台 win11 之间的连接,但是 android rdp 连上就断……
sodulty
sodulty
288 天前
直接 ipv6 + DDNS 吧,找个域名就行,非常稳定,电脑上或路由器上整个 ddns-go 等服务。
MuJian
MuJian
288 天前
@sodulty 现在就是 ipv6+域名啊,一觉醒来莫名其妙的连 ssl 签名域名都不行了......
sodulty
sodulty
287 天前
@MuJian #5 那确实没遇到过,我这个也是腾讯云免费的 SSL 证书,安卓用 rd client 连 ipv6 没问题。防火墙的问题吗? ACL 规则用 MAC 地址来屏蔽试过没,爱快路由器可以的
MuJian
MuJian
287 天前
@sodulty 应该是 windows 的问题,不知道微软升级搞了什么,查不到质量。
Mumu2580
Mumu2580
287 天前
目前是 ipv6 全放行了,v6 地址多,每天定时重启一下路由器,快一年了,没出问题,要远程先 wol 然后,都是直接 ipv6 公网 rdp 。
Joeysergey
249 天前
一样的问题,现在发现通过 frp 就会报错而且无法连接,但是直连 ipv6 正常。局域网也正常
MuJian
249 天前
@Joeysergey 不知道是不是 windows 或者某个驱动的安全策略,只能使用系统当前使用的 ipv6 地址。
Joeysergey
248 天前
@MuJian #10 win11 某次更新后出现的问题,排查了 frp 和本地注册表设置防火墙之类都不行,修复系统也没用。现在只有用 zero 之类的了或者 ipv6 解决了。
YICHUJIFA
152 天前
刚用了 ipv6 +ddns-go 远程 3389 到 windows , 大家是怎么防止别人远程桌面登录呢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1039244

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX