网络接口与路由管理

网络接口与路由管理是Linux系统运维的核心组件,直接影响网络连通性与数据传输路径。在实际操作中,需根据配置时效性需求,区分临时配置(系统重启后失效)与永久生效(持久化存储)两种场景,同时需掌握底层网络命令工具的使用方法。

临时配置:基于ip命令的即时网络调整

ip命令作为新一代网络管理工具,已逐步替代传统的ifconfig,其功能覆盖接口状态管理、IP地址配置、路由表维护及ARP缓存控制等核心场景。该工具通过子命令模块化设计,实现精细化网络控制:

  • 接口状态管理:通过link子命令控制网络接口的启用与禁用,如ip link set eth0 up可激活名为eth0的网络接口,ip link set eth0 down则禁用该接口。执行ip link show可查看所有接口的物理状态(如是否连接网线)及链路层信息(MAC地址、MTU值等)。

  • IP地址临时配置:使用addr子命令为接口分配临时IP地址,语法格式为ip addr add [IP地址/子网掩码] dev [接口名]。例如,为eth0接口添加192.168.1.100/24的IPv4地址,可执行ip addr add 192.168.1.100/24 dev eth0。此配置仅在当前会话有效,系统重启后自动失效。如需移除临时IP,可使用ip addr del 192.168.1.100/24 dev eth0

  • 路由表管理:通过route子命令配置数据包转发路径,核心功能包括添加静态路由与默认网关。例如,添加指向192.168.1.0/24网段的静态路由(下一跳为10.0.0.1),命令为ip route add 192.168.1.0/24 via 10.0.0.1 dev eth0;添加默认路由(所有未知网段流量均通过192.168.1.1转发)则执行ip route add default via 192.168.1.1 dev eth0。执行ip route show可查看当前系统路由表完整信息。

临时配置关键注意事项

  1. 所有通过ip命令直接执行的配置均存储于内存,重启网络服务或系统后失效,适用于临时测试场景。
  2. 添加IP地址前需确保接口已启用(ip link set [接口] up),否则会提示"Device not found"错误。
  3. 路由配置需指定正确的出接口(dev)与下一跳网关(via),二者需处于同一广播域。

永久生效:跨发行版的持久化配置方案

临时配置无法满足生产环境需求,需通过发行版特定工具将网络配置写入系统文件。主流Linux发行版采用两种配置体系:

  • Ubuntu系统(netplan框架):基于YAML格式配置文件,路径通常为/etc/netplan/*.yaml。典型配置示例如下:
yaml
复制代码
network:
version: 2
renderer: networkd
ethernets:
eth0:
addresses: [192.168.1.100/24]
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 114.114.114.114]

配置完成后执行netplan apply使更改生效,系统会自动将配置转换为systemd-networkd服务的底层参数,实现重启后自动加载。

  • CentOS系统(nmcli工具):依托NetworkManager服务,通过nmcli命令行工具管理连接配置。例如,创建名为"eth0-static"的永久连接:
bash
复制代码
nmcli connection add con-name eth0-static ifname eth0 type ethernet ip4 192.168.1.100/24 gw4 192.168.1.1
nmcli connection modify eth0-static ipv4.dns "8.8.8.8 114.114.114.114"
nmcli connection up eth0-static

配置存储于/etc/sysconfig/network-scripts/ifcfg-eth0-static文件,支持传统网络服务(network.service)与NetworkManager双重加载。

与系统安装网络配置的衔接

第1章所述的系统安装阶段网络配置(如Anaconda安装程序中的静态IP设置或DHCP选择),本质是通过发行版自带工具(如CentOS的anaconda-ks.cfg或Ubuntu的subiquity)生成初始持久化配置。本章介绍的ip命令可用于安装后的临时调整(如故障排查时修改IP测试连通性),而netplan/nmcli则用于修改永久配置,三者共同构成Linux网络管理的完整操作链。例如,安装时通过DHCP获取的动态IP,可通过ip addr show查看当前分配结果,如需固定IP则需通过netplan或nmcli重新定义并应用。

通过ip命令的即时性与netplan/nmcli的持久化能力结合,可实现Linux网络的全生命周期管理,满足从临时测试到生产环境稳定运行的多样化需求。