Jak możemy wyłączyć cały system IPv6 za pomocą poleceń terminalu?
Przeczytałem edycję /etc/modprobe.d/aliases i zastępowanie:
alias net-pf-10 ipv6
z:
alias net-pf-10 off
alias ipv6 off
Czy można to bezpiecznie zastosować i czy na stałe wyłącza ipv6 podczas ponownego uruchamiania?
networking
security
ipv6
Tinfoilhats
źródło
źródło
Odpowiedzi:
Pomyślnie wyłączyłem IPv6 po wprowadzeniu następujących wierszy
/etc/sysctl.conf
:uruchom także to polecenie, aby załadować zmiany
źródło
sudo sysctl -p
lub uruchom ponownie, aby zmiany odniosły skutek.net.ipv6.conf.wlan0.disable_ipv6 = 1
Jeśli twój komputer nie ładuje /etc/sysctl.conf podczas uruchamiania (co jest w moim przypadku), konieczne jest wyłączenie IPv6 z Grub. Jądro Linux ma opcję rozruchu o nazwie „ipv6.disable = 1”, która wyłącza IPv6 podczas uruchamiania.
Aby edytować opcje uruchamiania, edytuj „/ etc / default / grub” w dowolnym edytorze tekstu jako użytkownik root:
Znajdź wiersz zawierający „GRUB_CMDLINE_LINUX_DEFAULT”:
Dodaj „ipv6.disable = 1” do opcji rozruchu, a następnie zapisz plik grub:
Na koniec zaktualizuj grub:
źródło
/proc/sys/net/ipv6/
które mogłyby powodować problemy, np.X11 forwarding request failed
Ponieważsshd
próbuje się połączyć z nieskonfigurowanym interfejsem IPv6. Zauważ, że podobnie możesz pozbyć się IPv4 w ten sposób na maszynach wirtualnych z czystym IPv6. Dzięki.sudo sysctl -P
Najbardziej pomogła mi odpowiedź Carvalho, w tym komentarz dotyczący konieczności biegania .Jednak w moim przypadku przynajmniej:
i wydaje się, że druga linia była konieczna.
Być może ma to związek z faktem, że używam TP-Link Archer T2U, dla którego musiałem niestandardowo zbudować sterownik ze źródła.
Zakładam, że w rezultacie
<mydevice>
nie liczy się jako „all
”.Krótko mówiąc, jeśli niestandardowo dodano (niestandardowy) sterownik sieciowy,
net.ipv6.conf.all.disable_ipv6 = 1
może nie wystarczyć do wyłączenia sieci IPv6.Muszę jednak przyznać, że nie próbowałem linii
net.ipv6.conf.default.disable_ipv6 = 1
źródło
default
Problemem jest prawdopodobnie brak linii. Jeśli sterownik nie został jeszcze załadowany w momencie uruchamiania systemu, kiedy sysctl został wykonany, to nie został uwzględnionyall
- ale ustawienie wartości domyślnej oznaczałoby, że otrzymałoby to ustawienie później, gdy został załadowany.default
wpis i musiałem skonfigurować konkretne urządzenie, aby pomyślnie je wyłączyć.Oto jak sprawdzić, czy ipv6 jest włączony na twoim komputerze
Jeśli zobaczysz
jest włączony.
Jeśli nie widzisz żadnych danych wyjściowych, nie jest.
Aby wyłączyć ipv6, jeśli inne odpowiedzi na tej stronie nie działają dla ciebie, umieść na czarnej liście ipv6 razem. Aby to zrobić, użyj następującego polecenia:
Może to również pomóc:
Uruchom ponownie, aby zmiany odniosły skutek. Aby sprawdzić, czy jest włączony po uruchomieniu, ponownie uruchom to polecenie:
Nie powinno być wyjścia.
Kliknij tutaj, aby uzyskać informacje o tym, jak wyłączyć IPV6 podczas rozruchu.
źródło
ipv6
cechą jądra jest moduł jądra (używanyblacklist.local
do zapobiegania jego ładowaniu). Istnieje przypadek, że ipv6 jest wkompilowany w jądro (nie moduł), w którym to przypadku konieczne jest uruchomienie jądra za pomocąipv6.disable=1
paremetera rozruchowego (aby to zrobić: (1)sudo gedit /etc/default/grub
(2) wyszukaj wierszGRUB_CMDLINE_LINUX_DEFAULT=<args>
i (3) dodajipv6.disable=1
do parametrów startowych)Jeśli używasz nowoczesnej wersji Ubuntu (mam 16.04 LTS), możesz użyć tego schludnego rozwiązania:
Utwórz
/etc/sysctl.d/60-ipv6-disable.conf
zawierający następujący tekst:Biegać
service procps start
źródło
service procps restart
zamiast tego musiałem uruchomić Ubuntu 18.04