如何在 CentOS 7 命令行連接 Wi-Fi?如何在 Linux 命令行連接 Wi-Fi?
摘要
本教程覆蓋如何在多種 Linux 發行版下通過命令行連接 Wi-Fi,包括:
CentOS 7、Ubuntu、Debian、Arch Linux、Fedora、Alpine Linux、Kali Linux、OpenSUSE、Gentoo、Void Linux、Slackware、Raspberry Pi OS Lite、Parrot OS、Tiny Core Linux 等系統,適用于服務器網絡配置、樹莓派 Wi-Fi 設置、VPS 無線連接、Linux 嵌入式設備網絡管理等多種場景。
在沒有圖形桌面環境的 Linux 系統中,如何通過命令行連接 Wi-Fi 是許多用戶在配置服務器、VPS、樹莓派、嵌入式設備時遇到的重要問題。相比圖形界面,命令行操作更輕量、靈活、適用于自動化或遠程控制等場景。本文將以 CentOS 7 為主要示例,手把手講解命令行連接 Wi-Fi 的完整流程,并提供 10 多種主流 Linux 發行版 的詳細命令及中文解釋,幫助你快速上手各系統下的無線網絡配置。
一、CentOS 7 命令行連接 Wi-Fi
1. 前提檢查
- 確保無線網卡已安裝并被系統識別
ip link show
# 或者
nmcli device status
如果你看到有 wlan0
或類似的無線設備狀態為 disconnected
,說明系統已識別。
- 開啟 NetworkManager 服務
systemctl start NetworkManager
systemctl enable NetworkManager
2. 使用 nmcli
命令連接 Wi-Fi
步驟一:打開無線功能
nmcli radio wifi on
解釋:
radio wifi on
表示打開無線功能,相當于桌面版的“打開 Wi-Fi 開關”。
步驟二:查看可用 Wi-Fi 列表
nmcli dev wifi list
解釋: 掃描并列出當前無線網卡探測到的 Wi-Fi 網絡。
步驟三:連接 Wi-Fi 網絡
nmcli dev wifi connect "你的WiFi名稱" password "你的密碼"
例如:
nmcli dev wifi connect "MyHomeWiFi" password "12345678"
解釋:
connect
:發起連接"你的WiFi名稱"
:SSID(網絡名稱)password
:對應網絡的密碼
連接成功后,系統會自動保存該配置,之后重啟也能自動連接。
3. 使用 nmtui
圖形化命令界面(適合新手)
nmtui
進入后用鍵盤選擇:
- Activate a connection
- 找到你的無線網絡 → 回車 → 輸入密碼 → 完成連接
這種方式對不熟悉命令行的用戶很友好。
二、10 多種 Linux 發行版連接 Wi-Fi 方法
1. Ubuntu / Debian 系
方法一:使用 nmcli
nmcli device wifi list
nmcli device wifi connect "SSID" password "密碼"
方法二:使用 wpa_supplicant
(適合服務器版)
wpa_passphrase "SSID" "密碼" > /etc/wpa_supplicant.conf
wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf
dhclient wlan0
說明:
wpa_passphrase
會生成加密配置文件wpa_supplicant
負責認證連接dhclient
獲取 IP 地址
2. Arch Linux(使用 wpa_supplicant)
Arch 是一個極簡、滾動更新的系統,推薦使用 iw
+ wpa_supplicant
的組合連接 Wi-Fi。
ip link set wlan0 up
啟用無線網卡
wlan0
。如果你不知道接口名,可用ip link
查看。
iw wlan0 scan | less
掃描附近所有 Wi-Fi 熱點,并用
less
分頁顯示,查找目標 Wi-Fi 的 SSID(名稱)。
wpa_passphrase "你的SSID" "你的密碼" > wpa.conf
根據輸入的 Wi-Fi 名稱和密碼生成加密配置文件
wpa.conf
。
wpa_supplicant -B -i wlan0 -c wpa.conf
后臺(-B)使用
wpa_supplicant
啟動 Wi-Fi 連接。
dhcpcd wlan0
使用 DHCP 客戶端自動從路由器獲取 IP 地址。
3. Fedora(推薦使用 nmcli)
Fedora 默認啟用 NetworkManager,可用 nmcli
命令管理網絡。
nmcli dev wifi list
掃描可用 Wi-Fi 網絡。
nmcli dev wifi connect "你的SSID" password "你的密碼"
直接發起連接,系統會保存配置供后續自動連接。
4. Alpine Linux(輕量發行版)
Alpine 默認不帶網絡工具,需要先安裝。
apk add wpa_supplicant wireless-tools
安裝無線連接所需工具。
iw dev wlan0 scan
使用
iw
工具掃描 Wi-Fi 熱點。
wpa_passphrase "SSID" "密碼" > /etc/wpa_supplicant/wpa_supplicant.conf
生成連接配置并保存到系統配置文件中。
wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf
啟動連接進程。
udhcpc -i wlan0
Alpine 常用的 DHCP 客戶端,自動獲取 IP。
5. Kali Linux
Kali 也是基于 Debian 的系統,支持 nmcli
。
nmcli device wifi connect "SSID" password "password"
一條命令完成連接。
6. OpenSUSE
同樣使用 NetworkManager。
nmcli device wifi list
nmcli device wifi connect "SSID" password "password"
7. Gentoo Linux
Gentoo 靈活但需手動配置:
iwconfig wlan0 essid "SSID"
設置無線接口連接到指定的 SSID。
wpa_supplicant -B -i wlan0 -c <(wpa_passphrase "SSID" "密碼")
啟動連接(不保存到文件,直接傳入配置)。
dhcpcd wlan0
獲取 IP 地址。
8. Void Linux
xbps-install -S wpa_supplicant dhcpcd
安裝 Wi-Fi 連接必備工具。
wpa_passphrase "SSID" "密碼" > /etc/wpa_supplicant.conf
wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf
dhcpcd wlan0
9. Slackware
Slackware 沒有現代化管理器,需要手動設置。
iwconfig wlan0 essid "SSID" key s:密碼
設置網絡名稱與密碼(僅支持 WEP 或明文密碼)。
dhcpcd wlan0
啟動 DHCP 獲取地址。
10. Raspberry Pi OS Lite(適合樹莓派無桌面環境)
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
添加配置如下:
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=CNnetwork={ssid="YourSSID"psk="YourPassword"
}
保存后執行:
sudo wpa_cli -i wlan0 reconfigure
重載 Wi-Fi 配置文件,立即連接網絡。
11. Parrot OS
nmcli device wifi connect "SSID" password "password"
Parrot 基于 Debian,也推薦使用
nmcli
。
三、常見問題排查
命令行連接 Wi-Fi 過程中常見的問題如下,附帶具體的排查和解決建議:
問題 | 可能原因 | 解決辦法 |
---|---|---|
找不到 wlan0 無線網卡 | 系統未識別無線網卡;驅動未加載;接口名稱非 wlan0 | 使用 ip link 或 iw dev 查看實際接口名稱;執行 lspci 或 lsusb 查看硬件信息,確認無線網卡型號,然后搜索對應驅動并手動加載(如 modprobe iwlwifi );確保無線模塊未被禁用(檢查 rfkill list ) |
wpa_supplicant 啟動失敗 / 連接失敗 | SSID 名稱或密碼錯誤;配置文件格式有誤;設備接口名稱不匹配 | 檢查配置文件內容是否正確(可使用 cat 查看),確認密碼是否拼寫錯誤,確保 -i 參數后面的接口名是正確的無線設備;查看日志 journalctl -xe 或 /var/log/syslog 獲取失敗原因 |
無法獲取 IP 地址 | DHCP 客戶端未啟動或服務端無響應;已分配靜態 IP | 使用 dhclient wlan0 或 dhcpcd wlan0 主動請求動態 IP;可嘗試 ping 路由器地址(如 ping 192.168.1.1 )確認連接是否建立;檢查是否有 IP 沖突,或者嘗試手動配置靜態 IP |
Wi-Fi 連接成功但無法訪問外網 | DNS 設置缺失或錯誤;防火墻阻斷;默認路由未配置 | 檢查 /etc/resolv.conf 中是否有 nameserver 條目(如 8.8.8.8 );使用 ip route 檢查是否有默認網關(default via ... );如果沒有默認路由,可使用 ip route add default via <網關IP> 添加;確認本機未被防火墻規則阻斷(查看 iptables -L 或 firewalld 狀態) |
nmcli 報錯 “Device not managed” | NetworkManager 未接管該設備 | 編輯 /etc/NetworkManager/NetworkManager.conf ,確保 [ifupdown] managed=true ,然后重啟 NetworkManager:systemctl restart NetworkManager |
四、結語
命令行連接 Wi-Fi 雖然相較圖形界面更具挑戰性,但它的靈活性、可自動化性以及對資源的極低占用,使其在很多關鍵場景中成為首選:
- 嵌入式設備 / 樹莓派 Lite 版:沒有 GUI,節省資源;
- 遠程運維 / VPS 配置:SSH 操作必須使用命令行;
- 批量部署 / 自動化腳本:結合 systemd、shell 腳本可實現無人值守聯網;
- 特殊網絡需求:更容易手動控制路由、加密、代理等參數。
掌握如 nmcli
、wpa_supplicant
、iw
、ip
等網絡工具,不僅能提升你的 Linux 實戰能力,更能讓你在無界面環境下游刃有余地應對各種網絡連接需求。