V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
MuJian
V2EX  ›  程序员

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

  •  
  •   MuJian · 10 天前 · 890 次点击
    一直用 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 笔记本也更新到最新了,就没事……
    8 条回复    2024-05-10 19:04:15 +08:00
    e3c78a97e0f8
        1
    e3c78a97e0f8  
       10 天前
    RDP bug 一大堆
    我现在的做法是开一个 WireGuard server ,外面的机器先连 WireGuard ,再连 RDP 。这样不仅绕过了 Windows RDP server 的 bug ,还更安全,毕竟 RDP authentication 只能用密码有点不安全。
    MuJian
        2
    MuJian  
    OP
       10 天前
    @e3c78a97e0f8 wireguard 已经开了,但是还是喜欢 ipv6 直连,在外面不用先连接 wireguard 。
    MuJian
        3
    MuJian  
    OP
       10 天前
    部署了一个腾讯的免费 ssl 证书,貌似解决了 2 台 win11 之间的连接,但是 android rdp 连上就断……
    sodulty
        4
    sodulty  
       10 天前
    直接 ipv6 + DDNS 吧,找个域名就行,非常稳定,电脑上或路由器上整个 ddns-go 等服务。
    MuJian
        5
    MuJian  
    OP
       10 天前 via Android
    @sodulty 现在就是 ipv6+域名啊,一觉醒来莫名其妙的连 ssl 签名域名都不行了......
    sodulty
        6
    sodulty  
       10 天前
    @MuJian #5 那确实没遇到过,我这个也是腾讯云免费的 SSL 证书,安卓用 rd client 连 ipv6 没问题。防火墙的问题吗? ACL 规则用 MAC 地址来屏蔽试过没,爱快路由器可以的
    MuJian
        7
    MuJian  
    OP
       10 天前 via Android
    @sodulty 应该是 windows 的问题,不知道微软升级搞了什么,查不到质量。
    Mumu2580
        8
    Mumu2580  
       9 天前 via Android
    目前是 ipv6 全放行了,v6 地址多,每天定时重启一下路由器,快一年了,没出问题,要远程先 wol 然后,都是直接 ipv6 公网 rdp 。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3745 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 10:15 · PVG 18:15 · LAX 03:15 · JFK 06:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.