在轻量级服务器上配置 IPv6,通常涉及以下几个步骤。不同操作系统(如 Ubuntu、CentOS 等)的配置方式略有差异,下面以 Ubuntu 20.04/22.04 为例进行说明。
🧩 前提条件
- 你的服务器提供商支持 IPv6
- 比如:腾讯云、阿里云、华为云、DigitalOcean、Linode 等部分服务商提供 IPv6。
- 服务器系统已安装并运行
- 你有 SSH 访问权限
✅ 步骤一:确认服务器是否已有 IPv6 地址
ip a
或:
ifconfig
查看是否有类似 inet6 的地址输出,例如:
inet6 fe80::xxxx:xxxx:xxxx:xxxx
inet6 2400:xxxx:xxxx:xxxx::x
fe80::/10是本地链路地址(不能用于公网通信)- 其他则是公网 IPv6 地址
✅ 步骤二:启用 IPv6(如果被禁用了)
有些 VPS 默认关闭了 IPv6,可以通过以下命令检查:
cat /proc/sys/net/ipv6/conf/all/disable_ipv6
如果返回 1,说明 IPv6 被禁用,需要开启:
编辑 sysctl 配置文件:
sudo nano /etc/sysctl.conf
添加或修改以下内容:
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0
net.ipv6.conf.lo.disable_ipv6 = 0
保存后应用:
sudo sysctl -p
✅ 步骤三:自动获取 IPv6 地址(DHCPv6 或 SLAAC)
大多数云服务商使用 SLAAC 自动分配 IPv6 地址,无需额外配置。
对于 Ubuntu 使用 netplan
编辑 netplan 文件(路径可能不同):
sudo nano /etc/netplan/00-installer-config.yaml
示例配置:
network:
version: 2
ethernets:
enp1s0:
dhcp4: true
ipv6.addresses: []
ipv6.gateway: null
ipv6.nameservers: []
accept-ra: true
注意:
enp1s0是你的网卡名称,可通过ip link查看。
然后应用配置:
sudo netplan apply
✅ 步骤四:手动配置静态 IPv6(可选)
如果你有固定 IPv6 地址和网关,可以这样配置:
network:
version: 2
ethernets:
enp1s0:
addresses:
- 2400:abcd:efgh:1234::1/64
gateway6: 2400:abcd:efgh:1234::ff
nameservers:
addresses:
- 2001:4860:4860::8888
- 2001:4860:4860::8844
✅ 步骤五:测试 IPv6 连通性
ping6 ipv6.google.com
或访问 IPv6 测试网站:
- https://test-ipv6.com
- https://ipv6-test.com
✅ 步骤六:配置防火墙允许 IPv6(UFW 示例)
sudo ufw allow OpenSSH
sudo ufw allow 80
sudo ufw allow 443
sudo ufw enable
确保 UFW 支持 IPv6:
sudo nano /etc/default/ufw
设置:
IPV6=yes
重启 UFW:
sudo ufw disable && sudo ufw enable
📌 常见问题
Q:我的服务器没有公网 IPv6?
A:联系服务商开通 IPv6 功能。部分服务商默认不开启,比如腾讯云、阿里云需要在控制台中手动启用。
Q:如何为域名配置 IPv6 解析?
A:进入 DNS 控制台,添加 AAAA 记录,指向你的 IPv6 地址。
✅ 总结
| 步骤 | 内容 |
|---|---|
| 1 | 检查当前 IPv6 状态 |
| 2 | 启用 IPv6(如被禁用) |
| 3 | 配置 DHCP 或静态 IPv6 地址 |
| 4 | 应用配置并测试连通性 |
| 5 | 设置防火墙规则 |
如果你能告诉我你使用的具体操作系统和服务商(如腾讯云、阿里云、Linode 等),我可以给你更具体的配置方法!
CLOUD技术博