DMIT 主机自定义 IPv6 地址
内容提要
DMIT 为每台 VPS 分配整个 /64 IPv6 段,用户可自定义短地址(如 2001:db8:1:2::/64)。修改 netplan 配置添加地址后,需禁用 SLAAC 自动生成的长地址,通过 sysctl 或 systemd-networkd 覆盖文件实现,最终使服务器内外访问均使用靓号 IPv6 地址。
延伸解读
IPv6 地址选择注意事项
虽然 IPv6 允许主机部分全为零,但并非所有服务商都如此。例如 Oracle 可能会占用 /64 段中的某些地址,甚至将 ::1 用作默认网关。因此,在自定义地址前,务必确认服务商是否将整个 /64 段分配给你,避免地址冲突。DMIT 明确将整个段分配给用户,可以放心使用。
禁用 SLAAC 的两种方法
要确保出站流量使用自定义地址,需禁用 SLAAC 自动生成的临时地址。若未启用 systemd-networkd,可通过创建 /etc/sysctl.d/ipv6.conf 并设置 net.ipv6.conf.eth0.autoconf=0 实现;若启用了 systemd-networkd,则需创建 override.conf 文件,添加 [IPv6AcceptRA] UseAutonomousPrefix=no。两种方法效果相同,选择适合自己系统的方式即可。
验证配置是否生效
修改配置后,建议使用 ip -6 addr show dev eth0 检查地址列表,确认只剩自定义地址和 link-local 地址。同时,执行 curl ip.network 可查看出站 IPv6 地址,确保其已变为自定义的靓号地址。若仍显示长地址,可能是 SLAAC 未完全禁用,需检查配置是否正确。
Q&A
DMIT 主机如何自定义 IPv6 地址?
DMIT 为每台 VPS 分配整个 /64 IPv6 段,用户可以在 netplan 配置文件中添加自定义地址(如 2001:db8:1:2::/64),然后执行 netplan apply 生效。
为什么 DMIT 的 IPv6 地址可以设置为主机部分全零?
IPv6 允许主机部分全零,与 IPv4 不同,因此可以使用 2001:db8:1:2::/64 这样的最短地址。
如何禁用 SLAAC 自动生成的长 IPv6 地址?
可以通过创建 /etc/sysctl.d/ipv6.conf 并设置 net.ipv6.conf.eth0.autoconf = 0 来禁用;如果使用 systemd-networkd,则创建 /etc/systemd/network/10-netplan-eth0.network.d/override.conf 并添加 [IPv6AcceptRA] UseAutonomousPrefix=no。
DMIT 和 Oracle 在 IPv6 地址分配上有什么不同?
DMIT 将整个 /64 段分配给用户,用户可以自由使用;而 Oracle 可能会占用网络地址或默认网关地址,用户需注意。
如何验证修改后的 IPv6 地址是否生效?
可以使用 ip -6 addr show dev eth0 查看地址列表,确认自定义地址存在且没有 SLAAC 地址;也可以执行 curl ip.network 查看默认出口 IPv6 地址。
为什么需要禁用 SLAAC?
因为 SLAAC 会自动生成长地址,导致服务器访问外部 IPv6 服务时可能使用长地址,影响需要设置 IPv6 来源白名单的服务(如 DNS 服务器)。