我一直在尝试让 IPv6 PD 与dhcpcd
我的家庭服务器一起工作,ppp
并radvd
允许 SLAAC 工作并最终替换我的 ISP 提供的路由器。不幸的是,通过 RAdhcpcd
在接口上接收的前缀ppp0
仅被配置为该接口上的地址,而不是也被委托给正在运行的lan
接口radvd
。
我错过了什么?
/etc/dhcpcd.conf:
# Ignore changes on docker interfaces
denyinterfaces veth*
duid
# Persist interface configuration when dhcpcd exits.
persistent
option domain_name_servers, domain_name, domain_search, host_name
option interface_mtu
require dhcp_server_identifier
slaac private
noipv6rs
waitip 6
ipv6only
#Prefix Delegation
interface ppp0
option rapid_commit
ipv6rs
iaid 1
ia_pd 1/::/64 lan/0/64
#don't use ISP DNS servers
nohook resolv.conf
/etc/radvd.conf:
interface lan
{
AdvSendAdvert on;
prefix ::/64
{
AdvOnLink on;
AdvAutonomous on;
AdvRouterAddr on;
};
};
lan
和(我的wan.7
ISP 需要 VLAN 7,所以这是 ppp 绑定的)接口由systemd-networkd
(虽然 DHCP 不由它处理)管理,但ppp0
由ppp
.
旧线程,但这是谷歌在 2022 年推出的使用 isc-dhcp-client 配置 IPv6 PD 的少数热门产品之一,因此它的价值:
在早期版本的 isc-dhcp-client 中存在一个已知限制,该限制会阻止此配置在 PPPoE 接口(如 ppp0)上成功。即使所有参数都完全按照官方文档中的方式输入,由于 ppp0 是“不支持的接口类型”(参见 syslog),配置最终还是会失败。该问题已在上游得到解决,但截至 2022 年 4 月,该修复尚未渗透到 Debian 11 等更“保守”的发行版。直接从上游 git 构建软件包可能会解决问题,但即使是官方 Debian Wiki 也推荐如果您需要通过 PPPoE 进行前缀协商,请使用 Wide-dhcp6-client 等替代工具来解决此问题。