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

wufei123 发布于 2025-09-24 阅读(11)
答案:通过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递增(数字越小优先级越高)。

Teleporthq Teleporthq

一体化AI网站生成器,能够快速设计和部署静态网站

Teleporthq182 查看详情 Teleporthq 配置策略路由示例

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

  • 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中配置路由 Linux ip route策略路由的详细内容,更多请关注知识资源分享宝库其它相关文章!

相关标签: linux 路由 centos ubuntu ai 配置文件 linux系统 echo 接口 default table linux ubuntu centos debian 负载均衡 大家都在看: 如何在Linux命令行中使用history命令提高效率? 如何在Linux中限制网络带宽? 如何在Linux命令行中进行文件操作? 如何在Linux中监控网络接口流量? Linux命令行中top与htop命令的对比与使用

标签:  路由 策略 配置 

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。