Linux作为服务器和开发环境的核心系统,网络配置是基础且关键的技能,网卡配置与路由设置直接决定了系统的网络连通性和数据转发能力,本文将详细介绍两者的配置方法及联动逻辑。

网卡配置基础:静态与动态IP分配
网卡是Linux系统与外部网络交互的接口,其核心配置包括IP地址、子网掩码、网关和DNS等参数,根据网络环境需求,IP地址可通过静态或动态方式分配。
静态IP配置适用于需要固定网络标识的场景,如服务器,以CentOS/RHEL为例,配置文件位于/etc/sysconfig/network-scripts/ifcfg-网卡名(如ifcfg-eth0),关键参数包括:
BOOTPROTO=static:指定静态IP模式;IPADDR=192.168.1.100:设置IP地址;NETMASK=255.255.255.0:配置子网掩码;GATEWAY=192.168.1.1:指定默认网关;DNS1=8.8.8.8:首选DNS服务器;ONBOOT=yes:确保开机启用网卡。
修改后执行systemctl restart network重启网络服务,对于Ubuntu/Debian系统,则通过/etc/netplan/目录下的YAML配置文件(如01-netcfg.yaml)定义,使用netplan apply生效。
动态IP配置适用于客户端或临时网络环境,通过DHCP自动获取参数,只需将BOOTPROTO设置为dhcp(CentOS)或在netplan配置中添加dhcp4: true(Ubuntu),系统即可与DHCP服务器交互完成分配。
路由配置:静态路由与策略路由
路由决定了数据包的转发路径,Linux系统通过路由表管理规则,静态路由需手动配置,适用于网络结构简单的场景;动态路由则通过协议(如OSPF、RIP)自动学习,适合复杂网络。
静态路由配置使用ip route命令,添加一条到达168.2.0/24网段的路由,下一跳为168.1.2:

ip route add 192.168.2.0/24 via 192.168.1.2
若需永久生效,CentOS可在网卡配置文件中添加ROUTE_TO="192.168.2.0/24 via 192.168.1.2",或在/etc/sysconfig/network-scripts/route-网卡名中单独定义;Ubuntu则需在netplan配置中添加routes字段。
查看当前路由表使用ip route show或route -n,其中default条目表示默认网关,用于匹配未知目标网段的数据包。
策略路由可基于源IP、端口等条件灵活选择路由表,创建自定义路由表100并添加规则:
echo "101 table100" >> /etc/iproute2/rt_tables ip route add 192.168.3.0/24 via 192.168.1.3 table 100 ip rule add from 192.168.1.100 table 100
上述配置使源IP为168.1.100的流量优先通过168.1.3转发。
网卡与路由的联动:多网卡与负载均衡
在多网卡场景下,合理配置路由可实现流量分流或负载均衡,系统有两块网卡eth0(IP:192.168.1.100)和eth1(IP:192.168.2.100),分别连接不同网络,可通过设置多网关和策略路由控制流量:

- 为
eth0和eth1分别配置默认网关168.1.1和168.2.1; - 使用
ip route add default nexthop dev eth0 weight 1 nexthop dev eth1 weight 1实现负载均衡(需内核支持multipath)。
需注意/etc/sysctl.conf中的net.ipv4.ip_forward参数,若需系统作为路由器转发数据包,需将其设置为1并执行sysctl -p生效。
常见问题排查
配置完成后,若网络不通,可按以下步骤排查:
- 网卡状态:使用
ip link show确认网卡是否启用(UP状态); - IP配置:通过
ip addr检查IP地址、子网掩码是否正确; - 路由连通性:执行
ping 网关IP测试本地网络,ping 8.8.8.8测试外网连通性; - 路由表:使用
traceroute 目标IP追踪数据包路径,确认路由规则是否匹配。
Linux网络配置的核心在于理解“接口-IP-路由”的联动关系,通过灵活运用静态/动态配置及策略路由,可满足多样化的网络需求,掌握基础命令与配置文件修改,是高效管理Linux网络的关键。