Дерево страниц

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

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

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

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

При запуске контейнеров 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=0 0 в файле конфигурации определяет диапазон идентификаторов групп (GID), которым разрешено отправлять запросы ICMP Echo Request (ping) без использования Linux-привилегий CAP_NET_RAW и CAP_NET_ADMIN. Указание диапазона 0 0 должно предоставить право отправлять запросы группе root, и только этой группе. По умолчанию используется диапазон 1 0 (начальное значение диапазона больше конечного), что полностью запрещает отправку запросов. При этот никакие пользователи внутри контейнера не смогут использовать ping без повышения привилегий, также некоторые приложения (например, traceroute, mtr, или сервисы мониторинга) могут зависеть от ICMP. Без этой настройки они могут не работать без CAP_NET_RAW или дополнительных прав.

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

Для устранения предупреждения при запуске:

  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-ориентированные балансировщики нагрузки.