在 Raspberry Pi 4B 上,可以直接透過 SSH 文字介面關閉 Wi-Fi,不需要進入圖形介面。
建議使用 rfkill,也可以設定開機後持續停用 Wi-Fi。
1. 立即關閉 Wi-Fi
sudo rfkill block wifi
確認狀態:
rfkill list
預期結果:
0: phy0: Wireless LAN
Soft blocked: yes
Hard blocked: no
Soft blocked: yes 表示 Wi-Fi 已被軟體停用。
若要重新啟用:
sudo rfkill unblock wifi
2. 永久停用 Wi-Fi(建議用於固定有線網路的設備)
如果 Raspberry Pi 4B 使用 Ethernet 有線網路,而且不需要 Wi-Fi,可以透過 Device Tree Overlay 停用無線網路硬體。
編輯設定檔:
sudo nano /boot/firmware/config.txt
在檔案最後加入:
[all]
dtoverlay=disable-wifi
儲存後重新開機:
sudo reboot
驗證 Wi-Fi 是否已停用:
ip link show wlan0
預期結果:
Device "wlan0" does not exist.
也可以執行:
iw dev
正常情況下不會列出內建 Wi-Fi 介面。
注意: 舊版 Raspberry Pi OS 的設定檔可能位於 /boot/config.txt,請依實際系統確認。
3. 比較兩種方式
| 項目 | rfkill | disable-wifi |
|---|---|---|
| 立即生效 | 是 | 需重新開機 |
| 是否需要修改設定 | 否 | 是 |
| 重新開機後 | 依系統狀態還原機制而定 | 持續停用 |
| 是否停用硬體初始化 | 否 | 是 |
| 恢復方式 | unblock | 移除設定並重新開機 |
4. 我的建議
如果 Raspberry Pi 4B 是固定使用有線網路的伺服器,例如執行 Nginx、DNS 或 Docker,建議使用:
dtoverlay=disable-wifi
這樣可以避免 Wi-Fi 被意外啟用,也能減少不必要的無線網路攻擊面。
重要: 如果目前 SSH 是透過 Wi-Fi 連線,執行停用指令會立即中斷連線。請先確認 Ethernet 已正常連線。