Od jednego z czytelników dostałem wczoraj prośbę o pomoc – jego VPS (akurat w DigitalOcean, założony z mojego linka partnerskiego) zaczął się dziwnie zachowywać. Niby wszystko działa, ale np. operacja aktualizacji systemu trwa strasznie długo, tzn. system jakby „długo myślał” przed połączeniem z każdym adresem, który dodatkowo wygląda dość dziwnie.

Od razu skojarzyłem to z protokołem IPv6, który w końcu zapewne całkowicie wyeliminuje IPv4, ale na razie mniej doświadczonym potrafi sprawić więcej problemów, niż teoretycznie pożytku z niego, dlatego jako doraźne rozwiązanie zaproponowałem tymczasowe wyłączenie IPv6, co rozwiązało problem…

Wyłączamy IPv6 w systemie Debian

Przed IPv6 raczej nie ma ucieczki, i prędzej czy później każdy z Was będzie musiał go na swojej maszynie włączyć/skonfigurować (może kiedyś napiszę jakiś poradnik na ten temat), ale mimo upływu lat są sytuacje – jak opisana powyżej, że może zajść potrzeba wyłączenia wsparcia dla tego protokołu.

Najprościej jest usunąć (lub zakomentować) linijki odpowiedzialne za obsługę IPv6 dla danego interfejsu sieciowego:

sudo nano /etc/network/interfaces

I np. dla podstawowej karty sieciowej (eth0) prawdopodobnie znajdziemy tam zapis w stylu:

iface eth0 inet6 static
        address ABCD:ABCD:0000:1234:0000:0000:1234:1234
        netmask 64
        gateway ABCD:ABCD:0000:1234:0000:0000:0000:0001
        autoconf 0
        dns-nameservers 2001:4860:4860::8844 2001:4860:4860::8888 8.8.8.8

Wystarczy skasować te linijki, lub – tak lepiej, bo w przyszłości wystarczy tylko odkomentować – zakomentować je, dodając przed każdą z nich znak #:

#iface eth0 inet6 static
#        address ABCD:ABCD:0000:1234:0000:0000:1234:1234
#        netmask 64
#        gateway ABCD:ABCD:0000:1234:0000:0000:0000:0001
#        autoconf 0
#        dns-nameservers 2001:4860:4860::8844 2001:4860:4860::8888 8.8.8.8

Na koniec restart sieci:

sudo /etc/init.d/networking restart

Jeśli okazałoby się, że to za mało, i nadal jest jakiś problem, to możecie podejść do sprawy globalnie, i wyłączyć całkowicie obsługę IPv6 w systemie:

sudo nano /etc/sysctl.conf

I gdzieś na samym dole dodajemy:

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
net.ipv6.conf.eth0.disable_ipv6 = 1

Na koniec jeszcze „wczytujemy do systemu” zmiany:

sudo sysctl -p

Z tego co kojarzę to są jeszcze inne metody, ale ja osobiście jeśli już z jakichś przyczyn muszę wyłączyć na serwerze IPv6, to korzystam z metod opisanych powyżej…

Zgłoś błąd na stronie

Potrzebujesz profesjonalnej pomocy? Skontaktuj się z nami!

WebInsider poleca księgowość wFirma
WebInsider korzysta z VPSa w HitMe.pl
WebInsider poleca VPSy DigitalOcean
WebInsider poleca serwis Vindicat
Napisz komentarz
wipl_napisz-komentarz_01Jeśli informacje zawarte na tej stronie okazały się pomocne, możesz nam podziękować zostawiając poniżej swój komentarz.

W tej formie możesz również zadać dodatkowe pytania dotyczące wpisu, na które - w miarę możliwości - spróbujemy Ci odpowiedzieć.
Linki partnerskie
Niektóre z linków na tej stronie to tzw. "linki partnerskie", co oznacza, że jeśli klikniesz na link i dokonasz wymaganej akcji (np. zakup/rejestracja) możemy otrzymać za to prowizję. Pamiętaj, że polecamy tylko te produkty i usługi, z których sami korzystamy, i uważamy, że są tego na prawdę warte... :-)
Znaki towarowe i nazwy marek
W niektórych wpisach (oraz innych miejscach na stronie) mogą być przedstawione/użyte znaki towarowe i/lub nazwy marek, które stanowią własność intelektualną tych podmiotów, a zostały użyte wyłącznie w celach informacyjnych.

Potrzebujesz profesjonalnej pomocy? Skontaktuj się z nami!