Отключение IPV6 в Debian 12
Эта статья часть инструкции, по настройке локального сервера, без статического белого IP адреса, с доступом из интернет по имени домена, на сервере устанавливаем Docker и Parteiner.
Переходите по ссылке в оглавление чтоб увидить все части этой инструкции.
Установим необходимый для функционирования набор пакетов. Отключим IPV6. Создадим SSL сертификаты.
Обязательно выполните настройку SSH подключения по ключу с парольной фразой, это важно, только после этого начинайте конфигурировать ваш сервер.
Войдите на сервер используя учетную запись root, обновить список доступных пакетов
# apt-get update
Обновит систему, установив свежие версии ПО
# apt-get upgrade
# apt-get -y install software-properties-common dirmngr apt-transport-https lsb-release ca-certificates curl wget sudo mc htop gnupg lsb-release --fix-missing
# apt-get install net-tools --fix-missing
# apt-get -y install firmware-linux-free firmware-linux-nonfree --fix-missing
Перезагрузка
# shutdown -r now
Обновит список доступных пакетов
# apt-get update
Обновит систему, установив свежие версии ПО
# apt-get upgrade
ОтключитьIPv6 в Debian
Проверяем список интерфейсов, где IPv6
# ip addr | grep inet6
Смотрим на подключения прослушивающие порты по IPv6
# netstat --all | grep -E "tcp6|udp6"
Отключить IPv6 в ядре Debian можно командами или добавлением опций в файлы конфигов
# echo net.ipv6.conf.all.disable_ipv6=1 > /etc/sysctl.d/disableipv6.conf
# echo net.ipv6.conf.default.disable_ipv6 = 1 >> /etc/sysctl.d/disableipv6.conf
# echo net.ipv6.conf.lo.disable_ipv6 = 1 >> /etc/sysctl.d/disableipv6.conf
в файле /etc/netconfig закомментировать строки
# nano /etc/netconfig
#udp6 tpi_clts v inet6 udp - -
#tcp6 tpi_cots_ord v inet6 tcp - -
В файле /etc/hosts закомментировать все строки, относящиеся к IPv6
# nano /etc/hosts
Отредактируйте файл /etc/sysctl.conf
# nano /etc/sysctl.conf
Добавьте в конец файла такую запись
# Turn off IPv6
net.ipv6.conf.all.disable_ipv6 = 1
в /etc/ssh/sshd_config раскомментировать строку ListenAddress для ipv4 предварительно сохраните кофигурацию
# cp /etc/ssh/sshd_config /home/ВАШ ПОЛЬЗОВАТЕЛЬ/sshd_config.backup
# nano /etc/ssh/sshd_config
Вот так это выглядит:
#ListenAddress ::
ListenAddress 0.0.0.0
Убираем ipv6 если такие есть в настройках сетевого соединения, удалив все значения начиная с
iface (Имя вашего сетевого интерфейса) inet6 static
# nano /etc/network/interfaces
Так должно выглядеть, разумеется адресация на скриншоте не ваша, у вас будут ваши значения
Если у вас нет строки с iface (Имя вашего сетевого интерфейса) inet6 static и значений IPV6.
Выходите из файла не внося каких либо изменений.
Сохраните изменения в /etc/sysctl.conf
# sysctl -p
Ответ должен быть таким
Добавим в загрузчик информацию о том что мы против каких либо манипуляций с IPV6.
Сделайте резервную копию конфигурации загрузчика
# cp /etc/default/grub /etc/default/grub.backup
Добавьте значения - ipv6.disable=1 в строки (GRUB_CMDLINE_LINUX_DEFAULT) и (GRUB_CMDLINE_LINUX)
# nano /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1 quiet"
GRUB_CMDLINE_LINUX="ipv6.disable=1"
Сохраните и закройте этот файл.
Теперь мы должны обновить загрузчик GRUB, иначе система не заметит изменений. Вернитесь в окно терминала и выполните следующую команду:
# update-grub
Установите утилиту для генерации SSL сертификатов.
# apt-get install openssl -y
Создайте сертификаты SSL c именем вашего домена, в моём случае «russia-region-58»
openssl req -x509 -newkey rsa:1024 -keyout /etc/ssl/private/ИМЯ ВАШЕГО ДОМЕНА.key -out /etc/ssl/certs/ ИМЯ ВАШЕГО ДОМЕНА.crt -nodes -days 7365
# openssl req -x509 -newkey rsa:1024 -keyout /etc/ssl/private/russia-region-58.key -out /etc/ssl/certs/russia-region-58.crt -nodes -days 7365
Обратите внимание, когда будете вводить имя своего сервера, при помощи копировать – вставить, на лишние пробелы.
Система задаст вам несколько простых вопросов, ответьте в соответствии с вашими данными, имя сервера в сертификате должно быть валидно, то есть именно то что вы используете. Не пишите туда всякую ересь с целью конспирации.
Смотрите на скриншот как у меня заполненно. Для моего домена - russia-region-58.duckdns.org
Настройте права доступа к файлам сертификата
# chmod 600 /etc/ssl/private/russia-region-58.key
# chmod 600 /etc/ssl/certs/russia-region-58.crt
Перезагрузка
# shutdown -r now
Проверяем что система знает и где применяет IPv6
# ip addr | grep inet6
Смотрим на подключения прослушивающие порты по IPv6
# netstat --all | grep -E "tcp6|udp6"
# ip a
# ifconfig
Если все чисто, выключаем виртуальную машину
# shutdown -h now
Сделайте резервную копию вашей виртуальной машины VmWare.
Продолжение в следующей части.