Windows10 使用 dynv6 + ddns-go 实现 IPv6 固定域名远程访问指南
这里写目录标题
一、解决方案架构解析
1. 获取公网IPv6地址2. 动态IP上报3. 更新DNS记录4. 域名绑定IP5. 输入您的域名6. 解析到当前IP7. 路由到设备您的Win10笔记本家庭/公司网络DDNS-GO客户端dynv6域名服务全球DNS系统异地访问者
- 核心组件:
- dynv6:免费IPv6动态域名服务(支持https://dynv6.com)
- ddns-go:轻量级动态DNS更新工具(支持Windows)
- Windows10:内置IPv6支持的操作系统
各组件作用
- IPv6地址暴露
- 您的Win10笔记本从运营商网络获取动态公网IPv6地址(通常以 240e:、2408:、2409: 等开头)
- 此地址是全球唯一的公网地址,可直接被互联网访问
- DDNS-GO客户端作用:
- 软件持续监测您的IPv6地址变化
- 当地址变更时,自动向dynv6发送更新请求
- dynv6域名解析
- dynv6将您的域名(如 yourhost.dns.army)指向当前IPv6地址
- DNS记录类型为 AAAA(IPv6地址记录)
- 异地访问流程
- 访问者在浏览器/客户端输入:http://[yourhost.dns.army]:端口 (注意:IPv6地址必须用方括号 [] 包裹)
- 全球DNS系统返回您的当前IPv6地址
- 流量通过IPv6网络直达您的Win10笔记本
IPv4 与 IPv6 方案对比
| 特性 | IPv4 方案 | IPv6 方案 |
|---|---|---|
| 需要公网 IP | 必需 | 不需要(移动宽带已分配 IPv6 公网地址) |
| 网络穿透能力 | 需路由器端口映射 | 直连设备 |
| 延迟 | 较高(NAT 转换) | 极低(端到端直连) |
| 移动网络支持 | 部分运营商限制 | 完全支持 |
| 安全性 | 需防范端口扫描 | 地址空间巨大更安全 |
| 配置复杂度 | 中等(需端口转发) | 简单(直接访问) |
结论:优先使用 IPv6 方案,当访问端不支持 IPv6 时再使用 IPv4 方案作为备用。
二、环境准备清单
| 项目 | 要求 | 检测方法 |
|---|---|---|
| 宽带网络 | 支持IPv6 | ipconfig 查看 IPv6 地址 |
| Windows10版本 | 1903及以上 | winver 查看版本号 |
| 管理员权限 | 必需 | 右键菜单“以管理员身份运行” |
| 防火墙配置 | 开放目标端口 | 控制面板->系统和安全->防火墙 |
IPv6连通性测试:
# 检查IPv6地址 ipconfig | findstr "IPv6"# 测试IPv6连通性 ping -6 ipv6.baidu.com 
注意:若无法获取240开头的公网IPv6地址,需联系宽带运营商开通IPv6服务
部署资源汇总:
| 工具 | 下载地址 |
|---|---|
| ddns-go | https://github.com/jeessy2/ddns-go/releases |
| dynv6 | https://dynv6.com |
| 远程桌面客户端 | https://aka.ms/rdclient |
三、dynv6 域名注册
访问站点,可能需要梯子
访问 https://dynv6.com → Sign Up → 邮箱验证
https://dynv6.com 
用户dynv6登录控制面板Zones → Add new zone输入域名前缀 (如: mywin10)分配域名 mywin10.dns.army用户dynv6
获取API令牌
- 点击右上角用户名 → 你的邮箱
- 在 Tokens 区域点击 Create token
- 复制生成的API密钥(格式如:cCk_3XzLdP4eR9iQbN7vM)

四、ddns-go 安装配置
1. 下载Windows版
使用Powershell 管理员权限执行
# 创建安装目录 mkdir C:\DDNS cd C:\DDNS # 下载最新版 (v6.0.0) Invoke-WebRequest -Uri "https://github.com/jeessy2/ddns-go/releases/download/v6.0.0/ddns-go_6.0.0_Windows_x86_64.zip"-OutFile "ddns-go.zip"# 解压文件 Expand-Archive -Path ddns-go.zip-DestinationPath .2. 首次运行配置
# 启动配置向导 (管理员权限) Start-Process -FilePath ".\ddns-go.exe"-Verb RunAs 
浏览器自动打开 http://127.0.0.1:9876
3. 配置dynv6服务
DNS服务商选:Callback # 回调方式配置 回调地址URL (用于IPv6): https://dynv6.com/api/update?zone=#{domain}&token=YOUR_TOKEN&ipv6=#{ip}# 参数配置: YOUR_TOKEN: your_api_token # 替换为dynv6 API令牌 其他变量不用调整 
IPV4:不启用 IPV6获取IP方式:通过网卡获取 (选择实际连接的网络适配器) Domains:dynv6申请的域名 禁止公网访问本页面 设置用户名和密码 查看日志是否调用成功
# 成功判断: 成功内容包含: updated 
4. 设置开机自启
# 创建Windows服务 New-Service -Name "DDNS-Go" ` -BinaryPathName "C:\DDNS\ddns-go.exe" ` -DisplayName "DDNS-Go Service" ` -StartupType Automatic # 启动服务 Start-Service -Name "DDNS-Go"
5.域名激活检查
# 域名解析测试(创建后需等待1-10分钟) Resolve-DnsName yourhost.dns.army -Type SOA # 正常返回: Name Type TTL Section NameAdministrator ----------------------------------- yourhost.dns.army SOA 3600 Answer hostmaster.dns.army 
五、防火墙配置(以远程桌面为例)
1. 开放远程桌面端口
# 允许IPv6远程桌面 New-NetFirewallRule ` -DisplayName "RDP over IPv6" ` -Protocol TCP ` -LocalPort 3389 ` -Direction Inbound ` -Action Allow ` -InterfaceType Any ` -LocalAddress Any ` -RemoteAddress Any ` -Enabled True2. 开启远程桌面服务
# 启用远程桌面 Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Terminal Server"-Name "fDenyTSConnections"-Value 0# 允许网络级别认证 Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp"-Name "UserAuthentication"-Value 1六、远程访问测试
访问方式示例
| 服务类型 | 访问格式 | 必备条件 |
|-------------|----------------------------------|--------------------|
| 远程桌面(RDP) | mstsc.exe /v:[yourhost.dns.army] | 开放3389端口+启用远程桌面 |
| 文件共享(SMB) | \[yourhost.dns.army]\Share | 开放445端口+启用文件共享 |
| Web服务(HTTP) | http://[yourhost.dns.army]:8080 | 开放目标端口+运行服务 |
| SSH服务 | ssh [email protected] | 开放22端口+安装OpenSSH服务 |
1. 域名解析验证
# 查看域名解析的IPv6地址 Resolve-DnsName mywin10.dns.army -Type AAAA | Format-List 2. 远程桌面连接
- 在其他设备打开远程桌面客户端
- 地址栏输入:[mywin10.dns.army](注意包含方括号)
- 使用Windows账户登录
3. 端口服务测试
# 测试远程桌面端口 Test-NetConnection -ComputerName mywin10.dns.army -Port 3389-InformationLevel Detailed 七、高级应用场景
1. 私有云服务访问
# 部署轻量Web服务 docker run -d -p 8080:80--name webserver nginx # 开放防火墙端口 New-NetFirewallRule -DisplayName "WebService"-Protocol TCP -LocalPort 8080-Action Allow 2. NAS文件共享
# 创建共享文件夹 New-Item -Path "C:\MyNAS"-ItemType Directory Grant-SmbShareAccess -Name "MyNAS"-AccountName "Everyone"-AccessRight Full -Force # 跨网络访问 \\mywin10.dns.army\MyNAS 3. 游戏服务器搭建
# 开放Minecraft端口 New-NetFirewallRule -DisplayName "Minecraft"-Protocol TCP -LocalPort 25565-Action Allow 连接地址:mywin10.dns.army:25565
八、故障排除指南
| 故障现象 | 排查命令 | 解决方案 |
|---|---|---|
| 域名解析失败 | Resolve-DnsName mywin10.dns.army -Type AAAA | 检查ddns-go日志是否更新成功 |
| 无法连接服务 | Test-NetConnection -Port 3389 -ComputerName ::1 | 确认防火墙已开放目标端口 |
| IPv6地址变化未更新 | 查看 C:\DDNS\ddns-go.log | 重启ddns-go服务 |
| 远程桌面认证失败 | Get-ItemProperty “HKLM:\System\CurrentControlSet\Control\Terminal Server” | 确认已启用网络级别认证 |
| 外部无法访问 | tracert -6 mywin10.dns.army | 检查路由器是否禁用IPv6转发 |
- 关键日志位置:
- ddns-go运行日志:C:\DDNS\ddns-go.log
- Windows系统日志:事件查看器 → Windows日志 → 系统
九、安全加固措施
1. 限制访问IP范围
# 只允许特定IPv6前缀访问 New-NetFirewallRule ` -DisplayName "RDP Restricted" ` -RemoteAddress 240e:3b4:2023::/48# 替换为你的办公网络前缀2. 启用双因素认证
# 安装Google身份验证器 Install-Module -Name GoogleAuthenticator # 绑定远程桌面 Set-RDMTFA -Enable $true -Provider "GoogleAuthenticator"3. 动态端口隐藏
# 修改远程桌面端口 Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp"-Name "PortNumber"-Value 53389# 更新防火墙规则 Set-NetFirewallRule -DisplayName "RDP over IPv6"-LocalPort 53389