Наши партнеры

UnixForum





Библиотека сайта rus-linux.net

Как отключить протокол Ipv6 в системах Ubuntu, Linux Mint, Debian

Оригинал: How to disable Ipv6 on Ubuntu, Linux Mint, Debian
Автор: Silver Moon
Дата публикации: Jun 21, 2014
Перевод: Н.Ромоданов
Дата перевода: октябрь 2014 г.

Протокол ipv6

Протокол Ipv6 является следующей версией схемы адресации Ipv4, которая используется в настоящее время для назначения в сети Интернет. адресов, состоящих из чисел, доменным именам, таким как google.com.

Протокол Ipv6 позволяет использовать больше адресов, чем поддерживается в протоколе Ipv4. Однако он еще не так широко распространен и переход на него все еще продолжается.

Поддерживается ли в вашей системе протокол ipv6?

Для того, чтобы протокол Ipv6 работал у вас, нужно многое. Прежде всего вам нужна система/OS, в которой поддерживается протокол Ipv6. В Ubuntu Linux Mint и в большинстве современных дистрибутивов это сделано. Если вы посмотрите на выходные данные команды Ifconfig, вы можете увидеть адреса IPv6, назначенных сетевым интерфейсам

$ ifconfig
eth0      Link encap:Ethernet  HWaddr 00:1c:c0:f8:79:ee  
          inet addr:192.168.1.2  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::21c:c0ff:fef8:79ee/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:110880 errors:0 dropped:0 overruns:0 frame:0
          TX packets:111960 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:62289395 (62.2 MB)  TX bytes:25169458 (25.1 MB)
          Interrupt:20 Memory:e3200000-e3220000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:45258 errors:0 dropped:0 overruns:0 frame:0
          TX packets:45258 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:4900560 (4.9 MB)  TX bytes:4900560 (4.9 MB)

Взгляните на строку "inet6 addr".

Затем вам нужен маршрутизатор/модем, в котором также поддерживается протокол ipv6. И кроме того, ваш провайдер также должен поддерживать протокол ipv6.

Вместо того, чтобы проверять каждую часть сетевой инфраструктуры, лучше просто узнать, можно ли подключиться к веб-сайтам по протоколу ipv6.

Есть много сайтов, на которых проверяется поддержка протокола ipv6 для вашего соединения. Посмотрите, например, http://testmyipv6.com/.

Параметры ядра, которые позволяют использовать протокол ipv6, следующие

$ sysctl net.ipv6.conf.all.disable_ipv6
net.ipv6.conf.all.disable_ipv6 = 0

$ sysctl net.ipv6.conf.default.disable_ipv6
net.ipv6.conf.default.disable_ipv6 = 0

$ sysctl net.ipv6.conf.lo.disable_ipv6
net.ipv6.conf.lo.disable_ipv6 = 0

То же самое можно также проверить с Proc файлов

$ cat /proc/sys/net/ipv6/conf/all/disable_ipv6
0

Обратите внимание на то, что переменные управляют "отключением" ("disabling") протокола ipv6. Так если их установить в 1, то протокол ipv6 будет отключен.

Отключите ipv6, если он не поддерживается

Так что, если в вашей сетевой инфраструктуре протокол pv6 не поддерживается, то его лучше всего полностью отключить. Почему? Он может вызвать проблемы, например, задержки при поиске домена, создавать ненужные попытки подключения к адресам ipv6, что будет вызывать в сети задержку и т.д.

Мне для этого пришлось решить несколько проблем. Команда apt-get иногда пытается подключиться к адресам ipv6 и прекращает работать, а затем делает попытку для адреса ipv4. Взгляните на следующие выходные данные

$ sudo apt-get update
Ign http://archive.canonical.com trusty InRelease
Ign http://archive.canonical.com raring InRelease                                                                                                    
Err http://archive.canonical.com trusty Release.gpg                                                                                                  
  Cannot initiate the connection to archive.canonical.com:80 (2001:67c:1360:8c01::1b). - connect (101: Network is unreachable) [IP: 2001:67c:1360:8c01::1b 80]
Err http://archive.canonical.com raring Release.gpg                                                                                                  
  Cannot initiate the connection to archive.canonical.com:80 (2001:67c:1360:8c01::1b). - connect (101: Network is unreachable) [IP: 2001:67c:1360:8c01::1b 80]

.....

Т.к., вероятно, делалась попытка использовать протокол Ipv6, ошибки, подобные этим, в последних версиях Ubuntu встречались достаточно часто.

Я заметил, что аналогичное происходит и в других приложениях, таких как Hexchat, а также Google Chrome, в который поиск доменного имени иногда длится дольше обычного.

Поэтому лучшим решением будет отключение протокола Ipv6 для того, чтобы полностью избавиться от подобных вещей. Для этого потребуется небольшое переконфигурирование, а результат поможет вам решить многие проблемы с сетью в вашей системе. Пользователи даже сообщали об увеличении скорости работы интернета.

Отключение Ipv6 — метод 1

Отредактируйте файл - /etc/sysctl.conf

$ sudo gedit /etc/sysctl.conf

И в конец файла добавьте следующие строки

# IPv6 disabled
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

Сохраните файл и закройте его

Перезапустите sysctl с помощью следующей команды

$ sudo sysctl -p

Снова проверьте выходные данные, выдаваемые командой ifconfig, и на этот раз адреса ipv6 не должно быть

$ ifconfig
eth0      Link encap:Ethernet  HWaddr 08:00:27:5f:28:8b  
          inet addr:192.168.1.3  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1346 errors:0 dropped:0 overruns:0 frame:0
          TX packets:965 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1501691 (1.5 MB)  TX bytes:104883 (104.8 KB)

Если он не сработает, то попробуйте перезагрузить систему и снова проверьте ifconfig.

Отключение Ipv6 — метод GRUB

Протокол ipv6 также можно отключить, если отредактировать конфигурационный файл grub

$ sudo gedit /etc/default/grub

Найдите строку, в которой есть запись "GRUB_CMDLINE_LINUX", и отредактируйте ее следующим образом

GRUB_CMDLINE_LINUX="ipv6.disable=1"

То же самое можно добавить к значению переменной с именем "GRUB_CMDLINE_LINUX_DEFAULT" — будет работать любой вариант. Сохраните файл, закройте его и перегенерируйте конфигурацию grub.

$ sudo update-grub2

Перезагрузитесь. Теперь протокол ipv6 должен быть отключен.