如何在Linux中配置路由 Linux ip route策略路由

答案:通过ip route和ip rule可实现基于源地址的策略路由。首先用ip route配置静态路由,再通过ip rule指定特定流量查询自定义路由表,如将源IP为10.0.0.100的流量导向custom_table表,实现多网卡间的灵活路由控制,需配合rt_tables定义表、规则持久化配置以确保重启生效。

如何在Linux中配置路由 Linux ip route策略路由

在Linux系统中,网络路由的配置不仅限于默认网关的设置,还涉及更复杂的策略路由场景。通过

ip route

命令和

ip rule

机制,可以实现基于源地址、接口、优先级等条件的流量控制。下面介绍如何使用

ip route

配置静态路由与策略路由。

基本路由配置:ip route

Linux中管理路由表主要使用

ip route

命令,取代了传统的

route

命令。它支持添加、删除和查看路由条目。

常用操作示例:

  • ip route add 192.168.10.0/24 via 10.0.0.1 dev eth0

    :添加一条到192.168.10.0网段的路由,通过网关10.0.0.1,出口为eth0。

  • ip route del 192.168.10.0/24

    :删除指定网段的路由。

  • ip route show

    ip route list

    :查看当前路由表。

  • ip route add default via 192.168.1.1 dev eth0

    :设置默认路由。

这些路由默认写入主路由表(table main),系统启动后可通过配置文件持久化(如CentOS中修改

/etc/sysconfig/network-scripts/route-eth0

,Ubuntu中使用

/etc/netplan/

/etc/network/interfaces

)。

多路由表与策略路由基础

Linux支持多个路由表,编号范围0–255,其中0、254、255保留,254是main表,253是default表。策略路由通过

ip rule

定义匹配规则,决定使用哪个路由表。

查看当前规则:

ip rule show

典型输出:

0: from all lookup local
32766: from all lookup main
32767: from all lookup default

这些是系统默认规则,优先级从0到32767递增(数字越小优先级越高)。

配置策略路由示例

假设服务器有两个网络接口:

  • eth0:192.168.1.100/24,网关192.168.1.1,用于普通流量
  • eth1:10.0.0.100/24,网关10.0.0.1,用于特定源IP(如10.0.0.100)的流量

目标:从10.0.0.100发出的数据包走eth1的网关。

步骤如下:

  1. 创建自定义路由表(如table 100):
    编辑
    /etc/iproute2/rt_tables

    ,添加:
    100 custom_table

  2. 为该表添加路由:
    ip route add 10.0.0.0/24 dev eth1 src 10.0.0.100 table custom_table

    ip route add default via 10.0.0.1 dev eth1 table custom_table
  3. 添加策略规则:
    ip rule add from 10.0.0.100 lookup custom_table
  4. 启用IP转发(如需转发):
    echo 1 > /proc/sys/net/ipv4/ip_forward

此时,从10.0.0.100发起的连接将使用custom_table中的路由,走eth1出口。

持久化配置

上述命令重启后失效,需写入配置文件。

CentOS/RHEL:

/etc/sysconfig/network-scripts/route-eth1

中添加:
default via 10.0.0.1 dev eth1 table custom_table

/etc/sysconfig/network-scripts/rule-eth1

中添加:
from 10.0.0.100 lookup custom_table

Ubuntu/Debian(Netplan):
在YAML配置中使用

routing-policy

定义规则,或通过

networkd-dispatcher

脚本执行

ip rule

命令。

基本上就这些。掌握

ip route

ip rule

,能灵活应对多线路、多租户、负载均衡等复杂网络场景。关键是理解“规则决定查哪张表,表决定走哪条路”。

linux 路由 centos ubuntu ai 配置文件 linux系统 echo 接口 default table linux ubuntu centos debian 负载均衡

上一篇
下一篇