我试图通过 networkd 实现与下面的 ip 命令等效,但没有成功。
ip route add default via fe80::1 dev eth0
我的网络配置如下所示,除了默认的 ipv6 路由外,还成功地启动了网络。我尝试添加和删除 GatewayOnLink=yes 没有任何成功。启动后运行上面的命令会打开 ipv6 连接,但我更愿意通过网络配置来实现。
/etc/systemd/network/00-eth0.network
----
[Match]
Name=eth0
[Network]
DHCP=no
DNS=8.8.8.8
[Address]
Label=static-ipv4
Address=X.X.X.X/32
Peer=Y.Y.Y.Y
[Address]
Label=static-ipv6
Address=X:X:X:X::1/64
[Route]
Gateway=fe80::1
Gateway=Y.Y.Y.Y
GatewayOnlink=yes
这是针对 Hetzner 云服务器的,我没有任何其他支持 IPV6 的机器来排除有关其设置的特定内容。Systemd 是在 coreos 上运行的 238 版。
一个块中不能有两个
Gateway
指令。[Route]
来自参考:https ://systemd.network/systemd.network.html#%5BRoute%5D%20Section%20Options
这对我有用:
这样第一个块添加了一个默认的 IPv6 路由条目,相当于
如果您出于某种原因不想要该
proto static
部件,请添加Proto=boot
到网络配置(这是 iproute2 的默认设置)。不是我希望接受的答案,因为它涉及网络外部的配置,但它确实使我的 IPv6 路由可靠: