多网卡如何区分路由,使用宽松模式测试网络

一、什么是 Linux 的"非对称路由"

1️⃣ 定义(先给结论)

非对称路由指的是:

数据包从 A 网卡进来,但回包却从 B 网卡出去

在多网卡、多出口服务器上非常常见,比如:

  • 双网卡

  • 多默认网关

  • 同一台服务器连多个网络

你之前的情况就是典型的非对称路由。


2️⃣ Linux 默认为什么不喜欢非对称路由?

因为它可能意味着:

  • IP 欺骗(spoofing)

  • 流量劫持

  • 路由异常

所以 Linux 默认启用了一个安全机制:

👉 反向路径过滤(Reverse Path Filtering,rp_filter)


二、rp_filter 的三种模式(重点)

rp_filter 就是你问的关键。

查看当前模式

sysctl net.ipv4.conf.all.rp_filter


1️⃣ strict 模式(严格模式)------默认

net.ipv4.conf.all.rp_filter = 1

行为:

如果一个包从网卡 X 进来

但根据路由表,回这个源地址不该走 X

→ 直接丢包

📌 特点:

  • 安全

  • 不允许非对称路由

  • 多出口服务器必踩坑


2️⃣ loose 模式(宽松模式)⭐

net.ipv4.conf.all.rp_filter = 2

行为(你重点要记这个):

只要系统中存在一条到源 IP 的路由

不管从哪个网卡进

→ 都放行

📌 关键差异:

模式 要求
strict (1) 回包接口必须一致
loose (2) 只要能路由到就行

👉 允许非对称路由


3️⃣ off(完全关闭)

net.ipv4.conf.all.rp_filter = 0

行为:

  • 不做任何检查

  • 安全性最低

  • 极少推荐


三、宽松模式(loose mode)怎么配置?

1️⃣ 临时生效(立刻测试)

sysctl -w net.ipv4.conf.all.rp_filter=2 sysctl -w net.ipv4.conf.default.rp_filter=2 # 单独网卡(可选) sysctl -w net.ipv4.conf.enp132s0f0.rp_filter=2 sysctl -w net.ipv4.conf.enp132s0f1.rp_filter=2


2️⃣ 永久生效(重启不丢)

编辑:

vi /etc/sysctl.conf

加入:

net.ipv4.conf.all.rp_filter = 2 net.ipv4.conf.default.rp_filter = 2

应用:

sysctl -p

四、宽松模式能解决你之前的问题吗?

👉 能

你的场景:

  • 外部 ping 10.xx.247.2

  • 请求进 enp132s0f1

  • 回包走 enp132s0f0

  • strict 模式 → ❌ 丢包

  • loose 模式 → ✅ 放行

所以你会看到:

不开策略路由,只改 rp_filter=2,也能 ping 通


五、那为什么我还是强烈推荐"策略路由"?(说人话)

宽松模式 = 放行

策略路由 = 控制

方案 能否解决 安全性 可控性
rp_filter=2 ✅ 中 ❌
策略路由 ✅ 高 ✅
rp_filter=0 ✅ 低 ❌

生产环境建议:

  • ✔ 策略路由 + strict

  • ✔ 或 策略路由 + loose

  • ❌ 不建议:只靠 loose


六、什么时候"宽松模式"是合理选择?

✅ 适合场景

  • 负载均衡器后端

  • 非对称设计是刻意的

  • 网络结构你完全可控

  • 临时排障、验证

❌ 不适合场景

  • 公网服务器

  • 防火墙、边界设备

  • 不清楚流量路径的环境

相关推荐
马剑威(威哥爱编程)1 分钟前
【AI全栈后端12-12】Spring Boot 3.x 到 4.x 迁移实操:Jakarta 11、Jackson 3 与 AI 2.0
java·开发语言·spring boot·后端
Gauss松鼠会2 分钟前
【GaussDB】破除gaussdb ugin索引支持中文模糊查询的迷思-字符序
java·运维·服务器·网络·数据库·gaussdb·经验总结
luiyarch7 分钟前
汽车电子ISO 21448 SOTIF系列(第26期):未知危险场景的确认方法(下)——AI驱动的场景发现
网络·人工智能·安全·车载系统·汽车
三月微暖寻春笋11 分钟前
【和春笋一起学C++】(七十二)类模板
开发语言·c++·实例·类模板·使用类模板·数组模板
释厄62315 分钟前
智能体释放度子集律——文本 ⊂ 音频 ⊂ 视频⊂ 游戏
开发语言·游戏·microsoft·音视频
砚凝霜16 分钟前
【软考信息安全】第十六章 网络安全风险评估项目流程与应用
网络·安全·web安全
Mr_韩20 分钟前
子网路由实战:无需公网 IP,异地直接访问家庭内网全部设备
运维·网络·物联网·nas
Bruce_Liuxiaowei20 分钟前
内网“影子资产“:串口服务器安全盲区剖析
服务器·网络·安全·iot
Sarvartha34 分钟前
Object 类
java·开发语言
j7~1 小时前
【C++ 标准项目】发布订阅消息队列 (篇七):项目创建与基础工具模块搭建
开发语言·c++·log4j·uuid·protobuf·helper工具·消息定义类型和交换机类型定义