wpa_action - сценарий действий wpa_cli
НАЗВАНИЕ
wpa_action − сценарий действий wpa_cli
ОБЗОР
wpa_action IFACE ACTION
ОПИСАНИЕ
wpa_action − это сценарий оболочки, спроектированный для управления набором инструментов
ifupdown в соответствии с событиями ACTION от wpa_supplicant. wpa_cli принимает события CONNECTED и DISCONNECTED от
wpa_supplicant через сокет управления интерфейсом и передаёт событие ACTION в сценарий wpa_action в качестве аргумента, вместе с именем
интерфейса IFACE, для выполнения действия.
wpa_action также принимает переменную окружения от wpa_cli, WPA_ID_STR, содержащую
буквенно−цифровую строку идентификации для ТЕКУЩЕГО блока network. WPA_ID_STR предоставляется опцией ’id_str’ блока network
wpa_supplicant.conf, и позволяет отобразить событие ACTION на интерфейс LOGICAL, настроенный в файле interfaces.
Если файл interfaces или ifstate пакета ifupdown не найден, wpa_action завершит работу без
предупреждений (со статусом 0). wpa_action проверяет существование файлов в следующих местах:
/etc/network/run/ifstate
/run/network/ifstate
/etc/network/interfaces
IFACE
Сетевой интерфейс для выполнения действия, например ’eth1’ или ’wlan0’.
ACTION
ДЕЙСТВИЕ, выполняемое над интерфейсом IFACE.
CONNECTED
wpa_supplicant завершил аутентификацию. Была запущена команда ifup IFACE=WPA_ID_STR, а само действие записано
в системный журнал syslog. Применены сетевые настройки логического (LOGICAL) интерфейса WPA_ID_STR.
DISCONNECTED
wpa_supplicant обнаружил отключение. Была запущена команда ifdown IFACE=WPA_ID_STR, а само действие записано в
системный журнал syslog. Сетевые настройки логического (LOGICAL) интерфейса WPA_ID_STR отменены.
stop
Пользователь вручную запросил действие (ACTION) ’stop’ для остановки демона wpa_cli, будет запущена команда ifdown IFACE (если
интерфейс IFACE присутствует в файле ifstate) и завершён демон wpa_supplicant.
reload
Действие (ACTION) ’reload’ может использоваться для перезагрузки файла конфигурации wpa_supplicant, указанного wpa−roam. ’restart’ −
синоним ’reload’ и может использоваться вместо него. Действие записывается в журнал /var/log/wpa_action.log.
ОКРУЖЕНИЕ
В качестве переменной окружения WPA_ID_STR в wpa_action экспортируется буквенно−цифровая строка
идентификации, предоставляемая опцией ’id_str’ блока network wpa_supplicant.conf. Если ’id_str’ не указана в ТЕКУЩЕМ блоке network, то в
переменную окружения WPA_ID_STR подставляется ’default’.
В wpa_action экспортируется также уникальный идентификатор сети WPA_ID. Это число, назначенное
ТЕКУЩЕМУ блоку network wpa_supplicant (network_id).
ИСПОЛЬЗОВАНИЕ
Единственные причины, по которым пользователю может понадобиться запустить wpa_action − это остановка
wpa_cli из управляющего пакета ifupdown и перезагрузка файла wpa_supplicant.conf после редактирования.
wpa_action eth1 stop
С другой стороны, wpa_action указывается как аргумент демона wpa_cli.
wpa_cli −i eth1 −a /sbin/wpa_action −B
Это можно сделать с помощью опции wpa−roam в файле interfaces. wpa−roam принимает один
аргумент − файл wpa_supplicant.conf, указанный пользователем.
Методом (METHOD) inet для этого интерфейса должен быть ’manual’, который должен быть соответствующим образом
настроен на обработку событий wpa_cli. В качестве запасного варианта поддерживается экземпляр интерфейсов ’default’, который использует метод
(METHOD) dhcp inet для сетей без опции ’id_str’, который попытается получить IP−адрес по DHCP. Если одна или более сетей требуют дополнительной
настройки, укажите уникальный идентификатор ’id_str’ для каждой из сетей, тогда экземпляры интерфейсов будут использовать значение ’id_str’ в качестве
логического (LOGICAL) имени интерфейса. Следующий файл interfaces настроен на использование DHCP для любой сети без ’id_str’, статического IP−адреса для
сети с ’id_str’ равным ’home_static’ и DHCP вместе с дополнительной командой post−up для сетей с ’id_str’ равным ’uni’.
Пример файла wpa_supplicant.conf, настроенного на перемещение между 3 различными сетями:
network={
ssid="foo"
id_str="uni"
key_mgmt=NONE
}
network={
ssid="bar"
id_str="home_static"
psk=123456789...
}
network={
ssid=""
key_mgmt=NONE
}
Соответствующий файл interfaces должен содержать логические (LOGICAL) интерфейсы, которые
соответствуют каждому уникальному ’id_str’, указанному в файле конфигурации:
iface eth1 inet manual
wpa−driver wext
wpa−roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp
iface uni inet dhcp
iface home_static inet static
address 192.168.0.20
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1
СМОТРИ ТАКЖЕ
wpa_cli(8), wpa_supplicant(8), wpa_supplicant.conf(5), ifup(8),
interfaces(5)
АВТОР
Эта страница руководства была написана Келом Моддерманом (Kel Modderman) <kel@otaku42.de> для системы Debian
GNU (но может использоваться другими).
АВТОРЫ ПЕРЕВОДА
Перевод выполнен на сайте коллективных переводов http://translated.by. Авторы перевода Олег Безначев aka
saturn721, Владимир Ступин <vladimir@stupin.su>.