Перед выполнением действий, описанных в этой статье, рекомендуется ознакомиться со статьей Настройка сетевых подключений в Astra Linux.

Следует помнить, что в настроенной по умолчанию системе (с включенной службой NetworkManager) к сетевым интерфейсам будут последовательно применены сначала настройки сетевой службы networking, а затем - настройки сетевой службы NetworkManager, которые перезаписывают настройки networking.

При этом в ОС, настроенной по умолчанию, служба NetworkManager обслуживает все сетевые интерфейсы, кроме интерфейса обратной петли ("loopback", lo).

Данная статья применима к:

  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.8)
  • Astra Linux Special Edition РУСБ.10015-01 и РУСБ.10015-10 (очередное обновление 1.7)
  • Astra Linux Special Edition РУСБ.10015-37 (очередное обновление 7.7)
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
  • Astra Linux Special Edition РУСБ.10015-16 исп. 1

  • Astra Linux Special Edition РУСБ.10015-16 исп. 2 (кроме управления параметрами загрузки)

  • Astra Linux Special Edition РУСБ.10265-01 (очередное обновление 8.1) (кроме управления параметрами загрузки)

  • Astra Linux Common Edition 2.12

Управление параметрами загрузки в Astra Linux Special Edition РУСБ.10015-16 исп. 2 и Astra Linux Special Edition РУСБ.10265-01 (очередное обновление 8.1) см. статью Файл параметров загрузки /boot/boot.conf

Проверка наличия адресов IPv6

Проверить наличие адресов IPv6 у сетевых интерфейсов можно командой:

ip a | grep inet6

В Astra Linux в зависимости от установленных обновлений протокол IPv6 может быть по умолчанию отключен на уровне службы networking. При таком способе отключения у сетевых интерфейсов по умолчанию имеются IP-адреса IPv6. Это происходит потому, что работающая по умолчанию служба NetworkManager сама настраивает сетевые интерфейсы переопределяя настройки, установленные ранее службой networking.

Такое отключение задается параметром

net.ipv6.conf.all.disable_ipv6 = 1

Параметр (если он задан) по умолчанию указывается в файле /etc/sysctl.d/999-astra.conf.

Проверить наличие такого параметра в файле /etc/sysctl.conf и файлах в каталоге /etc/sysctl.d/можно командой:

grep net.ipv6.conf.all.disable /etc/sysctl.* -r
Пример вывода команды:
grep net.ipv6.conf.all.disable /etc/sysctl.* -r

/etc/sysctl.d/999-astra.conf:net.ipv6.conf.all.disable_ipv6 = 1

Выключение IPv6

Полное выключение стека IPv6 параметрами загрузчика GRUB2

Данный способ запрещает ядру загрузку модулей IPv6, и позволяет выключить IPv6 независимо от настроек служб NetworkManager и networking. Выключать протокол IPv6 таким способом НЕ РЕКОМЕНДУЕТСЯ, так как отсутствие модулей IPv6 может вызвать неработоспособность некоторых программ (Samba, Контроллер ЕПП FreeIPA в Astra Linux). При необходимости отключить IPv6 рекомендуется использовать выключение настройками сети (см. ниже).

В архитектуре Эльбрус (Astra Linux Special Edition РУСБ.10015-16 исп. 2 и РУСБ.10265-01 очередное обновление 8.1) загрузчик GRUB2 не используется, а IPv6 выключается в файле /boot/boot.conf (параметр cmdline="ipv6.disable=1"). Подробнее см.отдельную статью Файл параметров загрузки /boot/boot.conf.

Для выключения IPv6 параметрами загрузки GRUB2:

  1. В файле /etc/default/grub в значение параметра GRUB_CMDLINE_LINUX добавить  опцию "ipv6.disable=1", например:
    GRUB_CMDLINE_LINUX_DEFAULT="quiet net.ifnames=0 ipv6.disable=1"
    опции разделяются пробелами.
  2. После внесения изменений в файл /etc/default/grub обновить конфигурацию загрузчика:

    sudo update-grub

  3. Перезагрузить машину.

Конфигурация 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 параметрами ядра с сохранением стека 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 сетевыми службами

