Как автоматически применить конфигурацию wpa_supplicant?

Для проверки подлинности в корпоративной сети я должен выполнить следующую команду:

$ sudo wpa_supplicant -i eth0 -D wired -c /etc/wpa_supplicant/mywired.conf -B 

Загруженный скрипт конфигурации выглядит следующим образом:

 # global configuration ctrl_interface=/var/run/wpa_supplicant #ctrl_interface_group=wheel ap_scan=0 # 802.1x wired configuration # eap-ttls network={ key_mgmt=IEEE8021X eap=TTLS identity="me@example.com" anonymous_identity="anonymous@example.com" password="password" ca_cert="/home/user/deutsche-telekom-root-ca-2.pem" phase2="auth=PAP" eapol_flags=0 priority=5 } # eap-peap network={ key_mgmt=IEEE8021X eap=PEAP identity="me@example.com" anonymous_identity="anonymous@htw-berlin.de" password="password" ca_cert="/home/user/deutsche-telekom-root-ca-2.pem" phase2="auth=MSCHAPV2" eapol_flags=0 priority=10 } 

Без конфигурации я не получаю IP-адрес, назначенный через DHCP.
Как я могу автоматически применить эту конфигурацию при запуске? Я запускаю Ubuntu 14.10.

Просто введите свою команду в /etc/rc.local. Убедитесь, что она находится на одной линии.

 sudo wpa_supplicant -i eth0 -D wired -c /etc/wpa_supplicant/mywired.conf -B 

Я предполагаю, что ваше соединение стабильно и не падает. Сделайте комментарий, если ваше соединение падает. Я сделаю сценарий. Вы должны спать сейчас.

Если вы хотите, чтобы wpa-supplicant запускался с помощью этой конфигурации при загрузке, вы должны поместить команду в rc.local .
Как root, откройте /etc/rc.local в текстовом редакторе и вставьте в свою команду:

 wpa_supplicant -i eth0 -D wired -c /etc/wpa_supplicant/mywired.conf -B 

Убедитесь, что в Systemd запущен rc.local :

 sudo systemctl enable rc-local 

и перезагрузка. Должно сработать.

РЕДАКТИРОВАТЬ:

В противном случае вы также можете написать собственное правило systemd .

Во-первых, сохраните команду wpa-supplicant в любом месте, например / usr / local / bin или / opt, и сделайте ее выполнимой.
Файл должен выглядеть так:

 #!/bin/sh wpa_supplicant -i eth0 -D wired -c /etc/wpa_supplicant/mywired.conf -B 

Предположим, вы назвали его wpastart.sh .
Теперь создайте файл в / usr / lib / systemd / system и назовите его что-то вроде wpa.service .
Откройте пустой файл в текстовом редакторе и сделайте так:

 [Unit] Description=WPA Supplicant Startup [Service] Type=idle ExecStart=/usr/local/bin/wpastart.sh [Install] WantedBy=multi-user.target 

Запустите службу, как обычно:

 systemctl enable wpastart.service 

И теперь вы создали свой первый сценарий запуска systemd .