SystemdDoctor
служба не работает сеть изоляция seccomp

status=232/ADDRESS_FAMILIES в systemd

Код 232 относится к параметру RestrictAddressFamilies=, который ограничивает семейства сокетов, доступные службе. Отказ означает, что фильтр не установился: либо в списке неизвестное имя, либо механизм недоступен в этом окружении.

Вероятные причины

По порядку: сверху то, что встречается чаще.

  1. Неизвестное имя семейства адресов

    Допустимы имена вида AF_UNIX, AF_INET, AF_INET6, AF_NETLINK. Сокращения INET или произвольные строки не разбираются.

  2. Ограничение недоступно в этом окружении

    Параметр работает через seccomp. Если фильтрация системных вызовов недоступна, ограничение применить нельзя.

  3. Ограничение противоречит работе службы

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

Диагностика

Команды идут в том порядке, в котором их стоит выполнять: каждая следующая проверяет то, что осталось после предыдущей.

Показывает шаг ADDRESS_FAMILIES и причину.

journalctl -xeu myapp.service --no-pager -n 20

Оба параметра работают через seccomp и влияют друг на друга.

systemctl show myapp.service -p RestrictAddressFamilies -p SystemCallFilter

Решение

Решение своё для каждой причины. Сначала определите, какая из них ваша, — иначе правки наложатся друг на друга.

1. Неизвестное имя семейства адресов
Почему происходит
Допустимы имена вида AF_UNIX, AF_INET, AF_INET6, AF_NETLINK. Сокращения INET или произвольные строки не разбираются.
Как проверить
Посмотрите действующее значение.
systemctl show myapp.service -p RestrictAddressFamilies
Как исправить
Исправьте имена на полные, с префиксом AF_.
RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6
2. Ограничение недоступно в этом окружении
Почему происходит
Параметр работает через seccomp. Если фильтрация системных вызовов недоступна, ограничение применить нельзя.
Как проверить
Проверьте окружение и поддержку seccomp.
systemd-detect-virt
grep -i seccomp /boot/config-$(uname -r) 2>/dev/null
Как исправить
Уберите параметр там, где seccomp недоступен.
3. Ограничение противоречит работе службы
Почему происходит
Если в списке нет семейства, которое служба использует, она либо не сможет открыть сокет, либо упадёт по сигналу уже в работе. Это не даёт кода 232, но часто идёт рядом при подборе списка.
Как проверить
Посмотрите, какие сокеты открывает служба, когда ограничение снято.
sudo ss -apn | grep myapp
Как исправить
Дополните список нужными семействами. AF_UNIX требуется почти всегда — через него идёт обращение к журналу и к D-Bus.

Пример вывода

В списке семейств указано сокращённое имя. Пример показательный: он собран на тестовой машине специально для этой страницы, а не взят из чужого журнала.

× myapp.service - My application
     Active: failed (Result: exit-code) since Mon 2026-09-14 23:18:03 MSK; 1s ago
    Process: 24400 ExecStart=/usr/local/bin/myapp (code=exited, status=232/ADDRESS_FAMILIES)

systemd[24400]: myapp.service: Failed at step ADDRESS_FAMILIES spawning /usr/local/bin/myapp: Invalid argument

Связанные ошибки

  • status=228/SECCOMP в systemd Код 228/SECCOMP: не удалось применить фильтр системных вызовов из SystemCallFilter=. Причины: неизвестное имя вызова, отсутствие поддержки в ядре.
  • status=225/NETWORK в systemd Код 225/NETWORK: не удалось создать сетевое пространство имён для службы при PrivateNetwork=yes или NetworkNamespacePath=.
  • signal=SYS (status=31/SYS) в systemd Процесс службы убит сигналом SYS: фильтр системных вызовов запретил вызов. Как найти запрещённый вызов и исправить SystemCallFilter.
  • Protocol not supported при создании сокета Ошибка 93: семейство или протокол не поддержаны. Разбор для IPv6, ограничений изоляции и контейнеров.
  • openvpn: Cannot open TUN/TAP dev /dev/net/tun Служба не может открыть устройство туннеля: нет модуля, нет устройства в контейнере или мешает изоляция unit-файла.
  • Address already in use при запуске службы Порт или адрес уже занят: bind() failed (98: Address already in use). Как найти владельца порта и что делать с остатками прежнего процесса.
  • Automount: каталог монтируется не вовремя или отваливается Автомонтирование через .automount: как работает TimeoutIdleSec, почему ресурс отваливается и когда лучше обычный .mount.
  • Broken pipe в журнале службы Запись в закрытый канал или соединение: клиент отключился, обработчик завершился, конвейер разорван.

Источники

  • systemd.exec(5)
    232 EXIT_ADDRESS_FAMILIES: не удалось ограничить семейства адресов, см. RestrictAddressFamilies=.
    официальная документация, systemd 255
    сверено 15 сентября 2026
  • Воспроизведено на тестовой машине, systemd 255 (Ubuntu 24.04)
    Воспроизведено со значением RestrictAddressFamilies=INET.
    собственная проверка, systemd 255
    сверено 15 сентября 2026