ipv6 ddns 的问题

57 天前
 wucc

请教各位先进:

光猫桥接,路由器拨号,slaac 配置,下面设备全都有正常 ipv6 ,正常联网。

以前有 ipv4 公网时,是路由器下面安排一个树莓派跑 godns 服务,即时反映 ipv4 变化到 cloudflare 域名的,没问题。

现在改为 ipv6 ,树莓派的 godns 只能反应自己的 ipv6 地址,怎么能获取路由器的 ipv6 地址?就是 traceroute 的第一跳的网关地址吧。

550 次点击
所在节点    IPv6
6 条回复
shenjinpeng
57 天前
为什么要获取路由器的 ipv6 ? 每个设备都有自己的 ipv6 地址, 你哪些设备要解析就在哪些设备装 ddns 解析自己就好了

路由器如果是软路由那就自己解析, 普通路由器解析了也没用

一般路由器的地址就是网关地址, 获取设备的网关地址就行了
wucc
57 天前
谢谢兄弟。

一个考量内网是有些设备没法装 ddns 服务,另一个是主机暴露了多个端口,担心安全性问题。

希望解析到路由器,然后由路由器统一端口转发。

路由器是普通路由器。
deorth
57 天前
普通路由器支持转发 v6 端口?
wucc
57 天前
支持呀,tplink xdr 3050
xiaofami
55 天前
有没有方法可以实时获取局域网内所有设备的 IPv6 地址呢,看了几个帖子, 类似 https://github.com/jeessy2/ddns-go/issues/31 等许多人提出过类似疑问。家里路由器可以获取 60 长度的动态前缀,只有一小部分设备可以运行 DDNS-GO 之类服务
ChaosAttractor
49 天前
@xiaofami IPv6 分为 SLAAC 和 DHCPv6 ,SLAAC 如它的名字,是无状态的,而 DHCP 是有状态的,无状态意味着路由器不知道设备用的什么地址,自然没法做 DDNS 这种事情
DHCP 的话,考虑一下把内网设备的 DHCP 租约映射成成权威域名服务器
具体来说,DNS 是递归解析的,你需要通过 NS 记录,把你的域名的三级域名(例如 xxx.home.lostattractor.net) 指到一个权威 DNS 服务器(比如说你的路由器),然后权威服务器例如可以通过设备名,返回对应的 v6 地址,例如我家现在所以设备的 v4/v6 地址都可以通过 hostname.home.lostattractor.net 查到
然后对于 SLAAC ,如你帖子里说的,可以通过 EUI64 反算,但是 EUI64 是根据 MAC 地址生成后缀的,所以你需要有设备的 mac 地址,一方面这可以扫,一方面你的设备是不是至少会用 dhcpv4 ,那么 dhcpv4 的租约里就包括 mac 地址,你可以用前缀+dhcpv4 租约里的 mac 地址去猜 v6 地址,然后 ping 一下就知道设备有没有真的用了
很碰巧的是 dnsmasq 前段时间更新实现了这个 SLAAC 猜测的功能,叫 ra-name ,虽然用 dnsmasq 当权威服务器很不靠谱,但是 dnsmasq 已经能完成以上所有的操作了
不过 openwrt 虽然 v4 用了 dnsmasq ,v6 却是自己实现的 odhcpd (因为 relay 功能),所以暂时可能用不上,有兴趣的话过段时间我写个博客(

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

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

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

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

© 2021 V2EX