Перед выполнением действий, описанных в этой статье, рекомендуется ознакомиться со статьей Настройка сетевых подключений в Astra Linux.
Следует помнить, что в настроенной по умолчанию системе (с включенной службой NetworkManager) к сетевым интерфейсам будут последовательно применены сначала настройки сетевой службы networking, а затем - настройки сетевой службы NetworkManager, которые перезаписывают настройки networking.
При этом в ОС, настроенной по умолчанию, служба NetworkManager обслуживает все сетевые интерфейсы, кроме интерфейса обратной петли ("loopback", lo).
|
| Управление параметрами загрузки в Astra Linux Special Edition РУСБ.10015-16 исп. 2 и Astra Linux Special Edition РУСБ.10265-01 (очередное обновление 8.1) см. статью Файл параметров загрузки /boot/boot.conf |
Проверить наличие адресов IPv6 у сетевых интерфейсов можно командой:
| ip a | grep inet6 |
В версиях Astra Linux с установленными оперативными обновлениями IPv6 по умолчанию отключен на уровне службы networking.
Однако, адреса IPv6 у сетевых интерфейсов по умолчанию присутствуют. Это происходит потому, что работающая по умолчанию служба NetworkManager сама настраивает сетевые интерфейсы перезаписывая настройки, установленные ранее службой networking. |
Данный способ запрещает ядру загрузку модулей IPv6, и позволяет выключить IPv6 независимо от настроек служб NetworkManager и networking. Выключать протокол IPv6 таким способом НЕ РЕКОМЕНДУЕТСЯ, так как отсутствие модулей IPv6 может вызвать неработоспособность некоторых программ (Samba, Контроллер ЕПП FreeIPA в Astra Linux). При необходимости отключить IPv6 рекомендуется использовать выключение настройками сети (см. ниже). |
В Astra Linux Special Edition РУСБ.10015-16 исп. 2 и в Astra Linux Special Edition РУСБ.10265-01 (очередное обновление 8.1) загрузчик GRUB2 не используется, а IPv6 выключается в файле /boot/boot.conf (параметр cmdline="ipv6.disable=1"). Подробнее см.отдельную статью Файл параметров загрузки /boot/boot.conf. |
Для выключения IPv6 параметрами загрузки найти в файле /etc/default/grub строчку GRUB_CMDLINE_LINUX, добавить туда параметр "ipv6.disable=1", например
| GRUB_CMDLINE_LINUX_DEFAULT="quiet net.ifnames=0 ipv6.disable=1" |
После внесения изменений в файл /etc/default/grub следует обновить конфигурацию загрузчика:
| sudo update-grub |
и перезагрузить машину.
Конфигурация IPv6 указанная в параметрах службы networking (файлы /etc/sysctl.conf и /etc/sysctl.d/*.conf) и службы NetworkManager (/etc/NetworkManager/system-connections/*) при использовании этого способа не имеет значения, однако следует убедиться, что настройки конфигурации не содержат параметров, относящихся к IPv6 (например, параметр net.ipv6.conf.eth0.disable_ipv6 = 1 в файлах /etc/sysctl.conf и /etc/sysctl.d/*.conf). При наличии таких параметров их следует удалить или закомментировать, так как попытки обращения к несуществующему стеку IPv6 будут вызвать ошибки.
Для сохранения стека IPv6 следует внести изменения в параметр GRUB_CMDLINE_LINUX в файле /etc/default/grub, заменив в атрибуте "ipv6.disable" значение 1 на значение 0:
| GRUB_CMDLINE_LINUX_DEFAULT="quiet net.ifnames=0 ipv6.disable=0" |
После внесения изменений в файл /etc/default/grub следует обновить конфигурацию загрузчика:
| sudo update-grub |
и перезагрузить машину. Далее использовать Динамическое управление настройками сети sysctl.
Отключение IPv6 настройкой параметров ядра сделано в ОС Astra Linux по умолчанию (см. выше файл /etc/sysctl.d/999-astra.conf), однако при наличии загруженного модуля ядра IPv6 служба NetworkManager по умолчанию сама назначает сетевым интерфейсам адреса IPv6. Чтобы этого не происходило следует выполнить одно из действий:
Либо настроить все нужные параметры интерфейса в файле /etc/network/interfaces. Тогда параметры интерфейса будут задаваться службой networking, а служба NetworkManager будет игнорировать все интерфейсы, упомянутые в /etc/network/interfaces, и её можно даже отключить за ненадобностью:
| sudo systemctl mask --now NetworkManager |
из командной строки установить метод ignore:
| nmcli con down "Проводное соединение 1" nmcli con mod "Проводное соединение 1" ipv6.method ignore nmcli con up "Проводное соединение 1" |
Убедиться, что IPv6 не отключен в файле параметров загрузки:
При использовании загрузчика grub2:
Найти в файле /etc/default/grub строку параметров загрузчика GRUB_CMDLINE_LINUX и убедиться, что там не указан параметр "ipv6.disable=1", если такой параметр указан - убрать его или изменить значение параметра на 0
Если файл был изменен, то обновить загрузчик:
| sudo update-grub |
и перезагрузить компьютер.
Для включения протокола IPv6 с помощью настроек сети следует в файле /etc/sysctl.d/999-astra.conf в строке:
| net.ipv6.conf.all.disable_ipv6 = 1 |
заменить значение на 0:
| net.ipv6.conf.all.disable_ipv6 = 0 |
или удалить.
| Следует контролировать наличие модифицируемых параметров в файле /etc/sysctl.conf и файлах /etc/sysctl.d/*. Если один и тот же параметр указан несколько раз, то используется последнее указанное значение. В частности, значение указанное в /etc/sysctl.conf отменяет значения, указанные в файлах /etc/sysctl.d/*. |
Можно также включать/отключать использование на отдельных сетевых интерфейсах, например, для интерфейса eth0 отключить, для интерфейса lo - включить:
| net.ipv6.conf.eth0.disable_ipv6 = 1 net.ipv6.conf.lo.disable_ipv6 = 0 |
После внесения изменений в файл для немедленного применения изменений выполнить команду:
| sudo sysctl --system |
Многие сетевые источники рекомендуют применять изменения командой
| sudo sysctl -p |
однако с опцией -p будут выполнены только инструкции, находящиеся в файле /etc/sysctl.conf, файлы /etc/sysctl.d/*.conf будут проигнорированы.
Заданные указанным способом параметры будут автоматически применяться при перезагрузке ОС.
В Astra Linux Special Edition РУСБ.10015-16 исп. 2 и в Astra Linux Special Edition РУСБ.10265-01 (очередное обновление 8.1) IPv6 включается в файле /boot/boot.conf. Для включения IPv6 следует в файле /boot/boot.conf в строке cmdline="ipv6.disable=1" поменять на cmdline="ipv6.disable=0". Подробнее см.отдельную статью Файл параметров загрузки /boot/boot.conf. |
Для включения протокола IPv6 следует:
Убедиться, что IPv6 не отключен в файле параметров сетевых служб /etc/sysctl.conf, и в файлах /etc/sysctl.d/* (в частности, в файлах /etc/sysctl.d/999-astra.conf).
Т.е., убедиться, что в файле отсутствуют строки вида
| net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 net.ipv6.conf.lo.disable_ipv6 = 1 |
и, если таковые строки имеются, удалить их или закомментировать.
Если изменения были внесены в файл /etc/default/grub, то следует обновить загрузчик:
| sudo update-grub |
И перезагрузить машину.
Независимо от используемой аппаратной платформы для успешной работы серверов (реплик) FreeIPA сетевой интерфейс обратной петли (loopback, lo) должен иметь адрес IPv6. |
Чтобы назначить такой адрес следует:
Запретить использовать стек IPv6 всех сетевых интерфейсах, кроме сетевого интерфейса lo. Для этого добавить строку net.ipv6.conf.lo.disable_ipv6 = 0 в файл /etc/sysctl.d/999-astra.conf. В итоге файл должен выглядеть примерно так:
# Astra sysctl config kernel.sysrq = 0 |
Выполнить команду:
sudo sysctl --system |
или перезагрузить компьютер.
Если при этом каким-то другим сетевым интерфейсам назначены неиспользуемые адреса IPv6 (например, службой NetworkManager), то желательно их убрать, так как попытки их использовать могут замедлять работу FreeIPA.