这篇文章主要讲解了“Linux终端中怎么使用Netplan连接WiFi”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux终端中怎么使用Netplan连接WiFi”吧!
Netplan抽象网络配置生成器 ,是一个用于配置 Linux
网络的简单工具。 通过 Netplan
,你只需用一个 YAML
文件描述每个网络接口需要配置成啥样即可。 根据这个配置描述, Netplan
便可帮你生成所有需要的配置,不管你选用的底层管理工具是啥。
当你使用 Ubuntu 桌面时,连接到 WiFi 是很容易的,因为你有图形用户界面,可以很容易地做到这一点。但当你使用 Ubuntu 服务器时就不一样了,因为你只能使用命令行。
Ubuntu 使用 Netplan 工具来轻松配置网络。在 Netplan 中,你可以创建一个包含网络接口描述的 YAML 文件,然后在 netplan 命令行工具的帮助下,生成所有需要的配置。
让我们看看如何使用 Netplan 从终端连接到无线网络。
有几种方法可以识别你的网络接口名称。你可以使用 ip 命令、过时的 ipconfig 命令或查看这个文件:
ls /sys/class/net
这应该会展示所有可用的网络接口(以太网、WiFi 和环回)。无线网络接口名称以 w 开头,通常命名类似 wlanX、wlpxyz。
[email protected]:~$ ls /sys/class/net eth0 lo wlan0
记下这个接口名。你将在下一步使用它。
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 预装了它。
sudo nano /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 文件不能被解析,它会抛出一个错误。
你的完整配置文件可能是这样的:
# This file is generated from information provided by the datasource. Changes# to it will not persist across an instance reboot. To disable cloud-init's# network configuration capabilities, write a file# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:# 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"
我觉得很奇怪,尽管有消息说更改不会在实例重启后保留,但它仍然可以工作。
不管怎样,用这个命令生成配置:
sudo netplan generate
如果你幸运的话,你应该连上网络。尝试 ping 一个网站或运行 apt 更新命令。
然而,事情可能不会那么顺利,你可能会看到一些错误。如果是这种情况,请尝试一些额外的步骤。
当你使用 netplan apply 命令时,你有可能在输出中看到类似这样的错误。
Failed to start netplan-wpa-wlan0.service: Unit netplan-wpa-wlan0.service not found. Traceback (most recent call last): File "/usr/sbin/netplan", line 23, in netplan.main() File "/usr/share/netplan/netplan/cli/core.py", line 50, in main self.run_command() File "/usr/share/netplan/netplan/cli/utils.py", line 179, in run_command self.func() File "/usr/share/netplan/netplan/cli/commands/apply.py", line 46, in run self.run_command() File "/usr/share/netplan/netplan/cli/utils.py", line 179, in run_command self.func() File "/usr/share/netplan/netplan/cli/commands/apply.py", line 173, in command_apply utils.systemctl_networkd('start', sync=sync, extra_services=netplan_wpa) File "/usr/share/netplan/netplan/cli/utils.py", line 86, in systemctl_networkd subprocess.check_call(command) File "/usr/lib/python3.8/subprocess.py", line 364, in check_call raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '['systemctl', 'start', '--no-block', 'systemd-networkd.service', 'netplan-wpa-wlan0.service']' returned non-zero exit status 5.
可能是 wpa_supplicant 服务没有运行。运行这个命令:
sudo systemctl start wpa_supplicant
再次运行 netplan apply。如果它能解决这个问题,那就太好了。否则,使用下面的命令关闭 Ubuntu 系统:
shutdown now
重新启动 Ubuntu 系统,登录并再次生成和运行 netplan apply:
sudo netplan generate sudo netplan apply
现在可能会显示警告(而不是错误)。这是警告而不是错误。我检查了正在运行的 systemd 服务,发现 netplan-wpa-wlan0.service 已经在运行了。可能是因为它已经在运行了,而且 netplan apply 更新了配置文件(即使没有任何改变),所以显示了警告。
Warning: The unit file, source configuration file or drop-ins of netplan-wpa-wlan0.service changed on disk. Run 'systemctl daemon-reload' to reload units.
这并不重要,你可以通过运行 apt update 来检查网络是否已经正常工作。
感谢各位的阅读,以上就是“Linux终端中怎么使用Netplan连接WiFi”的内容了,经过本文的学习后,相信大家对Linux终端中怎么使用Netplan连接WiFi这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。