Вот проблема, которую я пытаюсь решить: у меня есть беспроводное устройство, я хотел бы, чтобы оно действовало как клиент в определенный момент и как точка доступа в другой момент.
Я настроил NetworkManager, используя два профиля, один для клиента, другой для точки доступа. Все работает, пока я переключаюсь вручную.
Проблемы начинаются, когда я пытаюсь привязать эти два профиля к системным устройствам. Я хотел бы иметь возможность связать профиль NetworkManager с модулем systemd. Я также написал модуль, используя простые команды nmcli, но всякий раз, когда я запускаю модуль, соединение увеличивается, а затем падает.
Вот блок:
[Service]
type=oneshot
ExecStart=nmcli con up Connection2
ExecStop=nmcli con down Connection2
Вот что журнал показывает с устройства:
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/7)
Вот что journalctl показывает из модуля NetworkManager (усечено):
<info> Activation (wlan0) successful, device activated.
<info> (wlan0): device state change: activated -> deactivating (reason 'user-requested') [100 11
<info> NetworkManager state is now DISCONNECTING
<info> (wlan0): device state change: deactivating -> disconnected (reason 'user-requested') [110
<info> (wlan0): deactivating device (reason 'user-requested') [39]
<info> Removing DNS information from /sbin/resolvconf
<info> NetworkManager state is now DISCONNECTED
Может кто-нибудь указать мне правильный способ сделать это? Также я хотел бы избежать подхода "ifupdown" и использовать NetworkManager (или systemd-networkd). У меня не было успеха с последним, так как я не могу найти простой способ установить режим устройства. Спасибо.