首页 > 技术文章 > 配置网络

amcoder 2020-11-04 09:00 原文

这里以演示树莓派4B的板子为主,烧录的系统为ubuntu server 20.04 LTS 64位系统,个人电脑为Windows10

场景1 使用网线连接

没有显示屏,没有micro HDMI,通过WiFi共享局域网连接配置

准备一根网线

  1. 连接好树莓派电源,启动
  2. 使用自己的电脑连接好WiFi,使用网线一头连接树莓派板子一头连接自己的电脑
  3. 找到自己的WLAN适配器,右键【属性】,并在属性中勾选【共享】中的【允许其他网络用户通过此计算机的Internet连接来连接】(如果是Windows10 会需要选择共享的网卡为以太网也就是你网线连接的那块网卡)
  4. 共享成功后该网线连接的网卡默认为被修改为某个固定的ip地址(我这里是192.168.137.1)
  5. 此时可以看到板子上的网线口橘色灯和绿色灯变亮
  6. 下面开始找出板子使用的是137网段(以我的为例)的哪个ip地址,打开cmd,输入命令arp -a | findstr dc-a6-32(此处注意,不同的板子mac地址不一样,最新的板子为dc-a6-32,这个可以参考官网)
  7. 找到之后就可以通过ssh连接了(默认账号密码为ubuntu/ubuntu)
    注意:每次重启树莓派后都需要重新执行第3步操作
    以上就是通过网线连接树莓派,然后ssh操作的过程了。如果你觉得不够方便,那么可以使用WiFi连接,在4B中是支持WiFi连接的。

场景2 使用多WiFi连接

直接跳过固定某一个WiFi,因为你经常切换到不同WiFi网络中时,你可以配置多个WiFi网络,让树莓派能自动连接到可用WiFi网络中。这里就要用到高大上的wpa_supplicant.conf了

由于ubuntu server 20.04并没有针对WiFi进行一些配置,所以需要我们手动去配置一下,由于这里需要用到/etc/network/interfaces文件,而此文件默认是没有的。所以我们需要按照以下步骤来干

  1. 通过场景一或者借助显示屏连接上树莓派
  2. 使用命令ip addr是可以看到wlan0这块网卡的,但是却没有ip地址
  3. ssh连接上树莓派后,第一件事先修改apt源为国内镜像源(当然有条件可以不这么干)

清华:https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/
阿里:https://mirrors.aliyun.com/ubuntu-ports/
中国科技大学:http://mirrors.ustc.edu.cn/ubuntu-ports

  • 备份源文件
sudo cp -r /etc/apt/sources.list ./etc/apt/sources.list.bak
  • 将sources.list中的http://ports.ubuntu.com/ubuntu-ports替换为上述国内的任意一个
  • 更新软件包
sudo apt update
sudo apt upgrade #可以不操作更新
  • 安装ifconfig和ifupdown
sudo apt-get install net-tools
sudo apt-get install ifupdown
  1. 安装完毕后,开始配置WiFi(/etc/network/interfaces此配置文件已生成)
  • 配置/etc/network/interfaces,添加以下内容
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

allow-hotplug wlan0
auto wlan0
iface wlan0 inet dhcp
    pre-up wpa_supplicant -Dwext -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf -B
  • 修改/etc/wpa_supplicant/wpa_supplicant.conf (注意network中的严格为tab缩进)
ctrl_interface=/var/run/wpa_supplicant
#ap_scan=1(默认为1,因此可以删掉)
network={
       ssid="WiFi网络名称"
       psk="WiFi密码"
       priority=1
}
# 这里解释一下上述配置的含义
#1. 这个模式下总是先连接可见的WiFi,如果扫描完所有可见的网络之后都没有连接上,则开始连接隐藏WiFi。
#2. 会按照network定义的顺序连接WiFi网络,遇到隐藏的将立刻开始连接,因此在这个模式下连接顺序不受priority影响
# priority:连接优先级,越大越优先
# scan_ssid:连接隐藏WiFi时需要指定该值为1
  1. 配置完毕后启动wlan0网卡ifup wlan0即可

ifup wlan0

ip addr

推荐阅读