Linux 基于策略的路由

本文介绍Linux基于策略的路由,包括其优点、配置方法和实际应用案例。通过自定义路由表和规则,实现按数据包属性选择不同的路由路径,适用于多网卡或多出口环境。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Linux 基于策略的路由(Linux Policy Routing)

Linux 有传统的基于数据包目的地址的路由算法,和新的基于策略的路由算法
新算法优点:支持多个路由表,支持按数据报属性(源地址、目的地址、协议、端口、数据包大小、内容等)选择不同路由表


# 查看规则命令,后面可跟其它参数,默认为 show(list) 显示全部
ip rule

系统默认有3条记录
0: from all lookup local
32766: from all lookup main
32767: from all lookup default

各部分解释
xx: 第一列数字是优先级,小的数字优先级高
lookup [xxx] : 表示搜索xxx路由表,1-252之间的数字或名称
中间部分内容:如 from all, 这是规则

整行的意思就是,如果一个数据包符合规则(源地址、目的地址、协议、端口、数据包大小、内容等),则使用指定路由表


# 系统最多支持255个路由表。文件 /etc/iproute2/rt_tables
# 可以看到系统保留的表及对应名称,253:default 254:main 255:local
# 可以自由添加自定义名称
# 查看路由表命令,参数可用数字或名称
ip route list table 101
ip route list table main
ip route list cache

# 清除表或内存缓存
ip route flush table 101
ip route flush cache

 


# 示例

##清空一个路由表
##添加一条路由
##添加这个表的默认路由
##添加规则使用这个表,如果没有指定优先级,则使用比现在规则最小数字
ip route flush table 100
ip route add 192.168.1.0/24 dev eth0 src 192.168.1.240 table 100
ip route add default dev eth0 table 100
ip rule add from 192.168.1.242 table 100 [pre 12345]


# 示例2 (Linux 多个网卡使用相同网段的IP地址设置)
## Linux 系统带4个网卡,连接同一交换机,设置同一网段的IP,
## eth0-eth3 IP分别是 192.168.1.240-243
## 默认情况下 route -n 的结果是按 eth up 的顺序决定的,
## IP 实际上都全部指向第一块 UP 的网卡,可以在其它机器上 ping 这4个IP,使用 arp -a 查看到
## 全部 IP 都关连到相同的 MAC 地址
## 这样的结果就是保留第一条网线,拔掉其它网线,其它机器还是能连通这4个IP
## 意味着4个网卡,设置了4个相同网段的IP,但是数据流全部通过第一个网卡传输

## 执行以下命令
ip route flush table 100
ip route flush table 101
ip route flush table 102
ip route flush table 103

ip route add default dev eth0 table 100
ip route add default dev eth1 table 101
ip route add default dev eth2 table 102
ip route add default dev eth3 table 103

ip rule add from 192.168.1.240 table 100
ip rule add from 192.168.1.241 table 101
ip rule add from 192.168.1.242 table 102
ip rule add from 192.168.1.243 table 103

ip route flush cache
## 在其它机器上 ping 这4个IP ,使用 arp -a 查看到
## IP 关连的 MAC 已经不相同了。
## 拔掉任意一条网线,其它机器就会连不上对应的 IP
## 这就表示不同 IP 使用各自的网卡传输数据了。

转载于:https://www.cnblogs.com/gaozhengwei/p/7098024.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值