如何從 DHCPv6 伺服器取得正確的前綴長度?

如何從 DHCPv6 伺服器取得正確的前綴長度?

我有兩台虛擬機,運行 Ubuntu Server 20.04。其中一台虛擬機器是 DHCPv6 伺服器,另一台是客戶端。我可以在用戶端上設定 IPv6 位址,但無法 ping 到該位址或從該位址進行 ping 操作。ip -6 route顯示此位址,但前綴長度為 128。當我將從伺服器取得的客戶端 IP 位址新增至路由表但前綴長度等於 64 時,我可以在虛擬機器之間執行 ping 操作。

這是我/etc/dhcp/dhcpd6.conf在伺服器上的檔案:

default-lease-time 2592000;
preferred-lifetime 604800;
option dhcp-renewal-time 3600;
option dhcp-rebinding-time 7200;
allow leasequery;
option dhcp6.name-servers 3ffe:501:ffff:100:200:ff:fe00:3f3e;
option dhcp6.domain-search "test.example.com","example.com";
option dhcp6.info-refresh-time 21600;

authoritative:
subnet6 fdaa:a:a:a::/64 {
   range6 fdaa:a:a:a::100 fdaa:a:a:a::199;
}

最後三行是我添加的。

這是我/etc/netplan/00-installer-config.yaml在客戶端的文件:

network:
   ethernets:
      ens3:
         dhcp4: false
         dhcp6: true
   version: 2

預先感謝您的任何幫助。

答案1

根據DHCPd 文件

在正常運作的系統中,用戶端應使用前綴長度 128,並從路由器的 RA 獲取任何鏈路上資訊。

由於您使用兩個虛擬機,並且我假設沒有支援 IPv6 的虛擬路由器連接到該虛擬網絡,因此沒有人發送這些 RA,因此您的客戶端無法取得正確的子網路遮罩。

檢查連結以獲取更多資訊。

相關內容