在 nmcli 熱點上更改 EAPOL 版本

在 nmcli 熱點上更改 EAPOL 版本

我已經在運行 Buster 的 Raspberry Pi 上使用 nmcli 設定了熱點,方法是:

  1. 安裝網路管理員:

    sudo apt-get install network-manager

  2. 設定熱點設定檔:

    sudo nmcli c add type wifi ifname wlan0 con-name hotspot ssid ssidname 802-11-wireless.mode ap ipv4.method shared 802-11-wireless.band bg 802-11-wireless.channel 11 wifi-sec.key-mgmt wpa-psk wifi-sec.psk password

  3. 禁用 dhcpcd(手邊沒有該指令)

  4. 啟動熱點。

    sudo nmcli c up hotspot

問題是熱點預設使用 eapol 版本 3 (802.1x-2010),我嘗試連接到 Pi 網路的某些硬體尚不支援該版本,因此它永遠不會完成握手。

NetworkManager 或 nmcli 指令中是否有一些設定可以用來定義要使用的 eapol 版本?我搜尋了 nmcli 802-11 字段,但沒有結果。

我知道我可以使用 hostapd + dnsmasq + 橋接,但這(希望)更簡單。

先致謝!

答案1

沒有辦法傳遞eapol_version=1選項網路管理器wpa_請求者直接,但您可以解決此限制:

  1. 編輯您的wpa_supplicant.service

    systemctl edit --full wpa_supplicant.service
    

    並替換行:

    ExecStart=/sbin/wpa_supplicant -u -s -O /run/wpa_supplicant
    

    和:

    ExecStart=/sbin/wpa_supplicant -u -s -O /run/wpa_supplicant -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf
    

    其中wlan0是無線介面的名稱。如果您不提供-i選項開關,wpa_請求者不會讀取您的設定檔。

  2. /etc/wpa_supplicant/wpa_supplicant.conf使用所需選項建立設定檔:

    eapol_version=1
    
  3. 重新載入系統D並重新啟動請求者:

    systemctl daemon-reload
    systemctl restart wpa_supplicant.service
    

相關內容