本文介绍了使用dynv6提供的免费域名通过DNS-go实现IPv6动态域名解析

随着ipv6的普及,越来越多的设备可以分配到ipv6的地址,这使得ipv6设备之间的通讯成为可能,但由于过于冗长复杂的地址让人望而却步,使用DDNS代替ipv6访问不失为一个好方法


1.禁用临时ipv6

Linux
向/etc/sysctl.conf添加下面内容禁用整个系统所有接口的临时IPv6

1
2
3
net.ipv6.conf.all.use_tempaddr=0
net.ipv6.conf.eth0.use_tempaddr=0
net.ipv6.conf.default.use_tempaddr=0

重启生效,笔者使用”sysctl -p /etc/sysctl.conf”无效
Windows
需要管理员运行cmd
禁用临时ipv6

1
netsh interface ipv6 set privacy state=disable

启用临时ipv6

1
netsh interface ipv6 set privacy state=ensable

重启后生效


2.注册dynv6

先在dynv6上注册一个账号,创建一个域名并用邮箱验证,一定要确认否则无法登录,再创建一个token


3.运行DDNS客户端

下载DDNS-go,运行后自动或手动打开管理界面,按照图片配置

我选择本地网卡会无法获取ipv6,所以选择了外部接口,如果小伙伴有解决方法的话,可以分享给我
http://dynv6.com/api/update?zone=你的域名.dynv6.net&token=你的token&ipv6=auto
填完了点Save,如果参数正确,log中会显示

1
Callback调用成功,返回数据:adress updated

推荐配置服务启动


4.验证DDNS

打开dynv6的域名管理,选择域名后看Records里是否有指向正确IPv6的AAAA记录

再执行ping XXX.dynv6.net,看能否解析出正确的ipv6


其他笔记

假如ipv6分发前缀为240c:cf81:5:22dd::/64
路由器Lan口为192.168.X.1,那么Lan的ipv6为240c:cf81:5:22dd::1
客户端的ip为192.168.X.100,那么客户端的ipv6地址为为240c:cf81:5:22dd::100(无法ping通)和240c:cf81:5:22dd:f07b:f512:8cf5:afcd
客户端的ip为192.168.X.102,那么客户端的ipv6地址为为240c:cf81:5:22dd::102(无法ping通)和240c:cf81:5:22dd:195e:e735:f9f6:d450