systemd-networkdを使用して静的IPv6パスを追加する方法

systemd-networkdを使用して静的IPv6パスを追加する方法

私は成功せず、ネットワークを介して以下の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 です。

ベストアンサー1

1ブロックには2つの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のデフォルト設定です)。

おすすめ記事