跳转至

IPv6 DDNS

DDNS 是什么

通俗的说我们家用宽带的 IPv4 或者 IPv6 基本上都会来回变的,不像我们的服务器的 IP 是固定不变的,如果去域名厂商的控制台配置解析的话,每次 IP 变动得重新设置一下 A 记录(IPv4)或者 AAA 记录(IPv6)的解析是很麻烦的,所以这个适合就有了 DDNS 技术。

DDNS 全称也叫做动态域名解析,相当于每隔一段时间主动去我们的云厂商控制台里面配置域名解析,哪怕我们的域名变了也可以保证及时同步解析,让我们的域名始终指向正确的 IP 地址。

公网 IPv4

因为网络的发展,全球的 IPv4 资源都十分紧张。早几年的电信宽带还是自带公网 IPv4 的,虽然不是固定的,但是配置 1 个 DDNS 解析还是极好的。但是现在 2023 年了,如今的个人家庭宽带带公网 IPv4 的可能性已经不大了,但是好在 IPv6 技术的出现。

公网 IPv6

因为 IPv6 的资源非常非常多,而且国家也强制了运营商需要分配 IPv6 资源,所以如今家用宽带基本上都是自带外网的 IPv6 资源的。IPv6 资源分发到每个家里可以理解是一个资源池,哪怕光猫下面连接路由器,路由器下面再接一些设备,也可以保证这些设备也获取到独立的公网 IPv6 地址。没错!IPv6 的普及也就是万物互联时代的开始。

PVE 开启 IPv6

那么既然 IPv6 资源这么多,怎么保证我们的 PVE 也有自己的 IPv6 地址呢?

其实很简单,PVE 本身也是默认开始了 IPv6 配置和转发的,我们只需要使用如下命令自动配置 SLAAC IPv6 地址即可:

Bash
echo "net.ipv6.conf.all.accept_ra=2" >> /etc/sysctl.conf
echo "net.ipv6.conf.default.accept_ra=2" >> /etc/sysctl.conf
echo "net.ipv6.conf.vmbr0.accept_ra=2" >> /etc/sysctl.conf
echo "net.ipv6.conf.all.autoconf=1" >> /etc/sysctl.conf
echo "net.ipv6.conf.default.autoconf=1" >> /etc/sysctl.conf
echo "net.ipv6.conf.vmbr0.autoconf=1" >> /etc/sysctl.conf

然后重启 PVE 后即可看到我们的 IPv6 公网地址了:

Bash
ip a|grep inet6

PVE 安装 Docker

因为 DDNS-GO 是目前比较好用的 DDNS 解析工具,考虑到 PVE 底层就是 Debian,我们使用 Docker 来部署 DDNS-GO 会更加简单方便一点,PVE 安装 Docker 也比较简单方便,使用官方脚本即可一键安装了:

Bash
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

Docker 安装 DDNS-GO

安装好 Docker 的话,使用如下命令即可部署搭建出 DDNS-GO 服务:

Bash
docker run -d --name ddns-go --restart=always --net=host -v /opt/ddns-go:/root jeessy/ddns-go

默认大家都是有 Docker 基础的,国光简单解释一下几个参数的作用:

--restart=always:表示随 Docker 服务启动就开启自启这容器

--net=host :表示使用 host 网络,即和主机共享 IP,而我们传统的 -p 走的是 bridge 桥接模式,这样就无法获取到公网的 IPv6 地址 (PS:Windows/Mac桌面版的 Docker不支持--net=host

DDNS-GO 的简单使用

DDNS-GO 的使用非常简单,首先填写我们域名厂商的 AK 和 SK 即可:

因为国光的家庭带宽无公网的 IPv4,所以这里只开启 IPv6 地址:

  1. 一般来说通过网卡获取的 IPv6 地址要准确一点
  2. Domains 直接填写我们想要解析的 IPv6 地址即可,DDNS-GO 会自动带着我们的 AK 和 SK 去控制台帮我们添加解析记录

使用 Docker 按照上述教程安装 DDNS-GO 的话,我们的配置文件默认明文保存在:

Bash
cat /opt/ddns-go/.ddns_go_config.yaml

这样就算配置了密码,忘记了查看一下这个文件即可,同时也要记住不要随便泄露这个文件,毕竟里面带着我们的 AK 和 SK 信息。

DDNS IPv6 解析效果

DDNS-GO 会在阿里云控制台里面自动添加 AAA IPv6 的解析记录:

然后我们就可以在有 IPv6 公网的网络环境随时随地访问我们的 PVE 控制台了:


最后更新: 2023-03-06