网络接口
100%

网络配置 · 第 1 课

网络接口

学习如何检查 Linux 接口状态、地址、统计信息和持久配置归属。

Linux 网络接口将网络命名空间连接到物理设备、环回路径、网桥、隧道、虚拟设备或其他链路。接口状态、地址、路由、DNS 和持久配置相互关联,但彼此不同。

发现接口

使用现代 iproute2 工具:

$ ip -brief link show
$ ip -brief address show

接口名称可能是 enp1s0 这样基于硬件的可预测名称、eth0 这样的传统名称,或管理员定义的名称。绝不要假定 eth0 一定存在或标识某个特定适配器。

为什么脚本应该发现接口,而不是假定存在 eth0

管理状态与运行状态

UP 表示接口在管理上已启用。LOWER_UP 通常表示较低层报告运行就绪,例如检测到以太网载波。任何一个标志都不能单独证明 IP 地址、路由、DNS、防火墙或应用程序路径正常。

$ ip -details link show dev enp1s0
$ ip -s link show dev enp1s0

统计视图可以显示错误、丢弃和计数器,但只有结合时间区间和基线,计数器才有意义。

管理状态 UP 无法证明什么?

更改运行时状态

运行时命令包括:

$ sudo ip link set dev enp1s0 up
$ sudo ip address add 192.0.2.10/24 dev enp1s0

这些更改影响当前内核状态,并可能与之后重新应用配置文件的网络管理器冲突。关闭远程管理接口可能立即中断访问。更改前应确认确切设备、保留控制台访问、记录当前状态,并准备定时或经过测试的回滚。

ip address add 本身能保证重启后设置仍然存在吗?

确定配置归属

不同发行版和安装的持久配置路径各不相同,可能包括 NetworkManager 配置文件、systemd-networkd 单元、netplan 输入、/etc/network/interfaces、cloud-init 或编排系统。编辑文件前,应确定哪个服务管理该设备:

$ systemctl --type=service --state=running | grep -E 'NetworkManager|networkd|networking'
$ networkctl status
$ nmcli device status

只使用已确定管理器所提供的命令。两个管理器控制同一条链路时可能相互竞争,并覆盖对方的状态。

持久更改接口前应该做什么?

验证更改

应验证链路状态、分配的地址和有效期、所选路由、解析器状态、邻居可达性及实际应用程序。对于持久更改,只有存在恢复通道时,才能通过受控服务重启或系统重启进行测试。

什么比在 ip address 中看到新地址更能证明更改有效?

课程已完成

你已完成 网络接口

现在,你可以检查和更改接口,而不会混淆运行时状态与持久策略。

  • 发现真实接口名称和地址。

  • 区分管理状态与运行连接。

  • 将直接 ip 更改视为当前内核状态。

  • 持久更改前确定活动配置所有者。

  • 之后验证路由、解析和应用程序行为。

保存学习进度

创建免费账户即可保存本课进度,并在任意设备上继续学习。

创建免费账户
下一节
返回 网络配置