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

71 天前
 adrianzhang
查了一些资料,家宽如果用 IPv6 的话,前缀每次拨号都不同,虽然后缀可以固定,但域名对应的是全地址,你们是怎么解决这个问题的?用 DDNS ?
2062 次点击
所在节点    宽带症候群
37 条回复
cwek
71 天前
@adrianzhang
肯定会变,只是这个帮你从一堆 v6 中找到那个固定后缀的地址。

如果有配置 ULA 的话,或者可以考虑 NPT ,允许路由将外网的网络段平行 NAT 到 ULA 地址段,这样内网机器 ULA 地址完全固定。
adrianzhang
71 天前
@cwek 好的,我先按你给的这些线索查查看。
Hhehepei
71 天前
@adrianzhang 开啊,开了无状态 ipv6 之后,设备的后缀是固定的,对于私网地址,你下发一个固定的前缀就好,这样私网地址就是固定的了,对于公网地址的话,就像楼上说的那样定期检查然后上报就好,反正对于家宽来说下发的前缀一般就是一两周才变一次
adrianzhang
70 天前
@Hhehepei 好的,谢谢!
charley008
70 天前
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
70 天前
@charley008 目前我的 LAN 里有几十个机器,并有内网 DNS ,访问这些机器全靠域名,一部分域名跟外网域名相同。改成 v6 ,用 DDNS ,就很头疼。每个机器安装 ddns 客户端,建立多个条目不说,最重要的是 IP 变化。
charley008
70 天前
@adrianzhang ddns-go 不是可以多建很多个配置吗?我就是 6-7 个域名使用同一个 ddns-go 来配置.只要后缀不变就好办
adrianzhang
70 天前
@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
70 天前
@charley008 #27 补充一下,你给出的代码相当于一个 DDNS 客户端的作用。那么在我给出的这个例子中,每台服务器都要这么设置一下对吧。
lxcopenwrt
70 天前
我是直接在跑 NGINX 的虚拟机上用 DDNS-GO 更新不用 op 自带的 ddns
adrianzhang
69 天前
@lxcopenwrt #30 嗯,一个的话还算可以考虑这么干,如果有几十个 nginx, db, redis, k8s, webdav..... DDNS 会痛苦死的,尤其是还存在更新不及时的问题,单独一个服务更新不及时问题不大,内网要全用域名来访问服务的话,就乱了。
lxcopenwrt
69 天前
@adrianzhang 可以考虑使用 nginx 的 tcp/udp 转发,外网只访问一台机器的 nginx 就够了,其他机器通过访问这台机器的 IPv6 不同端口然后通过 nginx 转发到其他机器的内网 IPv4 端口即可,http 内容就更简单了直接反代一下不就行了
adrianzhang
69 天前
@lxcopenwrt #32

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

如果各设备后缀不随前缀变化,可以在公网地址的同时解析一个链路本地地址或者唯一区域地址,这样前缀变化不影响局域网连接。
Atomo
30 天前
内网 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

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

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

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

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

© 2021 V2EX