.png)
Я хочу создать точку доступа Wi-Fi на своей машине вместе с обычным интерфейсом Wi-Fi. Моя карта поддерживает эту операцию. Я могу сделать это вручную с помощью следующих команд (обратите внимание, что wlan0 уже существует и настроен на подключение к офисной сети)
iw phy phy0 interface add wlan1 type managed
service hostapd start
ip link set wlan1 up
ip addr add 10.0.10.1/24 dev wlan1
Однако я хочу создать этот интерфейс wlan1 автоматически при запуске системы. Ранее (в Ubuntu 16.04) я делал это с помощью скрипта if-pre-up.d. Однако netplan не поддерживает скрипты pre-up. Насколько я понимаю, мне следует либо использовать, либо network-dispatcher
создать модуль systemd, который запускается перед запуском сети. Какой правильный подход? Есть ли хорошие примеры?
решение1
Это подход, рекомендованныйЧасто задаваемые вопросы о Netplan:
Конфигурация Netplan в настоящее время не поддерживает сценарии перехвата в своем определении конфигурации.
Вместо этого, чтобы достичь этой функциональности с помощью сетевого рендерера, пользователи могут использовать сетевой-диспетчерПакет предоставляет пользователям и устаревшим пакетам точки подключения при достижении определенных состояний сети, чтобы помочь отреагировать на состояние сети.
В FAQ приведен пример использования networkd-dispatcher для запуска ifup hooks через скрипт, установленный в /etc/networkd-dispatcher/routable.d/50-ifup-hooks
, в который вы можете включить свои команды. Обратите внимание, что такой скрипт должен быть исполняемым и принадлежать пользователю root.
Большинство источников, которые я видел, рекомендовали этот подход как самый простой. По сравнению с ним, systemd
он более сложен и требует более крутой кривой обучения.