一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

Linux 防火墙:执行网络分段策略与跨段访问控制

时间:2026-07-08 09:51:47 编辑:袖梨 来源:一聚教程网

Linux防火墙不直接划分网段,而是通过firewalld区域机制绑定接口或地址段实现安全边界,并配合路由隔离、命名空间及策略路由等协同强化分段实效。

Linux 防火墙本身不直接“划分网段”,但它是网络分段策略落地的关键执行层。真正实现分段靠的是子网规划与路由隔离,而防火墙负责在每个子网边界(物理接口、虚拟接口或逻辑区域)上强制执行访问控制——既阻止非法跨段通信,又精准放行必需的跨段服务。

基于子网边界的防火墙区域划分

firewalld 的 zone(区域)机制天然适配网络分段逻辑:每个区域可绑定到特定网卡或源地址段,代表一个安全边界。

  • 将连接办公内网的 eth1 接口设为 internal 区域,开放 SSH、HTTP 和数据库端口,但默认拒绝来自其他区域的连接;
  • 将面向互联网的 eth0 设为 public 区域,仅开放 80/443,并显式拒绝 22、3306 等管理与敏感端口;
  • 为运维跳板机网段 10.10.5.0/24 创建独立 trusted 区域,允许其访问所有管理端口,且不经过 public 规则链;
  • 自定义 dmz 区域,绑定到隔离 DMZ 网段的 veth 接口,只允许外部访问 Web 服务端口,禁止回连内网路由。

跨网段访问的精细化放行规则

允许跨段访问不能简单“开个端口”,必须明确来源、目标、协议和用途,避免扩大信任范围。

  • 用 rich rule 精确控制:允许 192.168.10.0/24(应用服务器段)访问 172.16.20.0/24(数据库段)的 3306 端口,但拒绝该段其他端口:
    firewall-cmd --permanent --zone=db-zone --add-rich-rule='rule family="ipv4" source address="192.168.10.0/24" port port="3306" protocol="tcp" accept'
  • 若需双向通信(如监控 agent 回传数据),必须在两端 firewall 上分别配置入向和出向规则,否则连接会因回程包被丢弃而中断;
  • 对跨段 HTTP 流量,可结合 service 模块统一管理:启用 http 服务后,在对应区域中仅对该服务放行,而非直接开放 80 端口,便于后续统一调整。

配合路由与命名空间强化分段实效

仅靠防火墙规则无法防止路由层绕过。要确保分段真正生效,需与底层网络结构协同。

  • 在多网卡主机上,禁用 IP 转发:sysctl -w net.ipv4.ip_forward=0,避免主机成为非预期的跨段跳板;
  • 对高敏感服务(如密钥管理器),使用 network namespace 隔离整个网络栈,再通过 veth pair + bridge 连接至专用子网,防火墙规则部署在命名空间内部,与主机完全解耦;
  • 当存在多个出口路径时,用 策略路由 + iptables MARK 强制某类流量走指定网关(如备份流量走专线),并在该路径的防火墙区域中单独设置限速与日志规则。

验证与持续维护要点

规则上线后,必须验证是否按预期工作,而非仅看命令返回 success。

  • 从源段发起连接测试:nc -zv 172.16.20.10 3306,确认通断;同时用 tcpdump -i eth1 port 3306 在目标主机抓包,验证流量是否真经由指定接口到达;
  • 检查规则持久性:firewalld 规则需 --permanent 参数并 --reload;iptables 规则须保存至系统启动加载文件(如 /etc/iptables/rules.v4),否则重启即失效;
  • 定期审计:用 firewall-cmd --list-all-zonesiptables -L -v -n 查看命中计数,识别长期零匹配的冗余规则,及时清理。

热门栏目