Linux中需用ip route命令配置路由表:先查看当前路由,再添加/删除静态路由、设置默认网关,最后通过策略路由与多表机制实现源地址选路。

如果您需要在Linux系统中手动管理网络流量的转发路径,则必须通过配置路由表来实现。以下是使用ip route命令完成路由表配置的具体步骤:
一、查看当前路由表
了解当前系统的路由规则是进行任何修改的前提,可通过ip route命令显示内核路由表中的全部条目,包括默认网关、直连网络和静态路由。
1、打开终端,输入命令:ip route show。
2、观察输出内容,识别是否存在重复、冲突或缺失的路由项。
3、如需以更简洁格式显示,可追加table all参数查看所有路由表。
二、添加静态路由
当目标网络不在本地子网且未被动态协议学习时,需手动添加指向该网络的下一跳地址或出口设备,使数据包能正确转发。
1、添加通往192.168.10.0/24网段、经由网关192.168.1.1的路由:ip route add 192.168.10.0/24 via 192.168.1.1。
2、添加仅通过特定接口(如eth0)直连的路由,不指定网关:ip route add 10.0.5.0/24 dev eth0。
3、添加主机路由(精确匹配单个IP):ip route add 172.16.20.5 via 172.16.1.254。
三、删除指定路由条目
错误或过期的路由可能造成通信异常,及时移除无效条目可恢复预期路径选择行为。
1、删除通往192.168.10.0/24的路由:ip route del 192.168.10.0/24。
2、删除默认网关路由(谨慎操作):ip route del default。
3、删除匹配某接口的所有路由:ip route flush dev eth1。
四、设置默认网关
默认路由决定所有未被其他规则匹配的数据包的转发方向,通常指向上游路由器或防火墙设备。
1、将192.168.1.1设为默认网关:ip route add default via 192.168.1.1。
2、若存在多网卡且需指定出口设备,可附加dev参数:ip route add default via 10.0.0.1 dev ens33。
3、替换现有默认路由(避免重复):ip route replace default via 192.168.1.254。
五、配置策略路由与多表机制
标准路由表(main表)无法满足复杂场景需求,Linux支持自定义路由表并配合规则(rule)实现源地址区分选路。
1、向/etc/iproute2/rt_tables文件中添加新表标识:echo "200 table1" >> /etc/iproute2/rt_tables。
2、在table1中添加独立路由:ip route add 192.168.20.0/24 dev eth1 src 192.168.20.100 table table1。
3、添加规则,使来自192.168.20.100的数据包查table1:ip rule add from 192.168.20.100 table table1。











