我正在尝试为我们部门的 Linux 机器制定自动化标准,以连接到我们的 Cisco ISE(802.1X)网络。
过去我只是在 /etc/rc.local 的末尾添加了如下几行。
ifdown eth0
sleep3
wpa_supplicant -c /etc/wpa_supplicant/wpa_supplicant.conf -Dwired -ieth0 &
sleep 5
ifup eth0
然后在我的 /etc/wpa_supplicant/wpa_supplicant.conf 中我有:
country=US
ctrl_interface=/var/run/wpa_supplicant
update_config=1
ap_scan=0
network={
key_mgmt=IEEE8021X
eap=PEAP
identity="username"
password=""
eapol_flags=0
}
这似乎符合要求,但我知道有更好的方法,我希望有人可以启发我!
注意:在这种情况下它是一个服务器而没有网络管理器,但是我在获取网络管理器 GUI 时遇到了麻烦,即使使用桌面,也只能回到这种方法。
答案1
好的,我明白了!
我放弃了 /etc/rc.local 业务,现在除了 wpa_supplicant.conf 之外,我的 /etc/network/interfaces 中还有以下内容。
auto enp0s31f6
iface enp0s31f6 inet dhcp
pre-up wpa_supplicant -c /etc/wpa_supplicant/wpa_supplicant.conf -Dwired -ienp0s31f6 &
pre-up sleep 4
post-down pkill wpa_supplicant
这在重启时有效,并且对 ifup/ifdown 也有效。耶!
此外,如果希望更加安全,您可以执行以下操作来生成可代替纯文本密码的 NTPasswordHash。
echo -n your_password | iconv -t utf16le | openssl md4
然后将其放置在 wpa_supplicant.conf 中的网络密码字段中,如下所示:
password=hash:6602f435f01b9173889a8d3b9bdcfd0b
注意:您必须省略引号,否则它将尝试发送实际字符串(带有哈希:)并失败。