我的家用电脑主要使用桌面 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 来检查网络是否已经正常工作。

linux中使用net方式连接网络,如何使用 Netplan 从终端连接到无线网络?相关推荐

  1. Linux中的管道与连接符号

    文章目录 1. 背景 2. 输入输出重定向 2.1. 管道符号 `|` 2.2. 输出重定向符号 `>` 2.3. 输出重定向符号 `>>` 2.4. 输入重定向符号 `<` ...

  2. android xp wifi连接不上,手把手解决xp系统电脑无线网络连接不上的处理技巧

    可能有的小伙伴遇到过xp系统电脑无线网络连接不上的问题,大部分朋友还是不知道xp系统电脑无线网络连接不上的情况应该怎么解决,因此我就给大家整理总结了xp系统电脑无线网络连接不上的完整解决方案,你只用依 ...

  3. 计算机无线网络怎么连接,电脑无线网络连接不上,小编教你电脑无线网络连接不上怎么办...

    无线网络是帮助我们摆脱网线的束缚,它的出现带来了巨大的方便,笔记本也在用户中越来越普及.然而却时常会遇到笔记本电脑无线网络连接不上的问题,这种问题该怎样解决呢?下面,小编给大家分享电脑无线网络连接不上 ...

  4. 无线网络渗透测试-使用Aircrack-ng工具破解无线网络

    破解WEP加密的无线网络 Wired Equivalent Privacy或WEP(有线等效加密)协议是对在两台设备间无线传输的数据进行加密的方式,用以防止非法用户窃听或侵入无线网络.不过密码分析学家 ...

  5. 把树莓派改造成无线网卡(3)-----共享无线网络,无线网络转换成有线网络,让有线网络设备连上无线网络

    本文目录 1.准备工作 2.安装DNS和配置管理软件 3.设置网络路由功能 3.1.树莓派的有线网络接口IP配置 3.2.启用路由和IP伪装 3.3.为有线网络配置DHCP和DNS服务 4.运行 5. ...

  6. 玩转无线网络 分享在win 7系统下无线网络的设置方法——xinfanqie.com

    比起有线网络无线网络更是受到大众的青睐,无线网络的方便之处大家都看到了,使用无线网络可以在一个范围内自由自在的上网不用受到双绞线的羁绊何乐而不为呢?无线网络为联网的灵活性提供了极大方便,而且设置无线网 ...

  7. linux 全新编译安装,全新linux中通过编译方式安装nginx

    先去官网下载linux.tar.gz包 http://nginx.org/en/download.html 传到linxu中 解压tar包 在软件包nginx-1.15.9目录下对NGINX进行配置 ...

  8. linux禁用网络连接wifi,禁用IPv6,解决Debian8系统无线网络掉线问题

    我的Debian系统经常出现无线网络连接掉线的情况,这也是很多Linux用户会遇到的问题,本文讲解如何禁用IPv6以解决Debian8系统WiFi掉线的问题. Wifi掉线具体症状 打开终端,使用pi ...

  9. 小米怎么和计算机连接网络设置密码,小米路由器手机怎么设置无线网络 手机设置小米路由器密码教程...

    现在电脑这么普及路由器也是人尽皆用,目前市面上的路由器品牌也是多种多样,今天我们来看看小米路由器如何用手机设置的方法,因为在很多时候,我们需要用到手机来设置,那么手机如何设置,看完这个教程你便会晓得了 ...

最新文章

  1. Linux那些事儿之我是Sysfs(2)linux设备底层模型
  2. GitHub怎样fork别人代码到自己仓库并进行贡献
  3. OpenEye | Windows下安装配置OpenEye
  4. elasticsearch-查询基础篇
  5. spring security之httpSecurity使用示例
  6. 带你学python基础:面向对象编程
  7. Bitmap之位图采样和内存计算详解
  8. mfc中的.rc和.rc2出错fatal error RC1015: cannot open include file 'res\ModalD
  9. 在sts中springboot工程的maven解析异常处理
  10. matlab学习:图像频域分析之Gabor滤波
  11. python 交易日_Python判断某天是否为A股“交易日”?
  12. 多文件管理器 tablacus explorer 下载与安装
  13. 工业相机和普通相机的区别详解_机器视觉网:工业相机与普通相机的四大区别...
  14. linux不编译设备树,petalinux 编译时报设备树语义错误
  15. Java基础学习总结(166)——Google 13 条代码审查标准
  16. keil5安装_Keil 5安装教程
  17. TJA1101汽车网卡调试
  18. 一分钟为网站添加统计功能
  19. C# Lambda 表达式
  20. 安装JDK+SDK+eclipse+Android Studio+模拟器(夜神OK,AVD黑屏)

热门文章

  1. hdu1799 循环多少次?(组合递推公式的使用)
  2. Java 常用类 -Arrays
  3. 别忘了在使用MES系统之前,还有关键一步!
  4. 什么是集成测试?非渐增式和渐增式有什么区别
  5. SharePoint品牌化和自定义--第三章节--收集品牌化需求(3)--要当心的地方
  6. SQL Server 2012 开发新功能 序列对象(Sequence)
  7. libvirt 网络
  8. 用美图秀秀(微软调色版)生成的R分量为255的图片在MATLAB和OpenCV中R分量为254
  9. leetcode算法题--把数字翻译成字符串
  10. pdf屏幕取词 android,===C#屏幕取词Demo热键版鼠标划词版【含语音版】【附源码】===...