Networking

使用 ISC DHCP 和 RADVD 的簡單有狀態 DHCPv6。不工作?

  • March 24, 2022

我正在嘗試在 linux 機器上使用 ISC DHCPv6 設置一個簡單的 ipv6 網路。

這是我的 dhcpd6.conf:

subnet6 beef:fade::/112 { 
  max-lease-time 3600;
  range6 beef:fade::100 beef:fade::fffe;
}

dhcpv6 伺服器工作並將地址分配給指定範圍內的連接主機,但是,連接的設備無法相互 ping 或 ping dhcpv6 伺服器,因為它們使用 128 作為網路遮罩。

上網查了一下,發現是因為沒有RA。所以我下載並啟動了 RADVD,啟用了 ipv6 轉發並且我的防火牆被禁用了。這是我的 radvd.conf:

interface enp1s0
{
   AdvSendAdvert on;
   MinRtrAdvInterval 3;
   MaxRtrAdvInterval 10;
   prefix beef:fade::/112
   {
       AdvOnLink on;
       AdvAutonomous off;
   };

};

但這導致 radvd 說:enp1s0 prefix length should be: 64. 但我不想要前綴長度 64。我希望能夠在必要時將其設置為幾乎任何長度。

**我該怎麼做呢?**我唯一的要求是我必須使用 ISC DHCPv6 實現。

另外,假設我可以讓它工作。當在 DHCPv6 伺服器上啟用防火牆時,我必須向我的防火牆添加哪些規則才能使其正常工作。

顯然enp1s0 prefix length should be: 64只是一個警告,而不是問題的原因。

在我的特殊情況下,這不起作用的原因是客戶不接受 RA。要在 Linux 機器上接受 RA,您必須設置/proc/sys/net/net/ipv6/conf/eth0/accept_ra12.

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