最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
防火墙配置如何在多网卡环境中配置独立的过滤规则
时间:2026-08-31 19:28:49 编辑:袖梨 来源:一聚教程网
多网卡防火墙配置关键是按网卡角色实施分区管控:先用ip -br a识别接口、ip addr show确认IP与子网,再为管理网卡(如ens33)创建management zone并绑定,业务网卡(如enp0s8)划入public zone,两zone均设--set-target=DROP阻断跨网卡转发,随后分域开放端口(如management仅开22/8443,public禁ssh、限icmp与443),最后reload并校验/etc/sysconfig/network-scripts/等底层配置确保路由不冲突。
多网卡环境下的防火墙配置,关键不是给所有网卡套同一套规则,而是让每块网卡“各管各的流量”,按用途、安全等级和网络区域独立控制。
先识别并区分每块网卡的实际角色
运行 ip -br a 或 nmcli device status 查看所有接口状态,再用 ip addr show <interface> 确认每张网卡的 IP、子网和物理连接情况。比如:
-
ens33:接管理网络(172.16.1.0/24),只允许 SSH 和 HTTPS 管理端口 -
enp0s8:接业务网络(192.168.10.0/24),开放 80/443,但禁止 ICMP -
virbr0:虚拟桥接口,仅限内部容器通信,不对外
别让 DHCP 和静态 IP 混用——统一设为静态,避免地址漂移导致策略失效。
用防火墙区域(zone)绑定网卡,实现逻辑隔离
firewalld 的 zone 是最直接的方式。每个 zone 对应一个信任等级和一套默认策略:
- 创建专用 zone(如
management)并绑定管理网卡:firewall-cmd --permanent --new-zone=managementfirewall-cmd --permanent --zone=management --add-interface=ens33 - 把业务网卡划入
publiczone:firewall-cmd --permanent --zone=public --add-interface=enp0s8 - 关键一步:各 zone 的 FORWARD 默认策略必须设为
DROP,防止跨网卡转发:firewall-cmd --permanent --zone=management --set-target=DROPfirewall-cmd --permanent --zone=public --set-target=DROP
按 zone 单独配置端口与协议规则
不同网卡面对的风险不同,规则不能一刀切:
-
managementzone 只开必要服务:firewall-cmd --permanent --zone=management --add-port=22/tcpfirewall-cmd --permanent --zone=management --add-port=8443/tcpfirewall-cmd --permanent --zone=management --remove-icmp-block=echo-request(可选放通 ping) -
publiczone 限制更严:firewall-cmd --permanent --zone=public --remove-service=sshfirewall-cmd --permanent --zone=public --add-rich-rule='rule protocol value="icmp" drop'firewall-cmd --permanent --zone=public --add-port=443/tcp
所有修改后执行 firewall-cmd --reload,再用 firewall-cmd --list-all-zones 核对各 zone 是否加载正确。
同步检查底层网络配置,避免路由冲突
防火墙规则生效的前提是流量真走对应网卡:
- 确认
/etc/sysconfig/network-scripts/ifcfg-ens33中BOOTPROTO=static,IP 和掩码匹配规划 -
/etc/resolv.conf的nameserver应指向内网 DNS,而非公网地址 - 默认网关只能设在一个出口网卡上(如
DEFROUTE=yes仅在ens33或enp0s8中选其一),否则会绕过防火墙
不复杂但容易忽略