Linux路由表配置基础
Linux路由表是系统网络通信的核心,它决定了数据包的转发路径,理解并正确配置路由表,对于网络管理、故障排查和优化至关重要,本文将详细介绍Linux路由表的基本概念、查看方法、配置技巧及相关注意事项。

路由表的基本概念
Linux路由表由多条路由规则组成,每条规则包含目标网络、子网掩码、网关、出口接口等信息,系统根据目标IP地址与路由表中的规则进行匹配,选择合适的路径转发数据包,默认情况下,Linux维护三张主要路由表:路由表(main``)、本地路由表(local)和组播路由表(mcast)。main`表是最常用的,存储用户自定义的路由规则。
查看路由表信息
使用ip route命令可以查看当前系统的路由表,执行ip route show会显示所有路由规则,包括目标网络、网关、跃点数(metric)等关键信息,若需查看特定路由表,可添加table参数,如ip route show table main。route -n命令(传统工具)也能以数字形式显示路由表,但ip route功能更全面,推荐优先使用。
添加静态路由
静态路由是手动配置的固定路由规则,适用于网络拓扑简单或需要固定路径的场景,添加静态路由的基本语法为:
sudo ip route add 目标网络/子网掩码 via 网关 dev 网卡名
添加一条目标为168.2.0/24、网关为168.1.1的路由,可执行:

sudo ip route add 192.168.2.0/24 via 192.168.1.1 dev eth0
若需设置默认网关,使用default代替目标网络:
sudo ip route add default via 192.168.1.1 dev eth0
删除和修改路由规则
删除路由规则时,需与添加时的参数保持一致,删除上述静态路由:
sudo ip route del 192.168.2.0/24 via 192.168.1.1 dev eth0
若需修改路由规则,需先删除旧规则再添加新规则,临时修改重启后会失效,若需永久生效,需修改配置文件(如/etc/network/interfaces或/etc/sysconfig/network-scripts/route-eth0)。
路由策略与多路径路由
复杂网络环境中,可能需要基于策略的路由(Policy-Based Routing, PBR),通过ip rule命令可添加路由策略,例如根据数据包源地址选择不同路由表:

sudo ip rule add from 192.168.1.0/24 table custom_table
Linux支持多路径路由(ECMP),可配置多个网关实现负载均衡:
sudo ip route add default nexthop via 192.168.1.1 dev eth0 nexthop via 192.168.1.2 dev eth1
注意事项
- 权限要求:路由配置需root权限,普通用户需通过
sudo执行。 - 临时性与永久性:
ip route命令的修改为临时生效,重启后丢失,永久配置需修改网络配置文件或使用网络管理工具(如NetworkManager、systemd-networkd)。 - 路由冲突:添加路由时需避免与现有规则冲突,可通过
ip route show预先检查。 - 网关可达性:网关地址必须与本地网络直连,否则路由无法生效。
Linux路由表配置是网络管理的基础技能,通过掌握ip route命令的使用方法,结合静态路由、策略路由和多路径路由等技术,可以灵活应对复杂的网络环境,在实际操作中,需注意配置的权限、持久性和冲突问题,确保网络通信的稳定与高效。
















