我的新 ISP 给了我一个带有 /56 前缀的公共 IPv6 地址来玩:
2001:b:c:d:5:6:7:8/56
我想创建两个由 linux 服务器划分的子网,如下所示:
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 restart 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 的 systemd 239 运行 Debian stretch(因为 stable 中的 232 尚不支持前缀委托)。我删除了ifupdown包,因为我的目标是学习如何仅使用systemd-networkd来解决这个问题。