V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
asip1rn
V2EX  ›  宽带症候群

家里有公网 ipv6 如何在外面 rdp 远程家里电脑

  •  
  •   asip1rn · 1 天前 · 2286 次点击
    我的情况是这样。
    家里宽带 ipv4 没有公网 ip,ipv6 有,路由下的每台设备都是公网 ipv6

    目前需求是在外面可以通过 winrdp 远程连接家里的 pc ,之前捣鼓了很久 ipv4 最后放弃,把路由器和 pc 的防火墙全关了,在外面直接输入 pc 的 ipv6 地址,能连上,延迟也尚可。
    问题是家里这个电脑的 ipv6 地址是动态的,一直在变化,我的 pc 还设置了休眠。每次唤醒 ipv6 都会变,为了获取到最新的 ipv6 我给路由器(华硕)搞了 ddns 每次需要连接 先通过域名进路由器的控制页面,去 dhcp 服务器查 pc 最新的 ipv6 地址,很不方便,而且 win 上 ipv6 的地址只要不关机会一直累积通常都会显示 10 几个 我需要一条一条去试真的很麻烦,连接之前准备工作都需要 10 分钟
    有什么好的办法可以让 pc 不安装任何客户端或者服务端,就能远程解析到最新的 ipv6 地址吗
    38 条回复    2024-12-27 14:28:25 +08:00
    kkk9
        1
    kkk9  
       1 天前   ❤️ 1
    有现成的 ddns-go 不用,搁着不安装客户端服务端的瞎折腾,你自己写 PowerShell 吧。

    $ipv6Addresses = (Get-NetIPAddress -AddressFamily IPv6 | Where-Object { $_.PrefixOrigin -eq "RouterAdvertisement" } | Where-Object { $_.SuffixOrigin -eq "Random" }).IPAddress
    badgv
        2
    badgv  
       1 天前 via Android
    关闭设备的 ipv6 隐私扩展,配置设备走 EUI64 自动配置 ipv6 地址,路由器使用 RA 发地址,这样知道路由器的 ipv6 地址(前 64 位),就知道了指定设备的 ipv6 地址(路由的前 64 位+设备 mac 生成固定后 64 位),或者再进一步,直接在路由器做全内网设备的 ddns(脚本)
    lijiangming
        3
    lijiangming  
       1 天前 via Android
    我家是 ipv4 ,Windows 打开远程桌面服务,然后路由器配置端口 3389 转发就行
    lijiangming
        4
    lijiangming  
       1 天前 via Android
    可以在花生壳上申请一个免费的壳域名,我家路由器华为 tc7102 可以配置,以后就能通过域名,而不用记住 IP
    wuzhewuyou
        5
    wuzhewuyou  
       1 天前 via Android   ❤️ 3
    路由开 vpn 之类的工具,连上 vpn 就一个局域网了,再用电脑的 ipv4 就可以了
    lcy630409
        6
    lcy630409  
       1 天前
    windows 是有计划任务的,每隔 1 分钟检测 ipv6 地址 不同就更新域名
    不会代码么?只要是语言代码都能搞
    MuJian
        7
    MuJian  
       1 天前
    win 系统固定 ipv6 后缀,powershell 管理员模式下面输入命令
    netsh interface ipv6 set privacy state=disable
    set-netipv6protocol -randomizeidentifiers disabled

    重启无线网卡或者重启系统生效

    华硕路由器防火墙 ipv6 那放行 “::Win ipv6 后缀”,3389 端口,both ,upd 和 tcp 都放行。

    用软件或者脚本更新 win ipv6 地址到 ddns 。
    ouqihang
        8
    ouqihang  
       1 天前 via Android
    dynv6 这个 ddns 服务商支持 ipv6 。
    yangzzzzzz
        9
    yangzzzzzz  
       1 天前
    ddns-go
    blackbookbj277
        10
    blackbookbj277  
       1 天前   ❤️ 2
    用网易的 uu 远程,省心。
    Ipsum
        11
    Ipsum  
       1 天前
    不如换个思路,家里开个 wg 的 vpn 。先连回家,再用 v4 的局域网 ip 去连?
    或者直接 tailscale 一把锁,联网就交给 ts 自己去玩吧。
    archer2ee
        12
    archer2ee  
       1 天前
    tailscale 解君愁
    sunfly
        13
    sunfly  
       1 天前
    我是公司宽带只有 ipv4 ,怎么直连到家里的公网 ipv6 。这个问题貌似无解了。
    lihua
        14
    lihua  
       1 天前
    zerotier 组网 + 远程桌面
    JJBOOM
        15
    JJBOOM  
       1 天前
    既然有 ipv6 就直接用,方法如下:去阿里云买个最便宜的域名,下载这个软件 AliyunDdnsCSharp ,作者 github 已经不更新了,但是实测不影响使用。这个软件默认后台直接运行的,把你电脑的 ipv6 地址直接解析到阿里云的域名,记得把电脑 3389 端口改成非标的,且需要电脑+路由器端口都要放行。可参照此教程 https://www.jiaochengzhijia.com/win10/23217.html ,但是文中有一处 Windows11 需要改掉,remotedesktop-in-TCP 这项如果没有就换成 remotedesktop-User Mode,注意 UDP/TCP 两个都要改。

    zwy100e72
        16
    zwy100e72  
       1 天前
    安全起见,我认为应该通过 vpn 连接,这样利用 vpn 打洞、鉴权、验证身份安全性会比较高
    当然 Windows 防火墙和路由器防火墙该开还是要开的

    vpn 实现推荐 tailscale ,ipv6 + 开放端口效果很好
    xyfan
        17
    xyfan  
       1 天前
    我是 IPv6 地址变化就登录 PT 网站查看自己当前在线的 IP ,缺点是依赖 PT 网站,比如现在北洋园就 522 了
    kira887
        18
    kira887  
       1 天前 via Android
    用的 V6 转 V4
    fengyaochen
        19
    fengyaochen  
       1 天前   ❤️ 1
    路由器上装 socat 或者 lucky ,再配置好 DDNS ,直接用路由器获得的那个 V6 端口转发成内网 V4 连接就 OK ,
    icaolei
        20
    icaolei  
       1 天前
    我的方案:
    1. Windows 装一个 ddns-go ,注册为服务,开机就运行。
    2. NAS 上也有个 ddns-go ,还搞了个 wol ,通过 NAS 来给 Windows 开机。
    3. 在外面就用 Windows 的域名来连接 RDP 。
    4. 如果外面环境没有 IPv6 的情况下,通过自己的一台双栈服务器作为代理来中转一下,可以随时随地回家。

    另外,我家的路由器可以给设备分配固定的 IPv6 后缀,比如路由器或者 NAS 的 IPv6 地址是 2409:a1a1:b2b2::88 ,那我直接用这个前缀,把 88 改成我 Windows 的 99 就行了。

    我也考虑过不在 Windows 上额外装任何客户端,包括 ddns-go 这种轻量服务也不装,就是通过路由器/NAS 反代一下。但是折腾了很久也不知道配置咋写能反代成功,后面就没整了。

    如果你有能基于 nginx 的反代成功的配置,欢迎 @我。
    amanisheir
        21
    amanisheir  
       1 天前
    PC 好多个 IPV6 而且部分还不可用,你路由器 IPV6 用的 passthrough 模式?如果 WAN 是 PPPOE ,用 native 看看;
    amanisheir
        22
    amanisheir  
       1 天前
    华硕自带了几个 VPN 服务器可以用的,自己 SSH 进去路由器也可以跑个 ddns-go ,把 IPV6 映射到域名,我用自带的 Wireguard ,连上路由器之后使用快捷指令 SSH 路由器 WOL 唤醒 PC ,PC 开 sshd ,也可以 ssh 到 PC shutdown
    ar16
        23
    ar16  
       1 天前
    华硕路由支持 ssh ,自己 ether-wake 电脑比较方便
    xqzr
        24
    xqzr  
       22 小时 25 分钟前
    @lcy630409 轮询不是好主意,可以用事件触发
    https://imgur.com/a/5MZqQhk
    flynaj
        25
    flynaj  
       18 小时 21 分钟前 via Android
    ddns-go 就行,还有一种方案是 路由器上使用 socat ,内网 v4 转发到路由器上,安全方便。不用整个网络都暴露。
    SenLief
        26
    SenLief  
       18 小时 3 分钟前
    你有 ipv6 直接 ss 回家就行了
    baobao1270
        27
    baobao1270  
       17 小时 49 分钟前
    curl -6 https://1.1.1.1/cdn-cgi/trace
    如果需要纯 IP 地址不带其他信息的话用我的 API
    curl -6 https://lty.vc/ip
    ghell
        28
    ghell  
       17 小时 18 分钟前
    socat v6 转内网 v4
    lentrody
        29
    lentrody  
       16 小时 11 分钟前 via Android
    路由器上放个 dynv6 的脚本 https://dynv6.com/docs/apis
    在 dynv6 网站上把指定 PC 的固定后缀关联子域名,就会按 2 楼说的那样拼接得到完整地址,不需要在 PC 上安装任何东西就能解析 IPv6 。
    SakuraYuki
        30
    SakuraYuki  
       10 小时 38 分钟前
    WireGuard/tailscale/zerotier/surge ponte/ss 回家,总有一个适合你
    comlewin
        31
    comlewin  
       9 小时 58 分钟前
    家庭 ipv6 地址也是有人扫的,关闭路由器防火墙真的不是个好办法
    zoffypal
        32
    zoffypal  
       8 小时 55 分钟前
    两个方法
    一、路由器上配置 socat 等把某个端口(v6)转发到 PC(v4)上,这样在外网连接路由器的 v6 地址即可实现 RDP 远程 PC
    二、路由器上用脚本定时获取 PC 的 IPv6 公网地址,一般会获取到好几个地址,再轮流尝试 ping ,如果可以正常 ping 就把这个地址解析到域名上
    liaoyuan6666
        33
    liaoyuan6666  
       8 小时 37 分钟前
    如果你用爱快软路由,自带动态域名,可以根据终端 mac 或者终端 DUID 自动解析 ipv6
    liaoyuan6666
        34
    liaoyuan6666  
       8 小时 33 分钟前
    @comlewin 我从来不关,所有内网设备全有 ipv6
    lentrody
        35
    lentrody  
       8 小时 6 分钟前
    @zoffypal 并不需要实时获取 PC 的 IPv6 ,除了用 dynv6 这样可以自行拼接后缀的服务商,也可以把固定后缀直接写进脚本再提交其他 DDNS ,像这样 https://github.com/ddnspod/dnspod-ipv6-ddns/blob/master/dnspod-ipv6-ddns.sh
    @icaolei 你也可以参考下这个脚本,也不需要路由器 DHCPv6 分配固定后缀,正常靠 SLAAC 分配的就是 EUI-64 固定后缀。

    不过 Windows 默认用随机方式生成固定后缀,遇到系统更新硬件变动之类可能会改变,可以运行一下这个命令强制 EUI-64 生成后缀确保不会变动 “Set-NetIPv6Protocol -RandomizeIdentifiers Disabled” 。
    7 楼的另外那个命令是关闭隐私地址用,一般没必要。
    htfcuddles
        36
    htfcuddles  
       7 小时 41 分钟前
    我不管,我就要 NAT66 。ISP 给的 PD 才不用,ULA 分配给 PC ,DDNS 脚本挂路由地址都不用改,ipv4 和 ipv6 双解析地址都不用变,楼上说的哪个有我方案体验好
    allplay
        37
    allplay  
       7 小时 30 分钟前 via Android
    @comlewin 量这么大,怎么扫
    akinoneko
        38
    akinoneko  
       4 小时 44 分钟前
    直接固定家里几个电脑的内网 IP, 然后路由器设置端口转发.
    直接用路由器的 ipv6 地址来连不是更方便么.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2961 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 11:12 · PVG 19:12 · LAX 03:12 · JFK 06:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.