systemd-networkdを使用するIPv6サブネット

systemd-networkdを使用するIPv6サブネット

私の新しいISPは、プレフィックス/ 56のパブリックIPv6アドレスを提供します。

2001:b:c:d:5:6:7:8/56

次のように、Linuxサーバーで区切られた2つのサブネットを作成したいと思います。

internet - fritzbox - server - pc

ただし、プレフィックスを内部サブネットに伝播する方法を理解する必要があります。これまでは、ルーター広告を受け入れ、Fritz!BoxでIPv6プレフィックスを要求するようにサーバーの外部インターフェイスを設定しました。

/etc/systemd/network/eth1.network

[Match]
Name=eth1

[Network]
DHCP=ipv6
IPv6AcceptRA=yes
IPv6PrefixDelegation=dhcpv6
IPForward=yes

〜の後systemctl 再起動 systemd-networkd外部インタフェース取得アドレス:

ip -6 addr
  ...
  inet6 2001:b:e:f:1:2:3:4/64 scope global noprefixroute dynamic

ここまでが正しいですか?また、混乱するのは、インターネット接続とインターフェイスの接頭辞が後半で異なることです。

internet: 2001:b:c:d::
server:   2001:b:e:f::

今主な質問:内部インターフェイスを設定する方法は? Fritz!Boxに別のプレフィックスを要求できますか?

/etc/systemd/network/eth0.network

[Match]
Name=eth0

[Network]
???

私のサーバーはStretch-backportsでDebian Stretchとsystemd 239を実行しています(安定バージョンの232はまだプレフィックス委任をサポートしていないためです)。私は〜をクリアしました上下なら私の目標はこの問題を解決する方法を学ぶことですので、パッケージを使用してください。システムネットワークただ。

ベストアンサー1

私は過去数日間、同様の構成で作業してきました。

この記事を書いた時点で、systemd-networkdには、プレフィックスを配布するインターフェイスにデリゲートプレフィックスアドレスを配置しないバグがあります。ただし、インターフェイスはセグメントのデバイスにプレフィックスを提供します。

外部インターフェイスの IPv6 アドレスとプレフィックスとの間の不一致は、ISP のネットワーク構成によって発生します。私のISPは私に2つの異なるDHCPv6アドレスブロックを与えました。 1つは委任用に提供されたものと同じプレフィックスを使用し、もう1つは別のプレフィックスを使用しました。 DHCPv6 リースの有効期限が切れると、ランダムに変更されます。

私が使用する構成はアーチLinuxウィキ まず、「外部」インターフェイス(Fritz!boxに接続されているインターフェイス)を設定します。

/etc/systemd/network/EXTERNAL.network
[Match]
...
[Network]
DHCP=yes
IPForward=yes
IPv6AcceptRA=yes
IPv6DuplicateAddressDetection=1
IPv6PrivacyExtensions=kernel

すでに持っているeth1コードは正しいようです(eth1が外部インターフェイスであると仮定してください)。私の設定では、インターフェイスでDHCPv4およびDHCPv6クライアントを有効にしました。

これで、内部インターフェイスを次のように設定する必要があります。

/etc/systemd/network/INTERNAL.network
[Match]
...
[Network]
IPv6PrefixDelegation=dhcpv6
IPv6DuplicateAddressDetection=1
IPv6PrivacyExtensions=no
LinkLocalAddressing=ipv6

[IPv6PrefixDelegation]
RouterLifetimeSec=3600

これは、RouterLifetimeSecDHCPv6インターフェイスから受信したプレフィックスを送信するようにインターフェイスを設定するために重要です。

おすすめ記事