Wydaje się, że kiedy dhclient działa na eth0, otrzymuję adres IPv4 z serwera DHCP i adres IPv6 Scope: Link dołączony do eth0:
inet6 addr: fe80::a00:27ff:fed0:4d41/64 Scope:Link
Ale ze skryptu dhclient nie widzę, jak ten adres jest dodawany. Na innym interfejsie ze statycznym adresem IP chciałbym dodać link lokalny adres IPv6 i zastanawiałem się, czy istnieje ogólne polecenie, aby to zrobić bez znajomości mac.
Edycja:
Wygląda na to, że jądro przypisuje lokalny adres linku, gdy wykonasz „ip link set dev ethX up” lub „ifconfig ethX up”. Jednak w moim przypadku miałem kabel podłączony do interfejsu DHCP i żaden kabel nie był podłączony do interfejsu, który konfigurowałem statycznie. Nie mogę zweryfikować do poniedziałku, ale domyślam się, że jądro nie przypisuje do interfejsu lokalnych adresów łącza, jeśli nie ma łącza.
źródło
Odpowiedzi:
Lokalne adresy linków są uzyskiwane z adresu MAC urządzenia. Są one generowane automatycznie w ramach podnoszenia interfejsu. Automatyczna konfiguracja obejmuje proces wykrywania, aby upewnić się, że adres jest unikalny w sieci.
Podobny proces stosuje się do automatycznej konfiguracji adresów routowalnych, gdy dostępna jest reklama routera. Adresy te mogą być okresowo odnawiane w celu zapewnienia prywatności.
RFC 4862 określa procesy, których należy przestrzegać.
źródło
Znaleziono to! To polecenie nie wystarczy:
Zamiast tego muszę zrobić:
Tylko ta ostatnia przywraca lokalny adres łącza IPv6 na eth0.
Innymi słowy, moja dystrybucja wydaje się mieć gdzieś ukryty kod, który dynamicznie zmienia się za
net.ipv6.conf.eth0.disable_ipv6
każdym razem, gdy jest proszony o podniesienie lub wyłączenie sieci. Twój przebieg może się różnić.Dotarłem do sedna tego dzięki zwykłemu:
źródło