Как известно протокол IPv6 появился в качестве альтернативы для протокола IPv4, в виду того что позволяет использовать больше адресов, нежели его предшественник. Однако переход с IPv4 на IPv6 продолжается и по сегодняшний день, и поддержка IPv6 не везде присутствует. Для поддержки IPv6 требуется поддержка, как операционной системы, так и сетевой инфраструктуры в целом. По этой причине если данный протокол не поддерживается на вашем сервере, то его лучше отключить, чтобы сеть работала по функционирующим протоколам. При включенном но не работающем IPv6 могут возникать задержки связанные с маршрутизацией, например при поиске домена, попытках подключиться к адресам IPv6, а так же проявляться проблема может в различных программах использующие сетевые подключения.
Рассмотрим несколько способов отключения IPv6 в Linux CentOS 7. Для этих целей нам понадобится доступ к консоли сервера с правами суперпользователя.
Способ первый
Отключаем протокол IPv6 для всех интерфейсов операционной системы, для этого нам необходимо внести изменения в файл /etc/sysctl.conf. Открываем файл во встроенном редакторе vi:
vi /etc/sysctl.conf
Добавляем следующие строки:
net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1
Так же может потребоваться отключить протокол IPv6 для отдельных интерфейсов, предположим имя интерфейса enp0s3, в этом случае добавляем такую строку:
net.ipv6.conf.enp0s3.disable_ipv6 = 1
Сохраняем изменения в файле, после чего применяем изменения в конфигурации:
sysctl -p
Способ второй
Если вам необходимо отключить IPv6 не перезапуская конфигурацию, вы можете воспользоваться командами ниже, которые внесут изменения на лету.
echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6 echo 1 > /proc/sys/net/ipv6/conf/default/disable_ipv6
Введите команды поочередно, одну за другой, так же вы можете воспользоваться и такими командами:
sysctl -w net.ipv6.conf.all.disable_ipv6=1
После выполнения этих команд, IPv6 будет отключен. Кроме того, после отключения IPv6 могут появиться проблемы с некоторыми программами, где так же следует указать, чтобы не пытались использовать IPv6. Об этом далее.
Проблемы с SSH после отключения IPv6
Если у вас появились проблемы с SSH после отключения IPv6, выполните следующие манипуляции. Откройте файл конфигурации /etc/ssh/sshd_config
vi /etc/ssh/sshd_config
Найдите строку:
#AddressFamily any
Приводим к такому виду:
AddressFamily inet
Либо можно расскоментировать (убрать символ # в начале) строку:
#ListenAddress 0.0.0.0
Далее сохраняем изменения, после этого перезапускаем sshd.
systemctl restart sshd
Проблемы с Posfix после отключения IPv6
Проблемы так же могут появиться и с Postfix после отключения IPv6, для исправления ситуации необходимо выполнить следующие действия.
Открываем файл конфигурации /etc/postfix/main.cf:
vi /etc/postfix/main.cf
Находим строку inet_interfaces со значением localhost и закомментируем её, оставляем лишь строку со значением 127.0.0.1.
#inet_interfaces = localhost inet_interfaces = 127.0.0.1
Сохраняем изменения, перезапускаем Postfix:
systemctl restart postfix
Если у вас появилась возможность использования IPv6, вы можете таким же образом вернуть настройки в исходные положения, это не составит большого труда. После отключения не функционирующего IPv6 вы можете заметить улучшение работы сети.