1. 网关基础配置与网络连通性测试

任务说明

本案例面向工业IoT网关的初始部署场景:网关通过以太网接入局域网,需要为其配置静态IP地址、子网掩码和默认网关,并验证与上位机之间的网络连通性。完成本案例后,网关应能以指定IP地址被上位机访问,且能够ping通局域网内的其他设备。

环境与依赖

  • 硬件:任意ARM/x86架构的Linux网关设备(如树莓派、RK3568开发板),带以太网接口
  • 系统:Debian/Ubuntu或Buildroot/Yocto生成的嵌入式Linux
  • 工具:ip(iproute2)、ping、nano或vi编辑器
  • 上位机:Windows/Linux PC,与网关接入同一局域网

实现步骤

网关的IP配置有两种落地方式:临时配置(重启失效,用于快速验证)和持久化配置(写入系统文件,重启保留)。本案例两种方式均需完成,先临时配置验证连通性,再写入配置文件固化。

1. 查看当前网络接口状态

执行以下命令确认以太网接口名称(通常为eth0或end0):

ip link show
ip addr show

2. 临时配置IP地址

假设网关的以太网接口为eth0,规划静态IP为192.168.1.100,子网掩码为255.255.255.0(即/24),默认网关为192.168.1.1。执行:

sudo ip addr add 192.168.1.100/24 dev eth0
sudo ip link set eth0 up
sudo ip route add default via 192.168.1.1 dev eth0

若网关已有DHCP分配的IP,需先删除旧地址再添加静态地址:

sudo ip addr flush dev eth0
sudo ip addr add 192.168.1.100/24 dev eth0

3. 持久化配置(重启生效)

对于Debian/Ubuntu系统,编辑网络配置文件:

sudo nano /etc/network/interfaces

写入以下内容:

auto eth0
iface eth0 inet static
    address 192.168.1.100
    netmask 255.255.255.0
    gateway 192.168.1.1

对于使用netplan的Ubuntu 18.04+系统,编辑/etc/netplan/01-netcfg.yaml:

network:
  version: 2
  ethernets:
    eth0:
      dhcp4: no
      addresses: [192.168.1.100/24]
      gateway4: 192.168.1.1
      nameservers:
        addresses: [192.168.1.1]

应用配置:sudo netplan apply

4. 验证连通性

在网关上执行以下命令,确认配置生效:

ip addr show eth0
ip route show

预期输出:eth0的inet地址为192.168.1.100/24,路由表中存在default via 192.168.1.1。

然后测试与上位机的连通性。假设上位机IP为192.168.1.50,在网关执行:

ping -c 4 192.168.1.50

在上位机打开命令行,反向ping网关:

ping 192.168.1.100

验证方法与判定标准

  • 配置正确性:ip addr show eth0显示的IP、掩码与规划一致;ip route show包含默认路由且网关地址正确。
  • 双向连通性:网关ping上位机返回0% packet loss;上位机ping网关同样无丢包,即判定网络连通性测试通过。
  • 持久化验证:执行sudo reboot重启网关后,再次执行ip addr show eth0,IP仍为静态配置值,说明持久化配置生效。

常见问题

  • ping不通但IP已配置:检查上位机与网关是否在同一子网(如均为192.168.1.x);检查网线连接和交换机端口状态;确认上位机防火墙未屏蔽ICMP。
  • 重启后IP丢失:说明未正确写入持久化配置文件,或文件格式有误。执行sudo netplan apply或sudo systemctl restart networking检查报错信息。
  • 接口名不是eth0:使用ip link show确认实际接口名,后续所有命令中的接口名需同步替换。