Ubuntu
如何自動應用 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 }
如果沒有配置,我不會獲得通過 DHCP 分配的 IP 地址。
如何在啟動時自動應用此配置?我正在執行 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啟動腳本。