我一直在尝试让 IPv6 PDdhcpcd
在我的家庭服务器上工作,并ppp
允许radvd
SLAAC 工作,最终取代我的 ISP 提供的路由器。不幸的是,通过 RA 在接口dhcpcd
上接收的前缀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
(我的 ISP 需要 VLAN 7,所以这是 ppp 绑定到的)接口由(虽然 DHCP 不由它处理)wan.7
管理,但是由 动态创建。systemd-networkd
ppp0
ppp
答案1
旧线程,但这是 Google 在 2022 年推出的少数几个使用 isc-dhcp-client 配置 IPv6 PD 的热门帖子之一,因此值得一提:
isc-dhcp-client 的早期版本中存在一个已知限制,导致此配置无法在 ppp0 等 PPPoE 接口上成功。即使所有参数都按照官方文档中的方式输入,配置最终也会失败,因为 ppp0 是“不受支持的接口类型”(请参阅 syslog)。该问题已在上游得到解决,但截至 2022 年 4 月,修复程序尚未渗透到 Debian 11 等更“保守”的发行版。直接从上游 git 构建软件包可能会解决问题,但即使是官方 Debian Wiki 也建议使用 wide-dhcp6-client 等替代工具来解决问题,如果您需要通过 PPPoE 进行前缀协商。