Ubuntu Server 18.04 无线网络接入配置 - 1

我的 Ubuntu Server 18.04 是安装在一个古旧的笔记本上的,这个笔记本买来的时候还是 Win XP 的天下;现在用它也干不了别的,装一个 Linux 也算是发挥点余热吧。既然是笔记本,那么最好能把 WiFi 配上,否则还得拖根网线,怪不方便的。

Ubuntu Server 18.04 安装包并不能自动把无线网络配上,需要安装完毕后手工配置。

我基本上是按照《Ubuntu-Server18.04开启无线网卡并配置静态ip》这篇文章进行配置的。但本篇博文丰富了不少内容,主要包括:

  • 每一步配置动作前后逻辑关系的理解;
  • 对相关 Linux 命令的解释与演示;
  • 对 netplan 配置文件的解读

增加了这些内容之后,原本一篇文章的长度无以容纳;不得已拆成了三篇,分别是:

希望这一系列文章能够让大家对 Ubuntu Server 的无线网络配置,乃至通用网络配置,有一个知其然也知其所以然的理解。

1. 检查当前网络连接情况

命令 ifconfig 用来配置网络连接(configure a network interface)。

我们使用 ifconfig -a 命令形式列出目前所有网络(display all interfaces which are currently available, even if down)。

1
2
3
4
5
6
7
8
9
10
zhexen@tz_ubuntu:~$ ifconfig -a
enp2s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.102 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::62eb:69ff:feeb:2f9a prefixlen 64 scopeid 0x20<link>
ether 60:eb:69:eb:2f:9a txqueuelen 1000 (Ethernet)
RX packets 15303 bytes 4546105 (4.5 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 12453 bytes 1160004 (1.1 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 16

可见目前只有以太网。

2. 查看无线设备的名称与状态

命令 iw 用以显示/配置无线设备(show / manipulate wireless devices and their configuration)。

我们使用 iw dev 命令形式列出所有无线网络设备(List all network interfaces for wireless hardware)。

1
2
3
4
5
6
zhexen@tz_ubuntu:~$ iw dev
phy#0
Interface wlp3s0
ifindex 3
wdev 0x1
addr ec:55:f9:3d:cc:f8

可见本机的无线网络设备名(dev_name)为:wlp3s0

3. 查看无线网络设备的连接状态

我们使用 iw dev wlp3s0 link 命令形式来查看设备 wlp3s0 的连接状况。当时忘记记录命令执行结果了,反正是没连通。

顺便提一句,Ubuntu 官网上 iw 命令的文档并不详细。相反,iw help 命令可以给出更为详尽的说明。比如 iw dev <dev_name> link 形式在上述官网文档上没有提及,而 iw help 则给出了 “Print information about the current link, if any” 的说明。如果大家遇到其他语焉不详的文档时,也不妨用类似的方法(如 man <command><command> help 等)来找找说明。

4. 查看无线网络设备是否被关闭

命令 rfkill 是开关无线网络设备的工具(tool for enabling and disabling wireless devices)。

我们使用 rfkill list all 命令形式查看所有的无线网络设备。

1
2
3
4
5
6
7
zhexen@tz_ubuntu:~$ rfkill list all
0: acer-wireless: Wireless LAN
Soft blocked: no
Hard blocked: no
1: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no

好的,网络设备都没有被关闭。

  • 如果有硬关闭,则需通过计算机上相关硬件(比如某些笔记本上的飞行模式拨动开关)去调整;
  • 如果有软关闭,则通过 ip link set <dev_name> upifconfig <dev_name> up 命令来解除关闭

5. 查看/启动无线网络设备

命令 ip 用以显示/操控路由、网络设备、接口以及通道(show / manipulate routing, network devices, interfaces and tunnels)。

我们使用 ip link show <dev_name> 命令形式来查看特定网络设备。

1
2
3
zhexen@tz_ubuntu:/etc/network$ ip link show wlp3s0
3: wlp3s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether ec:55:f9:3d:cc:f8 brd ff:ff:ff:ff:ff:ff

怎么解读 ip link show 命令的返回值呢? 尖括号中的内容,即 <XXX,XXX>,是设备的状态信息;而其后则是一对一对的 设置项 设置值。从上面命令的返回值中,我们可以发现:

  • 状态中没有 UP
  • stateDOWN

至于其他设置项则都是网络底层的,比如 mtu(最大传输单位)、qlen(传输队列长度)等等,非特殊情况我们可以不去管这些设置项。感兴趣的同学可以参考 果冻想 - Linux ip命令详解。Ubuntu 的官方文档嘛,我是没找到对这些输出项的解释。

我们需要先把无线网卡启动(UP)起来。

我们使用 sudo ifconfig <dev_name> up 命令形式来启动 wlp3s0 设备。

1
2
zhexen@tz_ubuntu:/etc/network$ sudo ifconfig wlp3s0 up
[sudo] password for zhexen:

OK,命令本身没有返回任何信息,我们再用 ip link show <dev_name> 来看看。

1
2
3
zhexen@tz_ubuntu:/etc/network$ ip link show wlp3s0
3: wlp3s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default qlen 1000
link/ether ec:55:f9:3d:cc:f8 brd ff:ff:ff:ff:ff:ff

从上面结果可见:

  • 设备状态为:启动(UP),但未连接(NO-CARRIER);
  • state 还是 DOWN

到此,所有准备工作以及一部分预配置工作已经完成;接下来我们要配置 Ubuntu Server 的网络管理核心 netplan。

具体详情请见 Ubuntu Server 18.04 无线网络接入配置 - 2 - netplan 配置文件

当前网速较慢或者你使用的浏览器不支持博客特定功能,请尝试刷新或换用Chrome、Firefox等现代浏览器