Надоело каждый раз вспоминать, как отключить ipv6 в том или ином приложении. Пока ipv6 у нас почти не используется, считаю, что его лучше отключать, чтобы не ловить лишние ошибки или проблемы с безопасностью. Буду вести эту шпаргалку для себя и остальных, если кому-то покажется полезным.
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Реклама ИП Скоромнов Д.А. ИНН 331403723315
Как отключить ipv6
Я отдельно рассказывал, как отключить ipv6 в Centos 7. На деле, это почему-то не всегда помогает. Надежнее отключить ipv6 у конкретного приложения. Ниже идет пополняемый список приложений, для которых я буду отключать ipv6.
Для того, чтобы проверить, какой интерфейс слушает приложение, можно использовать команду netstat. Если у вас нет соответствующего приложения, ставится оно так:
# yum install net-tools
для Centos, или вот так для Debian и Ubuntu
# apt install net-tools
Проверяем, какие порты и протоколы используют наши приложения:
# netstat -tulnp
Видим, что у нас приложения ntp, ssh и zabbix-client слушают протокол ipv6. Дальше пойдет инструкция по отключению. После того, как у всех приложений отключите ipv6, должна получиться такая картинка:
Ntp
Дальше инструкция, как отключить ipv6 в ntp в системе Ubuntu 16. В файле /etc/default/ntp добавляем в параметры флаг -4:
NTPD_OPTS='-4 -g'
Перезапускаем ntp:
# systemctl restart ntp
Проверяем отключение ipv6 у ntp:
# netstat -tulnp | grep ntp
Chrony
Отключаем ipv6 в chrony в Centos 7. Редактируем конфиг /etc/sysconfig/chronyd.
OPTIONS="-4"
Перезапускаем chrony:
# systemctl restart chronyd
Проверяем, отключился ли ipv6 у chrony:
# netstat -tulnp | grep chronyd
Sshd
Рассказываю, как отключить ipv6 у ssh. В конфигурационном файле /etc/ssh/sshd_config указываем параметр:
ListenAddress 0.0.0.0
Перезапускаем sshd:
# systemctl restart sshd
Проверяем, отключили ли ipv6 у ssh:
# netstat -tulnp | grep ssh
Zabbix-agent
Выключаем ipv6 у агента zabbix. В конфигурационном файле /etc/zabbix/zabbix_agentd.conf указываем параметр:
ListenIP=0.0.0.0
Перезапускаем zabbix-agent:
# systemctl restart zabbix-agent
Проверяем:
# netstat -tulnp | grep zabbix-agent
Zabbix-server
Отключаем ipv6 в zabbix сервере. В конфигурационном файле /etc/zabbix/zabbix_server.conf указываем параметр:
ListenIP=0.0.0.0
Перезапускаем zabbix-server:
# systemctl restart zabbix-server
Проверяем:
# netstat -tulnp | grep zabbix-server
Apache
Рассказываю, как отключить ipv6 у web сервера apache. В основном конфиге указываем параметр:
Listen 0.0.0.0:80
Перезапускаем apache:
# apachectl restart
Смотрим, отключили ipv6 у apache или нет. Если у вас Centos, то служба зовется httpd.
# netstat -tulnp | grep httpd
Если Debian/Ubuntu, то apache.
# netstat -tulnp | grep apache
Postfix
Отключаем ipv6 в postfix. Меняем в конфиге /etc/postfix/main.cf
inet_protocols = ipv4
Перезапускаем postfix:
# systemctl restart postfix
Проверяем отключение ipv6:
# netstat -tulnp | grep master
Dovecot
Отключаем ipv6 в dovecot. Меняем в конфиге /etc/dovecot/dovecot.conf
listen = *
Перезапускаем dovecot:
# systemctl restart dovecot
Проверяем отключение ipv6:
# netstat -tulnp | grep dovecot
Rsync
Отключаем ipv6 в rsync в CentOS 7. В конфигурационном файле /etc/sysconfig/rsyncd указываем параметр:
OPTIONS="-4"
Перезапускаем rsyncd:
# systemctl restart rsyncd
Проверяем, отключился ли ipv6 в rsync:
# netstat -tulnp | grep rsync
Mysql
Рассказываю, как отключить ipv6 в mysql server. В конфигурационный файл добавляем в секцию [mysqld] параметр:
bind-address = 127.0.0.1
Для того, чтобы слушать только локальный интерфейс или параметр:
bind-address = 0.0.0.0
Чтобы слушать все ipv4 адреса на сервере. Для применения настроек по отключению ipv6 в mysql сервере, перезапустите его:
# systemctl restart mysql
или
# systemctl restart mariadb
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном онлайн-курcе по администрированию MikroTik. Автор курcа – сертифицированный тренер MikroTik Дмитрий Скоромнов. Более 40 лабораторных работ по которым дается обратная связь. В три раза больше информации, чем в MTCNA.
Реклама ИП Скоромнов Д.А. ИНН 331403723315
 Server Admin Авторский блог системного администратора
Server Admin Авторский блог системного администратора
				 
			


 
	
Спасибо, добрый человек.
Даже нейронки не шарят за правильный фикс по chrony.
Пожалуйста дополните статью информацией о том как выключить ipv6 для squid
Для глобального отключения нужно в /etc/default/grub в строку GRUB_CMDLINE_LINUX добавить ipv6.disable=1
После этого выполнить в CentOS - grub2-mkconfig -o /boot/grub2/grub.cfg,
в Debian - grub-mkconfig -o /boot/grub/grub.cfg.
Ну, и перезагрузить машину.
Спасибо за информацию, попробую. До grub никогда руки не доходили. Не хочется туда лазить без крайней необходимости. А в самой системе надежно и гарантированно отключить не получается.
Попробовал. Да, правка /etc/default/grub решила задачу отключения ipv6 на CetntOS 7.
Не хотел трогать GRUB, но не смог найти способа отключить ipv6 в Nginx.
Дополнение. После отключения ipv6 в системе, Nginx стартовать отказался, сославшись на ошибку в конфигурации. И действительно, в файле /etc/nginx/nginx.conf нашлась заветная строчка:
listen [::]:80 default_server;
которую нужно было закомментировать для отключения ipv6.
Почему-бы просто не настроить файерволл на непропуск IPv6-трафика, раз у Вас он почти не используется?
Ну или не отключить сам протокол, как это делается в Винде?
Можно настроить firewall и закрыть ipv6. Но лично я не сторонник лишних сущностей. Если ipv6 не нужно, то зачем мне лишние правила в фаерволе? К тому же его может вообще не быть в некоторых случаях. Считаю более логичным отключить его в приложении.
В Centos по какой-то причине у меня не получается полностью отключить ipv6. Я не изучал подробно вопрос, но почему-то стандартных вещей в sysctl.conf
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
и в /etc/sysconfig/network
NETWORKING_IPV6=no
IPV6INIT=no
оказывается недостаточно.
Так надо же добавить интерфейс и не надо страдать с отключением в приложениях.
Например для интерфейса с именем eth0 так
net.ipv6.conf.eth0.disable_ipv6 = 1
Зачем ставить netstat, когда из коробки есть ss, который является его потомком
Предлагаю ввести в консоли две команды и сравнить вывод:
netstat -tulnp
ss -tulnp
Думаю, после этого не будет вопроса, зачем использовать netstat.