如何自动应用wpa_supplicant配置?

如何自动应用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="[email protected]"
    anonymous_identity="[email protected]"
    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="[email protected]"
    anonymous_identity="[email protected]"
    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。

答案1

如果您希望 wpa-supplicant 在启动时使用该配置运行,那么您应该将命令放入本地文件
以 root 身份打开/etc/rc.local在文本编辑器中并粘贴您的命令:

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

确保系统在跑本地文件:

sudo systemctl enable rc-local

并重新启动。应该管用。

编辑:

如果做不到这一点,您也可以自己编写系统规则。

首先,将 wpa-supplicant 命令保存到合适的位置,例如/usr/local/bin或者/选择并使其可执行。
该文件应如下所示:

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

假设您已调用它wpastart.sh
现在创建一个文件/usr/lib/systemd/系统并将其命名为wpa服务
在文本编辑器中打开空文件并使其如下所示:

[Unit]
Description=WPA Supplicant Startup

[Service]
Type=idle
ExecStart=/usr/local/bin/wpastart.sh

[Install]
WantedBy=multi-user.target

像往常一样启动服务:

systemctl enable wpastart.service

现在你已经写了你的第一个系统启动脚本。

答案2

只需将命令放入 /etc/rc.local 即可。确保它在一行上。

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

我假设您的连接稳定并且没有掉线。如果您的连接断开,请发表评论。我会写一个脚本。现在必须睡觉了。

相关内容