怎么在Linux利用Ip-Rule构建复杂的双网卡策略路由安全隔离区域

阿墨吖_9461

阿墨吖_9461

2026-04-28

302人浏览

原创

ip rule是双网卡策略路由唯一可行入口,因内核路由决策早期必须靠它在查主表前插入条件分支;ip route只管“怎么走”,ip rule决定“用哪张表查”,缺之则两网卡共用main表无法区分策略。

怎么在linux利用ip-rule构建复杂的双网卡策略路由安全隔离区域

为什么 ip rule 是双网卡策略路由的唯一可行入口

因为内核路由决策发生在 packet 进入协议栈早期,必须靠 ip rule 在查主路由表前插入条件分支——ip route 只管“怎么走”,而 ip rule 决定“用哪张表来查”。没有它,两个网卡共用 main 表,根本无法区分来源/目标策略。

常见错误是只配 ip route add ... via ... dev eth1,结果所有流量(包括本该走 eth0 的)全被拉到 eth1,甚至导致 SSH 断连。本质是漏了规则优先级和表绑定。

  • ip rule 顺序严格从上到下匹配,数字越小优先级越高(默认 0–32767)
  • 每条 rule 必须明确指定 table,且该 table 需提前用 ip route add table X ... 初始化
  • 策略依据只能是:源 IP(from)、目标 IP(to)、fwmark(需配合 iptables/mangle)、接口(iif/oif)

如何为隔离区网卡(如 eth1)建立独立路由表并绑定规则

假设 eth0(192.168.1.100/24)走默认出口,eth1(10.0.100.10/24)专用于隔离区访问(如仅允许访问 10.0.200.0/24),且该网卡不参与默认路由。

关键不是“加一条路由”,而是“切断默认表对 eth1 子网的感知 + 建立专用查表路径”:

  • 先创建独立表名映射:echo "200 isolatable" >> /etc/iproute2/rt_tables(避免用纯数字,提升可读性)
  • 清空 eth1 接口自动添加的直连路由(防止干扰):ip route flush dev eth1
  • 手动加隔离区路由:ip route add 10.0.200.0/24 via 10.0.100.1 dev eth1 table isolatable
  • 加规则:所有从 eth1 IP 发出的包,强制查 isolatable 表:ip rule add from 10.0.100.0/24 table isolatable
  • 加兜底规则(防回环):ip rule add to 10.0.100.0/24 table isolatable

注意:没加 ip rule add fwmark 1 table isolatable 就别碰 iptables MARK,否则规则永远不触发。

Linux Security Scanner
Linux Security Scanner

Linux 安全审计工具,检查 SSH 配置、开放/监听端口、防火墙规则(ufw/iptables/nftables)、失败登录尝试、sudoers 权限...

下载

如何用 iptables + fwmark 实现基于端口/协议的动态策略分流

纯 IP 段规则太粗,真实隔离常需“数据库端口只走 eth1,HTTP 走 eth0”。这时必须用 fwmark 桥接 netfilter 和路由子系统。

典型组合链路:iptables -t mangle -A OUTPUT -p tcp --dport 3306 -j MARK --set-mark 1 → ip rule add fwmark 1 table isolatable

  • MARK 值必须是十进制整数,且 ip rule 中 fwmark 匹配不支持掩码(fwmark 0x1 等价于 fwmark 1,但写成 0x1 易被忽略)
  • OUTPUT 链标记影响本机发出包;PREROUTING 标记影响入向包(需配合 iif 规则)
  • 务必禁用反向路径过滤:sysctl -w net.ipv4.conf.eth1.rp_filter=0,否则带 mark 的包可能被内核丢弃

为什么重启后策略全失效?三个必须持久化的点

ip rule 和 ip route table X 全部内存态,reboot 后清零。只保存 /etc/network/interfaces 或 NetworkManager 配置远远不够。

  • 规则本身要写入启动脚本:/etc/network/if-up.d/99-policy-route(Debian/Ubuntu)或 /etc/sysconfig/network-scripts/route-eth1(RHEL/CentOS)
  • rt_tables 条目必须存在,否则 ip rule add table isolatable 报错 RTNETLINK answers: No such file or directory
  • 若用 systemd,别依赖 network-online.target —— 它不保证 ip rule 已加载,应设为 After=network.target 并 Type=oneshot

最易被忽略的是:不同发行版对 ip route flush dev X 的容忍度不同,某些云镜像在 ifup 过程中会重加直连路由,导致你的 isolatable 表被绕过。实测有效做法是,在规则加载后追加 ip route del 10.0.100.0/24 dev eth1 table main 显式删除冲突项。

相关文章

路由优化大师
路由优化大师

路由优化大师是一款及简单的路由器设置管理软件,其主要功能是一键设置优化路由、屏广告、防蹭网、路由器全面检测及高级设置等,有需要的小伙伴快来保存下载体验吧!

下载

相关标签:

linux 路由

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

457

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

980

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

3412

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

1116

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

1009

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

534

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

3136

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

5912

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

907

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习