modprobe не может загрузить устройства ifb

Также убедитесь, что /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
0
01.11.2020, 01:33
1 ответ

По умолчанию при загрузке модуля ядра ifb создаются два интерфейса ifb . Это сделано по устаревшим причинам, так же, как два фиктивных интерфейса создаются при загрузке фиктивного модуля ядра. Эти интерфейсы создаются в исходном сетевом пространстве имен. Например, если система находится внутри контейнера или просто (не начального )сетевого пространства имен, здесь не будет ifb интерфейса.

Не загружайте модуль в надежде получить интерфейсы ifb . Сделайте это наоборот:создайте интерфейс ifb , и при необходимости модуль ядра будет загружен в любом случае. Не полагайтесь больше на ifconfig, который в Linux сейчас является устаревшим инструментом.

Пример:

ip link add name newifbdev type ifb
ip link set dev newifbdev up

Теперь у вас есть интерфейс ifb с именем newifbdevup и доступный для пакетов tc -mirred .

Это будет работать даже внутри пространства имен пользователя , запущенного, например, с unshare -U -r -n, несмотря на невозможность вручную загрузить модуль ядра ifb из такого пространства имен пользователя. Если модуль еще не загружен, он все равно будет косвенно загружен путем создания интерфейса (, а с настройками по умолчанию два дополнительных интерфейса ifb также появятся в исходном пространстве имен в качестве побочного эффекта ).

2
18.03.2021, 22:53

Теги

Похожие вопросы