linux中使用net方式连接网络,如何使用 Netplan 从终端连接到无线网络?
我的家用電腦主要使用桌面 Linux。我也有多臺 Linux 服務器用于托管網站以及開源軟件,如 Nextcloud、Discourse、Ghost、Rocket Chat 等。
我可以使用 linode 在云端幾分鐘內快速部署 Linux 服務器。但最近,我在我的樹莓派上安裝了 Ubuntu 服務器。這是我第一次在物理設備上安裝服務器,我不得不做一些額外的事情來通過命令行將 Ubuntu 服務器連接到 WiFi。
在本教程中,我將展示在 Ubuntu Linux 中使用終端連接到 WiFi 的步驟。你應該:
不要害怕使用終端編輯文件。
知道 wifi 接入點名稱 (SSID) 和密碼。
在 Ubuntu 中從終端連接到 WiFi
當你使用 Ubuntu 桌面時,連接到 WiFi 是很容易的,因為你有圖形用戶界面,可以很容易地做到這一點。但當你使用 Ubuntu 服務器時就不一樣了,因為你只能使用命令行。
Ubuntu 使用 Netplan 工具來輕松配置網絡。在 Netplan 中,你可以創建一個包含網絡接口描述的 YAML 文件,然后在 netplan 命令行工具的幫助下,生成所有需要的配置。
讓我們看看如何使用 Netplan 從終端連接到無線網絡。
步驟 1:確定你的無線網絡接口名稱
有幾種方法可以識別你的網絡接口名稱。你可以使用 ip 命令、過時的 ipconfig 命令或查看這個文件:
ls/sys/class/net
這應該會展示所有可用的網絡接口(以太網、WiFi 和環回)。無線網絡接口名稱以 w 開頭,通常命名類似 wlanX、wlpxyz。
[emailprotected]:~$ls/sys/class/net
eth0lowlan0
記下這個接口名。你將在下一步使用它。
步驟 2:編輯 Netplan 配置文件中的 wifi 接口詳細信息
Netplan 配置文件在 /etc/netplan 目錄下。如果你查看這個目錄的內容,你應該看到類似 01-network-manager-all.yml 或 50-cloud-init.yaml 等文件。
如果是 Ubuntu 服務器,你應該有 50-cloud-init.yaml 文件。如果是桌面計算機,應該是 01-network-manager-all.yml 文件。
Linux 桌面計算機的 Network Manager 允許你選擇一個無線網絡。你可以在它的配置中硬編碼寫入 WiFi 接入點。這可以在自動掉線的情況下(比如掛起)時幫助到你。
不管是哪個文件,都可以打開編輯。我希望你對 Nano 編輯器有一點熟悉,因為 Ubuntu 預裝了它。
sudonano/etc/netplan/50-cloud-init.yaml
YAML 文件對空格、縮進和對齊方式非常敏感。不要使用制表符,在看到縮進的地方使用 4 個空格(或 2 個,以 YAML 文件中已經使用的為準)代替。
基本上,你需要添加以下幾行,引號中是接入點名稱(SSID) 和密碼(通常):
wifis:
wlan0:
dhcp4:true
optional:true
access-points:
"SSID_name":
password:"WiFi_password"
再說一次,保持我所展示的對齊方式,否則 YAML 文件不能被解析,它會拋出一個錯誤。
你的完整配置文件可能是這樣的:
#Thisfileisgeneratedfrominformationprovidedbythedatasource.Changes
#toitwillnotpersistacrossaninstancereboot.Todisablecloud-init's
#networkconfigurationcapabilities,writeafile
#/etc/cloud/cloud.cfg.d/99-disable-network-config.cfgwiththefollowing:
#network:{config:disabled}
network:
ethernets:
eth0:
dhcp4:true
optional:true
version:2
wifis:
wlan0:
dhcp4:true
optional:true
access-points:
"SSID_name":
password:"WiFi_password"
我覺得很奇怪,盡管有消息說更改不會在實例重啟后保留,但它仍然可以工作。
不管怎樣,用這個命令生成配置:
sudonetplangenerate
如果你幸運的話,你應該連上網絡。嘗試 ping 一個網站或運行 apt 更新命令。
然而,事情可能不會那么順利,你可能會看到一些錯誤。如果是這種情況,請嘗試一些額外的步驟。
可能的故障排除
當你使用 netplan apply 命令時,你有可能在輸出中看到類似這樣的錯誤。
Failedtostartnetplan-wpa-wlan0.service:Unitnetplan-wpa-wlan0.servicenotfound.
Traceback(mostrecentcalllast):
File"/usr/sbin/netplan",line23,in
netplan.main()
File"/usr/share/netplan/netplan/cli/core.py",line50,inmain
self.run_command()
File"/usr/share/netplan/netplan/cli/utils.py",line179,inrun_command
self.func()
File"/usr/share/netplan/netplan/cli/commands/apply.py",line46,inrun
self.run_command()
File"/usr/share/netplan/netplan/cli/utils.py",line179,inrun_command
self.func()
File"/usr/share/netplan/netplan/cli/commands/apply.py",line173,incommand_apply
utils.systemctl_networkd('start',sync=sync,extra_services=netplan_wpa)
File"/usr/share/netplan/netplan/cli/utils.py",line86,insystemctl_networkd
subprocess.check_call(command)
File"/usr/lib/python3.8/subprocess.py",line364,incheck_call
raiseCalledProcessError(retcode,cmd)
subprocess.CalledProcessError:Command'['systemctl','start','--no-block','systemd-networkd.service','netplan-wpa-wlan0.service']'returnednon-zeroexitstatus5.
可能是 wpa_supplicant 服務沒有運行。運行這個命令:
sudosystemctlstartwpa_supplicant
再次運行 netplan apply。如果它能解決這個問題,那就太好了。否則,使用下面的命令關閉 Ubuntu 系統:
shutdownnow
重新啟動 Ubuntu 系統,登錄并再次生成和運行 netplan apply:
sudonetplangenerate
sudonetplanapply
現在可能會顯示警告(而不是錯誤)。這是警告而不是錯誤。我檢查了正在運行的 systemd 服務,發現 netplan-wpa-wlan0.service 已經在運行了。可能是因為它已經在運行了,而且 netplan apply 更新了配置文件(即使沒有任何改變),所以顯示了警告。
Warning:Theunitfile,sourceconfigurationfileordrop-insofnetplan-wpa-wlan0.servicechangedondisk.Run'systemctldaemon-reload'toreloadunits.
這并不重要,你可以通過運行 apt update 來檢查網絡是否已經正常工作。
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的linux中使用net方式连接网络,如何使用 Netplan 从终端连接到无线网络?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux cmake编译源码,linu
- 下一篇: linux高级运维要会的,linux高级