这里的“路由”是什么意思
前缀被路由到您的实例,而不是与其他客户共享在某个网段上。网络上没有其他设备响应这些地址,中间也没有邻居发现代理,您可以在 /64 内绑定任何内容而无需事先询问。这也意味着路由器通告不是机制:地址和网关是静态的,等待 SLAAC 将一无所获。
面板为每个实例打印三个值——前缀、我们预先分配的地址以及网关。从那里获取这三个值。网关因站点而异。
Debian 13
镜像使用 systemd-networkd。编写您自己的单元,并保留打包的单元:
cat > /etc/systemd/network/20-wan-v6.network <<EOF
[Match]
Name=enp1s0
[Network]
Address=<ipv6>/64
Gateway=<gateway6>
IPv6AcceptRA=no
EOF
networkctl reload
networkctl status enp1s0如果网关是链路本地地址,则必须知道它所在的接口。该节已经通过 [Match] 限定到单个接口,因此无需进一步操作。
AlmaLinux 10
不再有 ifcfg- 文件。AlmaLinux 10 将连接保留为 NetworkManager keyfile,支持编辑它们的方式是 nmcli:
nmcli -f NAME,DEVICE connection show
nmcli connection modify "System eth0" ipv6.method manual ipv6.addresses <ipv6>/64 ipv6.gateway <gateway6> ipv6.may-fail no
nmcli connection up "System eth0"ipv6.may-fail no 阻止启动在 v6 配置之前声明网络就绪。这对于任何在启动时绑定 v6 地址并在地址不存在时放弃的服务都很重要。
检查它
ip -6 addr show dev enp1s0
ip -6 route show
ping -6 -c 3 paragonvps.com地址存在,默认路由存在,但没有任何响应?防火墙通常是罪魁祸首,ICMPv6 是通常的原因。邻居发现和“数据包过大”都位于 ICMPv6 中;有选择地过滤它们会以看起来完全像应用程序 bug 的方式破坏 IPv6,持续一天半。小数据包有效,大数据包消失。nftables 文章有一条规则不会这样做。
使用前缀的其余部分
同一接口上的额外地址:
ip -6 addr add <ipv6-2>/64 dev enp1s0 nodad使用另一行 Address= 或 ipv6.addresses 中的第二个条目,使其在重启后仍然存在。对于容器,从 /64 中切出一段,将其分配给桥接,并在主机上路由它。/80 对于任何桥接来说都绰绰有余。没有 NAT 步骤,也没有代理步骤,因为整个前缀已经指向您。
如果您需要多个路由子网,位于多个桥接或嵌套管理程序后面,请订购 /48 附加组件。它是委派的,而不是代理的,因此您这边的路由设计真正是您自己的。
两件悄悄破坏它的事情
- 重新启用 RA 接受的事情。“修复”网络的工具通常会这样做,最终您会得到第二条默认路由,并在两者之间切换。固定
IPv6AcceptRA=no。 - 启用转发。设置
net.ipv6.conf.all.forwarding=1会使内核停止在每个接口上处理路由器通告。在这里无害,因为 RA 已经关闭,但在责怪站点之前值得了解。
完整的每站点详细信息,包括哪些位置将 v6 带到边缘,请参见网络页面。