Linux 怎么使用 firewalld 隔离不同的虚拟化网络区域

轻磊大大_5852

轻磊大大_5852

2026-08-13

240人浏览

原创

firewalld虚拟化网络隔离核心是按虚拟网络类型绑定zone并用source绑定与富规则实现逻辑隔离,需绕过接口绑定限制,优先匹配source、启用ip转发、禁用networkmanager接管虚拟设备,并统一由firewalld管理规则。

linux 怎么使用 firewalld 隔离不同的虚拟化网络区域

Linux 使用 firewalld 隔离虚拟化网络区域,核心是把不同虚拟网络(如桥接网卡、VLAN 子接口、容器宿主机接口)映射到不同 trust 级别的 zone,并配合 source 绑定与富规则实现逻辑隔离。物理接口归属单一 zone 的限制在虚拟化场景下尤为明显,必须绕过“接口绑定”思维,转向“流量来源识别”逻辑。

按虚拟网络类型绑定对应区域

虚拟化环境常见网络结构包括:libvirt 默认的 virbr0(NAT 模式)、Open vSwitch 桥 br-int、KVM 虚拟机直通的 ens3f0.100(VLAN 子接口)、Pod 网络出口如 cni0 或 flannel.1。这些不能简单当作普通网卡处理:

  • virbr0(NAT 虚拟网络)适合绑定 external 区域:启用 masquerade,允许内部虚拟机访问外网,但默认拒绝外部主动连接
  • br-int / ovs-br0(OpenStack 或 OVS 管理平面)建议用自定义区域如 ovs-mgmt,仅放行 ssh、https、ovsdb-server 端口
  • VLAN 子接口(如 ens3f0.100)应避免直接绑定 zone;改用 source 绑定其所属子网,例如:firewall-cmd --permanent --zone=dmz --add-source=10.20.100.0/24
  • cni0 / flannel.1(容器 Pod 网络)不建议绑定任何 zone —— 容器通信应由 CNI 插件自身策略或 kube-proxy 控制;firewalld 只需保护宿主机端口,可将其归入 internal 并显式屏蔽容器 IP 段以外的访问

用 source 绑定替代接口绑定,支持多子网共存

一台宿主机常承载多个虚拟网络段(如 192.168.100.0/24 是测试 VM 网段,10.30.5.0/24 是生产容器网段),它们可能都走同一物理口(如 eth0)。此时必须放弃 --change-interface,改用 source 方式划分策略:

Obsidian (Linux)
Obsidian (Linux)

操作 Obsidian 库(纯 Markdown 笔记),并通过 notesmd-cli 实现自动化。

下载
  • 将测试网段归入 home 区域:firewall-cmd --permanent --zone=home --add-source=192.168.100.0/24
  • 将生产容器网段归入 internal 区域:firewall-cmd --permanent --zone=internal --add-source=10.30.5.0/24
  • 确保未匹配 source 的流量落到默认 zone(如 public),防止策略遗漏
  • firewalld 匹配顺序为:source → interface → default zone,所以 source 规则优先级最高

用富规则控制跨区域访问(如宿主机只响应特定虚拟机的数据库请求)

预定义区域太粗粒度,例如 internal 默认放行所有服务,但你只想让某台管理虚拟机(192.168.100.50)能连宿主机的 PostgreSQL(5432):

  • 先确认该虚拟机 IP 已被 source 绑定到某个 zone(如 home)
  • 在 home zone 中添加富规则:firewall-cmd --permanent --zone=home --add-rich-rule='rule family="ipv4" source address="192.168.100.50" port port="5432" protocol="tcp" accept'
  • 同时在 home zone 中禁用其他端口(可选):firewall-cmd --permanent --zone=home --set-target=REJECT
  • 注意:这条规则只对走 home zone 的流量生效;若该 IP 实际被误判进 public zone,则规则不触发

关键配套设置不能漏

光配 firewalld 不足以完成虚拟化网络隔离,还需同步检查以下项:

  • 开启 IP 转发(否则跨网段虚拟机无法通信):echo 'net.ipv4.ip_forward = 1' > /etc/sysctl.d/99-ipforward.conf && sysctl -p
  • 禁用 NetworkManager 对虚拟桥接设备的接管(避免它重置 firewalld zone 绑定):在 /etc/NetworkManager/conf.d/10-no-bridge.conf 中添加 [keyfile] unmanaged-devices=interface-name:virbr0;interface-name:br-int
  • 确认 libvirt 或容器运行时未绕过 firewalld:例如 Docker 默认启用 --iptables=false 时会自行管理规则,与 firewalld 冲突;建议统一交由 firewalld 管理,Docker 启动时加 --iptables=true 并禁用其自动规则(通过 /etc/docker/daemon.json 设置 "iptables": false 仅在明确需要时)
  • 重启并验证:firewall-cmd --reload,再用 firewall-cmd --get-active-zones 和 firewall-cmd --zone=home --list-all 确认 source 和规则已加载

相关专题

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

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

2025.10.13

4865

12

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

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

2025.11.04

415

21

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

4150

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3513

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2733

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

6690

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

6342

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

3673

8

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2023.07.20

3145

4

热门下载

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

精品课程

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

共0课时 | 0人学习

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

共0课时 | 0人学习

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

共0课时 | 0人学习