V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
There is no place like ::1
wucc
V2EX  ›  IPv6

ipv6 ddns 的问题

  •  
  •   wucc · 287 天前 via Android · 1462 次点击
    这是一个创建于 287 天前的主题,其中的信息可能已经有所发展或是发生改变。

    请教各位先进:

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

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

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

    7 条回复    2024-05-13 13:18:16 +08:00
    shenjinpeng
        1
    shenjinpeng  
       287 天前
    为什么要获取路由器的 ipv6 ? 每个设备都有自己的 ipv6 地址, 你哪些设备要解析就在哪些设备装 ddns 解析自己就好了

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

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

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

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

    路由器是普通路由器。
    deorth
        3
    deorth  
       287 天前 via Android
    普通路由器支持转发 v6 端口?
    wucc
        4
    wucc  
    OP
       287 天前 via Android
    支持呀,tplink xdr 3050
    xiaofami
        5
    xiaofami  
       285 天前
    有没有方法可以实时获取局域网内所有设备的 IPv6 地址呢,看了几个帖子, 类似 https://github.com/jeessy2/ddns-go/issues/31 等许多人提出过类似疑问。家里路由器可以获取 60 长度的动态前缀,只有一小部分设备可以运行 DDNS-GO 之类服务
    ChaosAttractor
        6
    ChaosAttractor  
       279 天前   ❤️ 1
    @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 功能),所以暂时可能用不上,有兴趣的话过段时间我写个博客(
    charley008
        7
    charley008  
       226 天前   ❤️ 1
    如果路由器 ipv6 和莓树派的 ipv6 前缀一样就容易。我用的是 ubnt 的 usg pro4 , 路由器会有两个 ipv6 地址。一个是 pppoe 的还有一个是 eth0 的。tplink 的没用过不是很了解。
    admin@USG-PRO-4:~$ ip -6 addr
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536
    inet6 ::1/128 scope host
    valid_lft forever preferred_lft forever
    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500
    inet6 240e:353:2bc:ba40:****:****:****:****/64 scope global
    valid_lft forever preferred_lft forever
    inet6 fe80::****:****:****:****/64 scope link
    valid_lft forever preferred_lft forever
    4: eth2: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500
    inet6 fe80::****:****:****:****/64 scope link
    valid_lft forever preferred_lft forever
    39: pppoe0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1492 qlen 100
    inet6 240e:350:205:88b:****:****:****:****/64 scope global dynamic
    valid_lft 2591701sec preferred_lft 604501sec
    inet6 fe80::****:****:****:****/10 scope link
    valid_lft forever preferred_lft forever
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1121 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 18:45 · PVG 02:45 · LAX 10:45 · JFK 13:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.