Networking

DHCPCD 不委託分配的 IPv6 前綴

  • April 2, 2022

我一直在嘗試讓 IPv6 PDdhcpcd在我的家庭伺服器上工作,pppradvd允許 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.7ISP 需要 VLAN 7,所以這是 ppp 綁定的)介面由systemd-networkd(雖然 DHCP 不由它處理)管理,但ppp0ppp.

舊執行緒,但這是Google在 2022 年推出的使用 isc-dhcp-client 配置 IPv6 PD 的少數熱門產品之一,因此它的價值:

在早期版本的 isc-dhcp-client 中存在一個已知限制,該限制會阻止此配置在 PPPoE 介面(如 ppp0)上成功。即使完全按照官方文件中輸入的所有參數,配置最終也會由於 ppp0 是“不受支持的介面類型”而失敗(請參閱 syslog)。該問題已在上游得到解決,但截至 2022 年 4 月,該修復尚未滲透到 Debian 11 等更“保守”的發行版。直接從上游 git 建構軟體包可能會解決問題,但即使是官方 Debian Wiki 也推薦如果您需要通過 PPPoE 進行前綴協商,請使用 Wide-dhcp6-client 等替代工具來解決此問題。

引用自:https://serverfault.com/questions/1035443