Ipv6

IPv6 主機使用路由器的鏈路本地地址配置預設路由

  • October 30, 2013

我最近按照http://www.chronos-tachyon.net/reference/debian-ipv6-and-hurricane-electric上的說明將 IPv6 添加到我們的網路中。

但是,網路上的主機會自動將預設路由配置到路由器的本地鏈路地址,而不是全域地址。

http://ipvsix.me/?p=88上的文章說:

您會發現在 LAN 主機上,它們的預設路由和網關指向充當 IPv6 網關/路由器的 Linux 機器上 eth1 的 Link-Local 地址。這是完全正常和預期的。

我的問題是路由器(執行 Debian 的派生)沒有響應對其鏈路本地地址的 NDP 請求,因為它配置了全域地址。

有沒有辦法:

  • 讓主機自動使用路由器的全域地址作為預設主機,或者
  • 讓路由器回復對其鏈路本地地址的 NDP 請求。

/etc/radvd.conf 在路由器上:

interface eth0 {
   AdvSendAdvert on;
   AdvLinkMTU 1480;
   MinRtrAdvInterval 60;
   MaxRtrAdvInterval 180;
   prefix 2001:xxxx:xxxx:xxxx::1/64 {
       AdvRouterAddr on;
       AdvPreferredLifetime 600;
       AdvValidLifetime 3600;
   };
   route ::/0 {
   };
   RDNSS 2001:xxxx:xxxx:xxxx::2 {};
};

原來我在/etc/radvd.conf. 糾正它解決了這個問題。

IPv6 背靠背路由完全基於鏈路本地地址,因此看到路由器考慮網關鏈路本地是正常的。

即使您使用 IPv6 全域地址,設備也會使用網路發現進行第 2 層解析以獲取鏈路本地地址。

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