CentOS7防火墙配置区间:端口范围与IP段管理实战
理解防火墙服务单元
CentOS7默认采用firewalld动态防火墙守护进程。核心概念是划分不同信任级别区域(zones),每个区域绑定预定义的规则集合。
常用区域包括:
public
(默认外部访问),
trusted
(允许所有连接),
internal
(内部网络专用)。
端口区间配置方法
批量开放连续端口需使用端口区间语法:
# 开放TCP 8000-8999端口
firewall-cmd --permanent --zone=public --add-port=8000-8999/tcp
# 开放UDP 3000-3500端口
firewall-cmd --permanent --zone=public --add-port=3000-3500/udp
生效命令:firewall-cmd --reload
IP地址段访问控制
通过CIDR格式限制源IP访问范围:
# 允许192.168.1.0/24网段访问SSH
firewall-cmd --permanent --zone=public --add-rich-rule='
rule family="ipv4"
source address="192.168.1.0/24"
port port="22" protocol="tcp" accept'
# 禁止特定IP段访问数据库端口
firewall-cmd --permanent --zone=public --add-rich-rule='
rule family="ipv4"
source address="10.0.5.0/28"
port port="3306" protocol="tcp" reject'
服务模块快捷配置
预置服务模块简化常用端口组配置:
# 启用HTTP服务(自动开放80/tcp)
firewall-cmd --zone=public --add-service=http
# 查看可用服务列表
firewall-cmd --get-services
自定义服务配置存储在/usr/lib/firewalld/services/
目录。
应用场景示例
场景一: 开发环境临时开放调试端口
firewall-cmd --zone=public --add-port=5000-6000/tcp --timeout=300
场景二: 生产环境多网段隔离配置
firewall-cmd --permanent --new-zone=app_zone
firewall-cmd --permanent --zone=app_zone --add-source=172.16.1.0/24
firewall-cmd --permanent --zone=app_zone --add-port=8080-8085/tcp
systemctl restart firewalld