如果家宽用 IPv6,域名是怎么对应的? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
adrianzhang
V2EX    宽带症候群

如果家宽用 IPv6,域名是怎么对应的?

  •  
  •   adrianzhang 2024-07-18 21:05:31 +08:00 2975 次点击
    这是一个创建于 517 天前的主题,其中的信息可能已经有所发展或是发生改变。
    查了一些资料,家宽如果用 IPv6 的话,前缀每次拨号都不同,虽然后缀可以固定,但域名对应的是全地址,你们是怎么解决这个问题的?用 DDNS ?
    37 条回复    2024-08-29 17:32:36 +08:00
    Earsum
        1
    Earsum  
       2024-07-18 21:06:23 +08:00   7
    恭喜你,会自问自答了
    adrianzhang
        2
    adrianzhang  
    OP
       2024-07-18 21:07:19 +08:00
    @Earsum 好吧,谢谢!
    bao3
        3
    bao3  
       2024-07-19 01:55:29 +08:00   1
    先在家里放一台固定的服务器,它成为中转,然后在路由器的 ipv6 里把它的 EUI-64 地址放通,也就是你说得后缀。然后它有上面跑 ddns ,把域名注册为自己的 ipv6 。这样你家里其他的 ipv6 设备,也通过这台服务器来反代,最终达到通过域名,访问家里所有的 ipv6 设备。又省去了配置 ipv6 防火墙的麻烦。
    mrl1996
        4
    mrl1996  
       2024-07-19 08:06:27 +08:00
    我记忆中路由器可以指定前缀拨号,设备可以指定 ipv6 拨号。这样问题是不是迎刃而解
    adrianzhang
        5
    adrianzhang  
    OP
       2024-07-19 09:50:44 +08:00
    @mrl1996
    @bao3

    我在想,v4 时代,家庭内网和企业内网(如云 vps ),使用私段,配置成固定私段 IP ,都是一样的。v6 时代,却有挺大不同。可能企业如 @mrl1996 所说指定前缀,家宽内却得如 @bao3 所说这样。不知道我理解对不对。如果是对的话,云上主机的域名就很好解决,家宽内设备虽然有公网,域名却成为了大问题。
    adrianzhang
        6
    adrianzhang  
    OP
       2024-07-19 10:02:48 +08:00
    @mrl1996
    @bao3

    v4 时代,家宽内或企业内建立个服务,可以建内网 DNS 来指向它们。虽然 v6 也有私网,但如何设置内网 DNS 才能够利用 v6 公网 IP 这个性质呢?最佳实践应该是怎样的呢?
    HughRyu
        7
    HughRyu  
      &nsp;2024-07-19 10:04:02 +08:00
    PPPOE 拨号,光猫要改成双栈或者桥接之后,路由器拨号,防火墙开放 IPV6 。
    DDNS 域名 更新 AAAA 记录,外部访问域名通过 IPV6 解析。
    adrianzhang
        8
    adrianzhang  
    OP
       2024-07-19 10:25:32 +08:00
    @HughRyu

    PPPoE 拨号,内网多台设备。这种情况,我查资料是说 DHCPv6 不太合适,因为它有个租约问题,推荐是用 SLAAC ,主动下发前缀,设备可以固定后缀。那么 DDNS 也是存在租约,该如何解决呢?

    而且我上面提到的内网服务问题。举例:内部建立一个 web ,v4 时代可以建立内网 DNS ,指向私网地址,假设外部端口啥的都放开了,在外部是公网地址,外部 DNS 上用 DDNS 对应公网 IP ,这样无论从内外都可以用同样的域名去访问这个 web 。v6 的话,怎么做呢?内网一个 DNS 指向该设备的 v6 私网地址,外网 DNS 指向它的 v6 公网地址?也就是上一段的 DDNS 租约问题又是怎么解决的?
    vibbow
        9
    vibbow  
       2024-07-19 11:45:13 +08:00
    @adrianzhang 内网用私有 ipv6 地址,固定不变
    路由器拿公网 V6 ,做 NAT6

    就和 IPV4 一样,路由器上做端口映射就行
    duduke
        10
    duduke  
       2024-07-19 12:53:31 +08:00 via iPhone   1
    ddns 会有问题,比如刚重启的那段时间会失联,我会在 ddns 之外生成一个小火箭订阅,用 argo tunnel 开放出来
    titanium98118
        11
    titanium98118  
       2024-07-19 13:04:42 +08:00
    wireguard 回去,继续用 ipv4 访问
    Hhehepei
        12
    Hhehepei  
       2024-07-19 13:49:28 +08:00 via Android   1
    @adrianzhang 根据 rfc4193 4.6 节中的规定,对于一个既可以在站点内部也可以在站点外部访问节点,它的 dns 应该指向这个节点的公网地址。对于本地 dns ,在指向它的公网地址之余可以同时指向它的私网地址。

    我猜这应该就是最佳实践了?
    cwek
        13
    cwek  
       2024-07-19 13:52:02 +08:00
    固定后缀的话,可以查 ip -6 addr 查出带 dynamic mngtmpaddr noprefixroute 那个地址出来,然后域名直接用 DDNS 更新就好了
    luny
        14
    luny  
       2024-07-19 14:32:01 +08:00
    宽带移机,公网 IPV4 被回收了,只能研究了一下 ddns+ipv6 ,凑合也能用。
    dynv6.com
    987N
        15
    987N  
       2024-07-19 14:56:49 +08:00
    ddns v6 到 wireguard 上,继续 v4
    adrianzhang
        16
    adrianzhang  
    OP
       2024-07-19 15:33:20 +08:00
    @vibbow 嗯,这种方式就如同 v4 一样了。
    adrianzhang
        17
    adrianzhang  
    OP
       2024-07-19 15:36:40 +08:00
    @Hhehepei 但是这样的话,配置 DNS 服务器时就有个问题,使用不使用 SLAAC 。例如 Pi-hole ,如果开启 SLAAC ,都指向公网地址,没问题。可是私网地址并不存在动态指定。如果同时指向公网和私网地址,那这个 SLAAC 开不开?或者,得等待 DNS 服务器软件更新功能/给它打补丁/换更灵活支持的 DNS 软件?
    adrianzhang
        18
    adrianzhang  
    OP
       2024-07-19 15:38:02 +08:00
    @cwek 查资料指的就是这个 dynamic mngtmpaddr noprefixroute ,它会随着每次拨号变化。实践中变不变?
    adrianzhang
        19
    adrianzhang  
    OP
       2024-07-19 15:51:56 +08:00
    @luny 看了一下它的实现方式是客户端定期上报,TTL 可设定在 30sec ,传统的 DDNS 方式。可能 SLAAC 变化不是很剧烈,大概我多虑了……还得做点实验看看。
    Internet0User
        20
    Internet0User  
       2024-07-19 16:04:26 +08:00 via Android
    推荐 GitHub 上的开源 DDNS 的项目 ddns-go
    项目地址: https://github.com/jeessy2/ddns-go#%E7%B3%BB%E7%BB%9F%E4%B8%AD%E4%BD%BF%E7%94%A8
    cwek
        21
    cwek  
       2024-07-19 16:44:26 +08:00   1
    @adrianzhang
    肯定会变,只是这个帮你从一堆 v6 中找到那个固定后缀的地址。

    如果有配置 ULA 的话,或者可以考虑 NPT ,允许路由将外网的网络段平行 NAT 到 ULA 地址段,这样内网机器 ULA 地址完全固定。
    adrianzhang
        22
    adrianzhang  
    OP
       2024-07-19 17:23:33 +08:00
    @cwek 好的,我先按你给的这些线索查查看。
    Hhehepei
        23
    Hhehepei  
       2024-07-19 19:05:57 +08:00 via Android
    @adrianzhang 开啊,开了无状态 ipv6 之后,设备的后缀是固定的,对于私网地址,你下发一个固定的前缀就好,这样私网地址就是固定的了,对于公网地址的话,就像楼上说的那样定期检查然后上报就好,反正对于家宽来说下发的前缀一般就是一两周才变一次
    adrianzhang
        24
    adrianzhang  
    OP
       2024-07-19 20:50:29 +08:00
    @Hhehepei 好的,谢谢!
    charley008
        25
    charley008  
       2024-07-19 20:58:39 +08:00
    ddns-go 不就很完美解决你的问题了吗?
    要么通过命令要么通过网卡。
    ip addr | grep 'inet6 240[89e].*/64' |grep -m1 '' | awk -F '[ \t]+|/' '{print $3}'
    ip addr show ovs_eth0 | grep "inet6.*global"| awk -F '[ \t]+|/' '{print $3}' | grep -m1 ''|awk -F ':' '{print $1":"$2":"$3":"$4":f6a9:97ff:fed1:7897"}'
    adrianzhang
        26
    adrianzhang  
    OP
       2024-07-19 21:04:01 +08:00
    @charley008 目前我的 LAN 里有几十个机器,并有内网 DNS ,访问这些机器全靠域名,一部分域名跟外网域名相同。改成 v6 ,用 DDNS ,就很头疼。每个机器安装 ddns 客户端,建立多个条目不说,最重要的是 IP 变化。
    charley008
        27
    charley008  
       2024-07-20 17:07:15 +08:00
    @adrianzhang ddns-go 不是可以多建很多个配置吗?我就是 6-7 个域名使用同一个 ddns-go 来配置.只要后缀不变就好办
    adrianzhang
        28
    adrianzhang  
    OP
       2024-07-20 19:03:20 +08:00
    @charley008 #27 我理解 ddns-go 建多个配置跟我这个问题无关啊。

    举例来说:IPv4 情况下,30 台 Linux 服务器,通过内网 DNS ,指定 server1.domain.com~server30.domain.com ,然后电脑就用域名访问它们。这种情况下,服务器用固定的私网地址( 192.168.x.x ),在内网 DNS 上建立对应的映射就好了。其中 server30.domain.com 在外网也要用,那么外网上设立的权威 DNS 就把 server30.domain.com 指定为公网 IP 。

    好了,现在 IPv6 了,这 30 个服务器的地址都是动态更新的,如果用 DDNS ,30 台电脑上都得安装 DDNS 客户端,这样内网电脑访问它们才能用域名,当然外网访问也用同样的域名就可以了。DDNS 有个 TTL 对吧,当 IPv6 发生变化的时候,DDNS 可能存在更新不及时问题,那么此时内网的电脑用域名去访问这些内网服务器,就会出现连接故障。

    所以这个问题,上面有回复说用小火箭的,有说设置私网地址 v6 的,有说通过 xxx 能够把私网地址固定的。终究就是要解决一个问题,私网内域名和地址的及时对应。
    adrianzhang
        29
    adrianzhang  
    OP
       2024-07-20 19:10:41 +08:00
    @charley008 #27 补充一下,你给出的代码相当于一个 DDNS 客户端的作用。那么在我给出的这个例子中,每台服务器都要这么设置一下对吧。
    lxcopenwrt
        30
    lxcopenwrt  
       2024-07-20 19:17:16 +08:00
    我是直接在跑 NGINX 的虚拟机上用 DDNS-GO 更新不用 op 自带的 ddns
    adrianzhang
        31
    adrianzhang  
    OP
       2024-07-20 19:35:06 +08:00
    @lxcopenwrt #30 嗯,一个的话还算可以考虑这么干,如果有几十个 nginx, db, redis, k8s, webdav..... DDNS 会痛苦死的,尤其是还存在更新不及时的问题,单独一个服务更新不及时问题不大,内网要全用域名来访问服务的话,就乱了。
    lxcopenwrt
        32
    lxcopenwrt  
       2024-07-20 19:50:15 +08:00
    @adrianzhang 可以考虑使用 nginx 的 tcp/udp 转发,外网只访问一台机器的 nginx 就够了,其他机器通过访问这台机器的 IPv6 不同端口然后通过 nginx 转发到其他机器的内网 IPv4 端口即可,http 内容就更简单了直接反代一下不就行了
    adrianzhang
        33
    adrianzhang  
    OP
       2024-07-20 20:53:29 +08:00
    @lxcopenwrt #32

    我的场景是内网也用域名联络。Nginx 一台机器,MySQL 另一台机器,这两个机器用域名互相访问,如 web.doamin.comdb.domain.com
    lxcopenwrt
        34
    lxcopenwrt  
       2024-07-20 21:04:10 +08:00
    @adrianzhang 内网直接用静态 IPv4 不就行了,实在想用域名 ddns 那边也可以设置指向一个内网 IP ,如果非要指向公网 IPv6 这种非主流那确实没什么好的方案
    charley008
        35
    charley008  
       2024-07-20 22:28:14 +08:00 via iPhone
    @adrianzhang 就一台,不需要每一台。这 ipv6 动态变化 基本没办法符合你的要求。话说你都有自己域名了,真内网的话多加一个子域名不就行了。比如 web.domain.com 用 ipv4 内网,web6.domain.com 只用 ipv6 。无非多设置一次而已
    LnTrx
        36
    LnTrx  
       2024-07-21 02:39:33 +08:00   1
    先确认一下家宽 IPv6 前缀的变动频率,部分地区很长时间才更新,DDNS 空档期就不是大问题。

    如果各设备后缀不随前缀变化,可以在公网地址的同时解析一个链路本地地址或者唯一区域地址,这样前缀变化不影响局域网连接。
    Atomo
        37
    Atomo  
       2024-08-29 17:32:36 +08:00
    内网 30 台设备 v6 后缀固定的话,可以在某一台设备上用
    http://ipv6.ddnspod.com/prefix/:1
    http://ipv6.ddnspod.com/prefix/:2
    http://ipv6.ddnspod.com/prefix/:3
    http://ipv6.ddnspod.com/prefix/:4
    来批量更新 ip 地址,详情
    www.ddnspod.com
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2886 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 42ms UTC 14:14 PVG 22:14 LAX 06:14 JFK 09:14
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86