Можно ли что-то делать каждый раз, когда linux подключается к сети?
Эй, я пытаюсь заставить скрипт запускаться каждый раз, когда NetworkManager (или что-то еще, но я сейчас об этом говорю) подключается к сети (или меняет сети).
Что я действительно хочу, так это, в переносном смысле, каталог init, который запускает все внутри него всякий раз, когда мой wifi-интерфейс меняет состояние /essid. Или уровень запуска "Состояние сети изменено". Или что-то.
3 ответа
Вы не сказали, какой дистрибутив вы используете, но в производных Debian (Ubuntu и т. Д.) Вы можете указать скрипты, которые будут вызываться в различные моменты настройки / разрыва интерфейса в его разделе конфигурации в /etc/network/interfaces
, Вы можете указать скрипты, которые будут вызываться в каждой из следующих точек:
- предварительно до
- вверх
- после до
- вниз
- предварительно вниз
- после вниз
Вы также можете добавить сценарии в каталоги с именем /etc/network/if-<stage>.d
,
Для получения более подробной информации см. man 5 interfaces
,
NetworkManager имеет каталог триггеров скриптов, который называется /etc/NetworkManager/dispatcher.d/
, Делать man NetworkManager
чтобы увидеть, как его использовать.
Помимо приведенных выше предложений, вы также можете настроить сценарий Upstart, который запускался в случае возникновения вашей сети.