C точки зрения практических соображений ipv6 в настоящее время на сервере не нужен и его можно отключить.
Перед отключением ipv6 необходимо на всякий случай проверить, какие программы его используют в своей работе. Это нужно для того, чтобы избежать ошибок в их работе, предварительно отключив ipv6 в конфигурациях. Для того, чтобы увидеть, какие программы висят на ipv6 интерфейсе воспользуемся командой netstat:
netstat -tulnp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2317/master tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1333/sshd tcp6 0 0 ::1:25 :::* LISTEN 2317/master tcp6 0 0 :::22 :::* LISTEN 1333/sshd udp 0 0 0.0.0.0:49252 0.0.0.0:* 694/avahi-daemon: r udp 0 0 0.0.0.0:123 0.0.0.0:* 715/chronyd udp 0 0 0.0.0.0:5353 0.0.0.0:* 694/avahi-daemon: r udp 0 0 127.0.0.1:323 0.0.0.0:* 715/chronyd udp6 0 0 :::123 :::* 715/chronyd udp6 0 0 ::1:323 :::* 715/chronyd
Все строки с ::: это ipv6 протокол. В данном случае это sshd, postfix и chronyd. Отключим им ipv6 и оставим только ipv4. Начнем с sshd. Открываем файл настроек
mcedit /etc/ssh/sshd_config #Находим строчки #AddressFamily any #ListenAddress 0.0.0.0
Изменяем
AddressFamily inet ListenAddress 0.0.0.0
Теперь открываем файл настроек постфикс
mcedit /etc/postfix/main.cf #Ищем строку #inet_protocols = all
Меняем
inet_protocols = ipv4
Отключаем ipv6 в chronyd. Для этого создаем файл
mcedit /etc/sysconfig/chronyd # добавляем в этот файл OPTIONS=-4
И теперь отключаем ipv6 в CentOS. Открываем файл
mcedit /etc/sysctl.conf #добавляем туда строки: net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1
Редактируем файл
mcedit /etc/sysconfig/network # добавляем NETWORKING_IPV6=no IPV6INIT=no
Перезагружаемся и проверяем
reboot ifconfig eno16777728: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.159.129 netmask 255.255.255.0 broadcast 192.168.159.255 ether 00:0c:29:7d:59:3f txqueuelen 1000 (Ethernet) RX packets 2301 bytes 243024 (237.3 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 2138 bytes 1327955 (1.2 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 loop txqueuelen 0 (Local Loopback) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Нигде нет упоминания про inet6 и адреса формата ipv6. Значит все в порядке. Проверим список открытых портов
netstat -tulnp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2291/master tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1322/sshd udp 0 0 0.0.0.0:123 0.0.0.0:* 2453/chronyd udp 0 0 0.0.0.0:5353 0.0.0.0:* 697/avahi-daemon: r udp 0 0 127.0.0.1:323 0.0.0.0:* 2453/chronyd udp 0 0 0.0.0.0:57259 0.0.0.0:* 697/avahi-daemon: r
Все порты ipv4. Все в порядке, задача выполнена.