Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

« Предыдущий Версия 11 Следующий »

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

  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.8)
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7)
  • Astra Linux Special Edition РУСБ.10152-02 (очередное обновление 4.7)


Описание особенности

При запуске контейнеров Podman в пользовательской сессии с низким уровнем целостности:

  • Контейнер запускается, но выдается предупреждение вида:
    WARN[0000] failed to set net.ipv6.conf.default.accept_dad sysctl: open /proc/sys/net/ipv6/conf/default/accept_dad: permission denied
    Данное предупреждение не влияет на функционирование контейнера.
  • Возникает ошибка запуска с сообщением вида:
    Error: runc: runc create failed: unable to start container process: error during container init: open /proc/sys/net/ipv4/ping_group_range: permission denied: OCI permission denied

Рекомендации

Устранение ошибки запуска

Для устранения ошибки запуска:

  1. В файле конфигурации /etc/containers/containers.conf в секции default_sysctl убрать строку "net.ipv4.ping_group_range=0 0", приведя секцию к следующему виду:
    default_sysctls = []

Опция net.ipv4.ping_group_range в файле конфигурации определяет диапазон идентификаторов групп (GID), которым разрешено отправлять запросы ICMP Echo Request (ping) без использования Linux-привилегий CAP_NET_RAW. Указание диапазона 0-0 должно ограничить право отправки запросов группой root. То есть, внутри контейнера никакие процессы не смогут использовать ping без повышения привилегий, также может быть нарушена работа некоторые приложений (например, traceroute, mtr, или службы мониторинга). Удаление опции приведет к тому, что при запуске контейнера будет установлен диапазон 65534-65534. Этот диапазон находится вне принятого по умолчанию диапазона допустимых идентификаторов групп, что приведет к фактическому использованию диапазон 1-0, т.е. полному запрету ping для всех групп. Проверить диапазоны допустимых идентификаторов можно выполнив в контейнере команду:

cat /proc/self/gid_map

Устранение предупреждения при запуске

Предупреждение выдается при попытке установить для контейнера значение параметра ядра net.ipv6.conf.default.accept_dad. Этот параметр доступен только при использовании протокола IPv6 и определяет порядок обнаружения и обработки дублирования сетевых адресов IPv6:

  • 0 — отключить обнаружение;
  • 1 — включить обнаружение (используется по умолчанию);
  • 2 — включить обнаружение и отключать IPv6 при обнаружении дублирования.

Для устранения предупреждение о невозможности установки значения этого параметра при запуске можно отключить использование протокола IPv6, для чего:

  1. При запуске контейнеров использовать опцию --network slirp4netns:enable_ipv6=false, например:
    podman run -it --network slirp4netns:enable_ipv6=false registry.astralinux.ru/alse:latest

Опция запуска контейнера --network slirp4netns:enable_ipv6=false отключает поддержку IPv6 внутри контейнера. В контейнерах, запущенных с использованием этой опции, для всех сетевых соединений используется только IPv4. В большинстве случаев использование этой опции не вызывает побочных эффектов, так как большинство приложений при невозможности использовать IPv6 автоматически переключаются на IPv4. Однако, работа приложения, работающих исключительно с IPv6, может быть нарушена. Также приложениям, работающим в контейнере, будут недоступны внешние службы, использующие только IPv6. Ограничения работы могут возникнуть в средах, где используется IPv6 NAT или IPv6-ориентированные балансировщики нагрузки.