手動創建 NetworkManager 連接文件失敗(錯誤:未知連接)
**目標:**我正在嘗試通過命令行使用 NetworkManager 0.9.4 建立 3G 連接。我以前通過 nm-applet(X 中的 GUI)設置連接成功(參見這個問題),但現在我需要在許多機器上複製它,因此希望通過命令行作為安裝 bash 腳本的一部分來完成除其他外,它可以做到這一點。
**我的方法:**我編寫了一個 bash 腳本來創建此連接文件並將其放置在
/etc/NetworkManager/system-connections/
:[connection] id=viettel uuid=df62d4f8-0699-11e5-8996-ab1b9b4c6754 type=gsm autoconnect=false [ppp] lcp-echo-failure=5 lcp-echo-interval=30 [ipv4] method=auto [serial] baud=115200 [gsm] number=*99# password-flags=1 apn=e-connect
該文件看起來與之前由 GUI 工具創建的(工作)文件完全相同。
我添加
monitor-connection-files=yes
到/etc/NetworkManager/NetworkManager.conf
這樣 NM 會在執行時注意到更改的配置文件。**問題:**但是,當嘗試建立連接 (
sudo nmcli con up id viettel
) 時,我收到此錯誤:錯誤:未知連接:viettel。
事實上,當執行
sudo nmcli con list
查看 NM 知道的連接時,我得到一個空列表:名稱 UUID 類型 TIMESTAMP-REAL
我看到有些人建議執行以刷新此列表,但該命令在我的系統的最新穩定 NM 包中不可用(見下文) ,據我所知
nmcli con reload
,無論如何都不需要它。monitor-connection-files=yes
我嘗試重新啟動 NM 服務並重新啟動,均未成功。所以看起來 NM 根本沒有在正確的位置尋找連接文件,或者有某種可用連接列表在添加新文件後沒有刷新。
**我的問題:**如何讓 NM 知道新的連接文件?任何其他建議下一步該怎麼做?
**系統資訊:**我在帶有 Raspbian Wheezy 的 Raspberry Pi 2 上執行它(所有軟體包都已更新)。NetworkManager 是 0.9.4 版(我看到有更新的版本可用,但顯然沒有作為 RPi 的穩定 debian 包發布)
非常感謝您的幫助!
NetworkManager.conf
基本配置文件外掛的手冊頁註釋:為了安全起見,它會忽略除 root 以外的任何使用者或組可讀或可寫的文件。
在這種情況下,結果是“未知連接”。
chown
您與 root 的連接和chmod
它 0600 以匹配由 NetworkManager 創建的連接。更一般地說,連接文件對拼寫非常敏感,並且
nmcli
a) 如果出現任何錯誤,它將完全忽略連接,並且 b) 不會告訴您其正常輸出中的拼寫錯誤。但是,有關 NetworkManager 消息,請參閱**/var/syslog**(預設,可配置)。NetworkManager 似乎不會自行注意到權限或所有權更改,因此touch
在這些情況下需要重新掃描文件。我用不正確的行創建了一個連接文件
key-mgmt=wpa2-psk
…該值應該只是“ wpa-psk ”,只有日誌文件告訴我問題出在哪裡:
9 月 17 日 12:26:05 主機 NetworkManager
$$ 2477 $$: keyfile: 更新 /etc/NetworkManager/system-connections/ATT2
Sep 17 12:26:05 ahost NetworkManager$$ 2477 $$:keyfile:錯誤:無效或缺少連接屬性’key-mgmt'