Ipv6
如何使用 systemd-networkd 添加靜態 ipv6 路由
我試圖通過 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
指定幾個“
[Route]
”部分以配置多個路由。這對我有用:
[Route] Gateway=fe80::1 GatewayOnLink=yes [Route] Gateway=Y.Y.Y.Y GatewayOnLink=yes
這樣第一個塊添加了一個預設的 IPv6 路由條目,相當於
ip -6 route add default via fe80::1 proto static
如果您出於某種原因不想要該
proto static
元件,請添加Proto=boot
到網路配置(這是 iproute2 的預設設置)。