如何通过 iptables 实现多网卡环境下的流量隔离策略

星瑶吖_3775

星瑶吖_3775

2026-06-12

546人浏览

原创

iptables实现多网卡流量隔离的核心是利用-i和-o匹配条件,结合input/forward/output链与drop/accept/reject动作,按接口精准控制入向、转发及出向流量,并需同步配置ip转发、反向路径校验关闭及静态路由以确保策略生效。

如何通过 iptables 实现多网卡环境下的流量隔离策略

通过 iptables 实现多网卡环境下的流量隔离,核心是利用 -i(入接口)-o(出接口) 匹配条件,结合链(INPUT/FORWARD/OUTPUT)与动作(DROP/ACCEPT/REJECT),对不同网卡进出的流量实施差异化控制。关键不在“加规则”,而在“精准匹配路径+明确拒绝默认”。

按网卡接口区分入向流量

针对从某块网卡进来的请求,直接在 INPUT 链中限制来源或服务范围。例如:只允许管理网卡(ens33)接收 SSH,禁止业务网卡(enp0s8)响应任何外部连接:

  • iptables -I INPUT -i ens33 -p tcp --dport 22 -j ACCEPT
  • iptables -I INPUT -i enp0s8 -j DROP
  • iptables -I INPUT -i lo -j ACCEPT(保留本地回环)

注意:这类规则必须放在默认 ACCEPT 规则之前,否则会被跳过;建议用 -I 插入开头,并配合 -L --line-numbers 查看顺序。

百度AI助手
百度AI助手

百度AI助手是一款AI智能体工具,百度推出的多场景AI智能体助手。

下载

用 FORWARD 链控制跨网卡转发

若该主机承担路由或网关角色,需严格控制网卡间的数据转发。例如:禁止业务网段(10.0.20.0/24)访问管理网段(192.168.100.0/24):

  • iptables -I FORWARD -i enp0s8 -o ens33 -s 10.0.20.0/24 -d 192.168.100.0/24 -j DROP
  • iptables -I FORWARD -i ens33 -o enp0s8 -s 192.168.100.0/24 -d 10.0.20.0/24 -j ACCEPT(反向可选放行)
  • echo 1 > /proc/sys/net/ipv4/ip_forward(确保内核已开启转发)

基于出接口约束响应行为

避免“请求从 A 网卡来、响应却从 B 网卡走”的不对称路径问题。可在 OUTPUT 链中强制绑定源地址:

  • iptables -t nat -A POSTROUTING -s 192.168.100.10 -o ens33 -j SNAT --to-source 192.168.100.10
  • iptables -t nat -A POSTROUTING -s 10.0.20.10 -o enp0s8 -j SNAT --to-source 10.0.20.10
  • 再配合策略路由(ip rule + ip route),确保 reply 包也走对应出口

配套必须做的基础配置

iptables 规则本身不解决底层路由冲突,需同步完成以下动作:

  • 确认每块网卡使用静态 IP,避免 DHCP 导致地址漂移使规则失效
  • 检查 /etc/sysctl.confnet.ipv4.conf.all.rp_filter = 0(关闭反向路径校验,防止跨网卡响应被丢弃)
  • 禁用 NetworkManager 的自动路由管理,改用 /etc/sysconfig/network-scripts/ifcfg-* 手动定义网关和路由
  • 规则持久化:CentOS 7 使用 service iptables save 或写入 /etc/sysconfig/iptables

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

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

相关专题

更多
Java 网络安全
Java 网络安全

本专题聚焦 Java 在网络安全与加密通信中的应用,系统讲解常见加密算法(MD5、SHA、AES、RSA)、数字签名、HTTPS证书配置、令牌认证(JWT、OAuth2)及常见安全漏洞防护(XSS、SQL注入、CSRF)。通过实战项目(如安全登录系统、加密文件传输工具),帮助学习者掌握 Java 安全开发与加密技术的实战能力。

2025.10.13

3985

12

PHP 安全与防护
PHP 安全与防护

本专题聚焦于PHP开发中的安全问题与防御措施,详细讲解SQL注入、XSS攻击、CSRF攻击、文件包含漏洞等常见安全风险及其修复方法。通过结合实际案例,帮助开发者理解漏洞成因,掌握输入验证、会话安全、加密存储与安全编码规范,全面提升PHP网站的安全防护水平。

2025.11.04

375

21

Java 网络安全
Java 网络安全

本专题聚焦 Java 在网络安全与加密通信中的应用,系统讲解常见加密算法(MD5、SHA、AES、RSA)、数字签名、HTTPS证书配置、令牌认证(JWT、OAuth2)及常见安全漏洞防护(XSS、SQL注入、CSRF)。通过实战项目(如安全登录系统、加密文件传输工具),帮助学习者掌握 Java 安全开发与加密技术的实战能力。

2025.10.13

3985

12

PHP 安全与防护
PHP 安全与防护

本专题聚焦于PHP开发中的安全问题与防御措施,详细讲解SQL注入、XSS攻击、CSRF攻击、文件包含漏洞等常见安全风险及其修复方法。通过结合实际案例,帮助开发者理解漏洞成因,掌握输入验证、会话安全、加密存储与安全编码规范,全面提升PHP网站的安全防护水平。

2025.11.04

375

21

Buffalo框架数据库开发全教程
Buffalo框架数据库开发全教程

本专题围绕Buffalo框架数据库开发,讲解database.yml多环境配置、soda与fizz迁移生成回滚、模型结构体标签、增删改查与条件查询、一对多与多对多关联、数据校验、回调钩子、事务处理及原生SQL执行能力。

2026.09.23

0

15

Buffalo框架路由与请求处理实操指南
Buffalo框架路由与请求处理实操指南

本专题讲解Buffalo框架路由与请求处理机制,涵盖路由注册与分组、资源路由、Handler编写规范、Context上下文方法、参数绑定、中间件编写挂载、Session与Cookie读写、Flash消息及错误页面定制方法。

2026.09.23

0

15

Buffalo框架零基础入门教程
Buffalo框架零基础入门教程

本专题整理Buffalo框架入门内容,涵盖Go环境准备、buffalo CLI安装、新项目生成、目录结构说明、dev热加载启动、数据库连接配置与常见报错排查,帮助新手按约定优于配置的思路跑通第一个Buffalo框架应用。

2026.09.23

0

15

Conan创建软件包配方指南
Conan创建软件包配方指南

本专题介绍通过conanfile.py创建软件包的方法,讲解包名、版本、依赖和构建设置等基础信息,以及source、build、package、package_info等常用方法的作用及编写思路。

2026.09.22

0

12

Conan二进制包配置指南
Conan二进制包配置指南

本专题介绍Conan根据操作系统、编译器、架构和构建类型生成二进制包的方法,讲解Profile、Settings、Options及Package ID的作用,帮助管理不同平台和编译环境下的包版本。

2026.09.22

0

13

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Linux网络安全之防火墙技术汇总
Linux网络安全之防火墙技术汇总

共31课时 | 4万人学习