Отключение IPv6 настройкой параметров ядра сделано в ОС Astra Linux по умолчанию (см. выше файл /etc/sysctl.d/999-astra.conf), однако при наличии загруженного модуля ядра IPv6 служба NetworkManager по умолчанию сама назначает сетевым интерфейсам адреса IPv6. Чтобы этого не происходило следует выполнить одно из действий:

  1. Либо настроить все нужные параметры интерфейса в файле /etc/network/interfaces. Тогда параметры интерфейса будут задаваться службой networking, а служба NetworkManager будет игнорировать все интерфейсы, упомянутые в /etc/network/interfaces, и её можно даже отключить за ненадобностью:

    sudo systemctl mask --now NetworkManager

  2. Либо назначить в службе NetworkManager "игнорирование" параметров IPv6:
    1. через графический интерфейс управления сетевыми интерфейсами в закладке "Параметры IPv6" выбрать метод "Игнорировать"
    2. из командной строки установить метод ignore:

      nmcli con down "Проводное соединение 1"
      nmcli con mod "Проводное соединение 1" ipv6.method ignore
      nmcli con up "Проводное соединение 1"

    3. В Astra Linux Special Edition РУСБ.10015-01 очередное обновление 1.8 в отличие от более ранних обновлений интерфейс локальной петли (loopback также находится под управлением NetworkManager. При этом метод "Игнорировать" (ipv6.metod.ignore) для этого интерфейса не поддерживается. Для того, чтобы NetworkMnager не назначал IP-адрес интерфейсу локальной петли:
      1. Вывести интерфейс локальной петли из-под управления NetworkManager, для чего в файл /etc/NetworkManager/NetworkManager.conf  добавить строки:
        [keyfile]
        unmanaged-devices=interface-name:lo
      2. Удалить ранее назначенный IPv6-адрес:
        sudo ip addr del ::1/128 dev lo
        или перезагрузить компьютер.

Динамическое управление настройками сети sysctl

  1. Убедиться, что IPv6 не отключен в файле параметров загрузки:

    1. При использовании загрузчика grub2:

      1. Найти в файле /etc/default/grub строку параметров загрузчика GRUB_CMDLINE_LINUX и убедиться, что там не указан параметр "ipv6.disable=1", если такой параметр указан - убрать его или изменить значение параметра на 0

      2. Если файл был изменен, то обновить загрузчик:

        sudo update-grub
        и перезагрузить компьютер.

    2. Для платформы, не использующей grub2 см. Файл параметров загрузки /boot/boot.conf).

  2. Для включения протокола 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.conf, так и в файлах /etc/sysctl.d/*. Если один и тот же параметр указан несколько раз, то используется последнее указанное значение.

    Можно также включать/отключать использование на отдельных сетевых интерфейсах, например, для интерфейса eth0 отключить, для интерфейса lo - включить:

    net.ipv6.conf.eth0.disable_ipv6 = 1
    net.ipv6.conf.lo.disable_ipv6 = 0
  3. После внесения изменений в файл для немедленного применения изменений выполнить команду:

    sudo sysctl --system
    Многие сетевые источники рекомендуют применять изменения командой
    sudo sysctl -p
    однако с опцией -p будут выполнены только инструкции, находящиеся в файле /etc/sysctl.conf, файлы /etc/sysctl.d/*.conf будут проигнорированы.

Заданные указанным способом параметры будут автоматически применяться при перезагрузке ОС.


Включение IPv6

В 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 следует:

  1. Убедиться, что IPv6 не отключен в файле параметров загрузки (файл /etc/default/grub или /boot/boot.conf). Для этого:
    1. В файле /etc/default/grub найти строку параметров загрузчика GRUB_CMDLINE_LINUX и убедиться, что там не указан параметр "ipv6.disable=1", если такой параметр указан - убрать его или заменить значение на 0;
    2. Для настройки параметров в файле /boot/boot.conf см. Файл параметров загрузки /boot/boot.conf

  2. Убедиться, что 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

    и, если таковые строки имеются, удалить их или закомментировать.

  3. Если изменения были внесены в файл /etc/default/grub, то следует обновить загрузчик:

    sudo update-grub

    И перезагрузить машину.

Особенности настройки IPv6 для FreeIPA


Независимо от используемой аппаратной платформы для успешной работы серверов (реплик) FreeIPA сетевой интерфейс обратной петли (loopback, lo) должен иметь адрес IPv6.

Чтобы назначить такой адрес следует:

  1. Разрешить использовать стек IPv6 при загрузке:
    1. Для платформ, использующих загрузчик grub2 разрешить использовать стек IPv6 в параметрах загрузчика, если он не был ранее разрешен и перезагрузить машину.;
    2. Для платформ, использующих /boot/boot.conf см. Файл параметров загрузки /boot/boot.conf;
  2. Запретить использовать стек IPv6 всех сетевых интерфейсах, кроме сетевого интерфейса lo. Для этого добавить строку net.ipv6.conf.lo.disable_ipv6 = 0 в файл /etc/sysctl.d/999-astra.conf. В итоге файл должен выглядеть примерно так:

    # Astra sysctl config

    kernel.sysrq = 0
    fs.suid_dumpable = 0
    kernel.randomize_va_space = 2
    net.ipv6.conf.all.disable_ipv6 = 1
    net.ipv6.conf.lo.disable_ipv6 = 0

  3. Выполнить команду:

    sudo sysctl --system
    или перезагрузить компьютер.

Если при этом каким-то другим сетевым интерфейсам назначены неиспользуемые адреса IPv6 (например, службой NetworkManager), то желательно их убрать, так как попытки их использовать могут замедлять работу FreeIPA.