Automatyczną konfigurację można tymczasowo wyłączyć dla eth1 za pomocą:
sudo sysctl -w net.ipv6.conf.eth1.autoconf=0
sudo sysctl -w net.ipv6.conf.eth1.accept_ra=0
lub dla wszystkich interfejsów z:
sudo sysctl -w net.ipv6.conf.all.autoconf=0
sudo sysctl -w net.ipv6.conf.all.accept_ra=0
Ponowne włączenie działa przy użyciu 1 zamiast 0 w połączeniu.
Wyłączenie na stałe można wykonać, wprowadzając wpis /etc/sysctl.conf
. W Debian Etch (prawdopodobnie także w nowszych wersjach), bez ustawienia accept_ra
, system przeprowadzi automatyczną konfigurację za pomocą lokalnego adresu Link ( fe80..
)
Gart jak wspomniano poniżej, automatyczna konfiguracja routera adres i odkrycie będzie wyłączona, jeśli sam gospodarz jest routerem i accept_ra
nie jest 2
, to znaczy
net.ipv6.conf.<iface|all|default>.forwarding=1
i
net.ipv6.conf.<iface|all|default>.accept_ra=0
lub net.ipv6.conf.<iface|all|default>.accept_ra=1
.
gdzie iface
jest twój interfejs
net.ipv6.conf.all.forwarding=1
Jest ustawiony.net.ipv6.conf.all.accept_ra = 0 powyżej nie powinno być wykonywane, ponieważ RA są niezbędne do wskazania połączenia on-link i off-link dla prefiksu (zgodnie z RFC5942), a także automatycznej konfiguracji szeregu innych parametry, takie jak MTU, limity czasu wykrywania sąsiadów itp.
Jeśli chcesz wyłączyć autokonfigurację, wyłącz autoconf sysctl jak wyżej lub wyłącz A (bit autokonfiguracji) w opcji informacji o prefiksie (PIO) w RA.
źródło
Nie działało to dla mnie w Debian Wheezy. Po sprawdzeniu /etc/sysctl.conf musiałem użyć
źródło
sysctl
Rozwiązanie nie działa dla nas na Ubuntu 18.04 Bionic. Rozwiązaliśmy to przez:Edycja
/etc/netplan/01-netcfg.yaml
, konfiguracja:Może być konieczne użycie nazwy interfejsu zamiast
eth0
. Po zapisaniu pliku uruchom:netplan apply
lubreboot
Jeśli otrzymałeś już adres IP IPv6 z automatycznej konfiguracji i chcesz go usunąć bez ponownego uruchamiania, możesz wykonać:
Oczywiście w tym poleceniu musisz wymienić adres IP i urządzenie.
źródło
Problem z Ubuntu 18 i ipv6 polega na tym, że systemd-networkd kontroluje parametry jądra, więc chociaż można wyłączyć ipv6 za pomocą sysctl, networkd będzie więcej niż szczęśliwy, włączając je dla ciebie, jeśli konfiguracja nie stanowi inaczej.
Moim rozwiązaniem do wyłączenia ipv6 jest skonfigurowanie link-local w netplan na pusty skalar (pod warunkiem, że nie masz adresów IP ipv4 dla lokalnego łącza)
Konfiguracja skompiluje konfigurację dla networkd, która zostanie opublikowana w /run/systemd/network/10-netplan-eth0.network i która przekona networkd, aby nie instalował ipv6 dla eth0
Jeśli chcesz wyłączyć ipv6 również w pętli zwrotnej, można to łatwo osiągnąć, ustawiając parametr jądra net.ipv6.conf.all.disable_ipv6 na 1. Networkd nie wydaje się kontrolować pętli zwrotnej.
źródło