|
При запуске контейнеров 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 |
Для устранения ошибки запуска:
/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:
Для устранения предупреждение о невозможности установки значения этого параметра при запуске можно отключить использование протокола IPv6, для чего:
--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-ориентированные балансировщики нагрузки.