Также убедитесь, что /opt/nexus принадлежит пользователю nexus
Вот фрагмент кода, работающий согласно :/etc/systemd/system/nexus.service
[Unit]
Description=nexus service
After=network.target
[Service]
Type=simple
LimitNOFILE=65536
ExecStart=/opt/nexus-3.19.0-01/bin/nexus start
ExecStop=/opt/nexus-3.19.0-01/bin/nexus stop
User=nexus
Restart=on-abort
[Install]
WantedBy=multi-user.target
По умолчанию при загрузке модуля ядра ifb создаются два интерфейса ifb . Это сделано по устаревшим причинам, так же, как два фиктивных интерфейса создаются при загрузке фиктивного модуля ядра. Эти интерфейсы создаются в исходном сетевом пространстве имен. Например, если система находится внутри контейнера или просто (не начального )сетевого пространства имен, здесь не будет ifb интерфейса.
Не загружайте модуль в надежде получить интерфейсы ifb . Сделайте это наоборот:создайте интерфейс ifb , и при необходимости модуль ядра будет загружен в любом случае. Не полагайтесь больше на ifconfig
, который в Linux сейчас является устаревшим инструментом.
Пример:
ip link add name newifbdev type ifb
ip link set dev newifbdev up
Теперь у вас есть интерфейс ifb с именем newifbdev
up и доступный для пакетов tc -mirred .
Это будет работать даже внутри пространства имен пользователя , запущенного, например, с unshare -U -r -n
, несмотря на невозможность вручную загрузить модуль ядра ifb из такого пространства имен пользователя. Если модуль еще не загружен, он все равно будет косвенно загружен путем создания интерфейса (, а с настройками по умолчанию два дополнительных интерфейса ifb также появятся в исходном пространстве имен в качестве побочного эффекта ).