我想创建一个与简单 DHCP IPv4 网络等效的 IPv6,systemd-networkd
其中服务器主机分发 IPv6 地址,并且许多客户端自动获取地址。
在 IPv4 中,这很简单,只需要 DHCP 服务器/客户端和 IPv4 地址池。到目前为止,我还无法在 IPv6 世界中重现同样的事情。我正在关注系统网络文档,建议使用“IPv6AcceptRA”
服务器.网络配置
[Match]
Name=enp0s4
[Network]
Address=fd00:1::/64
IPv6PrefixDelegation=yes
[IPv6Prefix]
Prefix=fd00:1::/32
[IPv6PrefixDelegation]
RouterLifetimeSec=20
客户端.网络配置
[Match]
Name=enp0s4
[Network]
IPv6AcceptRA=yes
通过此设置,服务器似乎正常运行:
# ip a
...
3: enp0s4: <BROADCAST,MULTICAST,UP,LOWER_UP8000> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether ca:fe:b9:4d:9d:6f brd ff:ff:ff:ff:ff:ff
inet6 fd00:1::/64 scope global tentative flags 08
valid_lft forever preferred_lft forever
inet6 fe80::c8fe:b9ff:fe4d:9d6f/64 scope link tentative flags 08
valid_lft forever preferred_lft forever
...
但客户端没有得到地址:
# ip a
...
3: enp0s4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
link/ether ca:fe:10:2a:af:27 brd ff:ff:ff:ff:ff:ff
inet6 fe80::c8fe:10ff:fe2a:af27/64 scope link tentative flags 08
valid_lft forever preferred_lft forever
...
这应该有效吗,或者有更好的方法来解决这个问题吗?
答案1
在服务器上安装radvd
或其他一些路由器通告守护程序,将其配置为分发您的 ULA 前缀,然后就可以开始了。客户通过 SLAAC 获取地址。或者,安装并配置支持 IPv6 的 DHCP 服务器。