Отключение ipv6 в NetworkManager глобально?

Вопрос или проблема

Я отключил ipv6, установив флаг загрузки ядра, поскольку это единственный надежный способ, который я смог найти, чтобы сделать это с помощью NetworkManager (NetworkManager, кажется, думает, что он имеет власть над параметрами sysctl и просто сбрасывает их …). Это работает, но теперь я получаю это раздражающее сообщение в журнале каждые 10 секунд бесконечно:

Mar 02 13:51:19 master NetworkManager[945]: <warn>  [1740887479.2680] platform-linux: do-add-ip6-address[2: fe80::a945:4203:a653:76c]: failure 95 (Operation not supported)
Mar 02 13:51:21 master NetworkManager[945]: <warn>  [1740887481.2707] platform-linux: do-add-ip6-address[2: fe80::913f:95a7:efd3:293a]: failure 95 (Operation not supported)
Mar 02 13:51:23 master NetworkManager[945]: <warn>  [1740887483.2724] platform-linux: do-add-ip6-address[2: fe80::8ccc:64d7:d2b6:1651]: failure 95 (Operation not supported)
Mar 02 13:51:25 master NetworkManager[945]: <warn>  [1740887485.2752] platform-linux: do-add-ip6-address[2: fe80::bb93:ebaf:a26e:edea]: failure 95 (Operation not supported)
Mar 02 13:51:27 master NetworkManager[945]: <warn>  [1740887487.2781] platform-linux: do-add-ip6-address[2: fe80::3b17:25c7:ae41:8534]: failure 95 (Operation not supported)
Mar 02 13:51:29 master NetworkManager[945]: <warn>  [1740887489.2803] platform-linux: do-add-ip6-address[2: fe80::78e:4be3:1eea:51b2]: failure 95 (Operation not supported)
Mar 02 13:51:31 master NetworkManager[945]: <warn>  [1740887491.2826] ipv6ll[ad8d17db7e5088b5,ifindex=2]: changed: no IPv6 link local address to retry after Duplicate Address Detection failures (back off)

Я знаю, что могу отключить ipv6 для каждого соединения индивидуально с помощью nmcli, но это мучительно при многих различных и новых устанавливаемых соединениях. Есть ли способ отключить ipv6 глобально в NetworkManager?

.

Ответ или решение

Для того чтобы полностью отключить IPv6 в системе, используя NetworkManager, потребуется более глубокое понимание работы этой службы и способов её настройки. Давайте разберёмся, как это можно сделать глобально и избегать появления раздражающих сообщений в логах.

Теория

IPv6 — это современный интернет-протокол, который приходит на смену IPv4. Несмотря на его преимущества, во многих организациях и системах до сих пор нет необходимости его использования, в результате чего становится актуальной задача его полного отключения. NetworkManager — это динамический инструмент управления сетевыми соединениями в Linux, который по умолчанию поддерживает как IPv4, так и IPv6. Часто стандартные методы, такие как настройка sysctl, не всегда эффективны, так как NetworkManager может перезаписывать эти настройки.

Когда вы отключаете IPv6 на уровне ядра с помощью boot flag, вы фактически запрещаете системе поддерживать эту функциональность. Однако, NetworkManager, пытаясь взаимодействовать с сетевым стеком, все равно пытается установить IPv6-адреса, что приводит к ошибкам в логах. Это связано с тем, что по умолчанию NetworkManager ожидает, что IPv6 всё равно будет доступен.

Пример

Возникшая у вас ситуация с ошибками в логах является распространенной, когда системное администрирование связано с попытками конфигурации IPv6 через небезопасное отключение. Приведенные вами сообщения в логах »[failure 95 (Operation not supported)]« означают, что NetworkManager пытается добавить IPv6-адрес, но операция не поддерживается, что ещё раз подтверждает, что конфигурация на уровне ядра превышает возможности приложения.

Mar 02 13:51:19 master NetworkManager[945]: <warn> [platform-linux: do-add-ip6-address[2: fe80::a945:4203:a653:76c]: failure 95 (Operation not supported)]

Эти сообщения появляются потому, что для каждого сетевого интерфейса создаётся попытка назначить IPv6 адрес, что упирается в запрет использования IPv6 на уровне ядра.

Применение

Для полноценного отключения IPv6 в связке с NetworkManager, учитывая ваш запрос на глобальную деактивацию, предложенный подход может включать следующие шаги:

  1. Глобальная конфигурация NetworkManager:

    Создайте или откорректируйте файл конфигурации /etc/NetworkManager/conf.d/disable-ipv6.conf. Этот файл может выглядеть следующим образом:

    [connection]
    ipv6.method=ignore

    Такая настройка автоматически применит игнорирование IPv6 ко всем новым и существующим соединениям. Обратите внимание, что после внесения изменений необходимо перезагрузить службу NetworkManager:

    systemctl restart NetworkManager
  2. Конфигурация на уровне каждого интерфейса (по желанию):

    Если есть интерфейсы или специфичные соединения, для которых требуется отдельное управление конфигурацией IPv6, можно указать аналогичные параметры в директории /etc/NetworkManager/system-connections/ в соответствующих файлах. Пример конфигурации внутри файла соединения:

    [ipv6]
    method=ignore
  3. Обновление NetworkManager:

    Убедитесь, что ваша установка NetworkManager актуальна. Возможно, в более свежих версиях исправлены баги, связанные с неправильной обработкой отключения IPv6.

  4. Мониторинг состояния и логов:

    Следите за логами системы и NetworkManager после настройки:

    journalctl -u NetworkManager -f

    Убедитесь, что после внесённых изменений сообщения об ошибках больше не появляются в логах.

Если после этих шагов вы все равно сталкиваетесь с появлением записей об ошибках в логах, стоит рассмотреть возможность отключения IPv6 на уровне отдельных приложений или более детальной проверки конфигурации системы. Возможно, существуют и другие службы или процессы, которые требуют интерфейса IPv6 оперативно.

Таким образом, детальные настройки и изменения параметров конфигурации позволят добиться желаемого поведения системы без потери её функциональности и засорения логов избыточной информацией. Это решение может не только снизить количество ложных тревог, но и упростить администрирование системы в будущем.

Оцените материал
Добавить комментарий

Капча загружается...