CentOS 7 使用全新的 firewall 管理防火墙,功能强大。如果设置时不指定访问级别,默认添加到public级别。要添加到指定级别,使用参数--zone
管理端口
允许访问8080
firewall-cmd --add-port=8080/tcp
永久生效
# firewall-cmd --add-port=8080/tcp --permanent
需重新加载
# firewall-cmd --reload
允许某范围的 udp 端口至 public 级别,并永久生效
firewall-cmd --zone=public --add-port=2888-3888/udp --permanent
删除8080端口访问
# firewall-cmd --remove-port=8080/tcp
删除永久8080端口访问规则,需重新加载
# firewall-cmd --remove-port=8080/tcp# firewall-cmd --reload
管理服务
添加https服务
# firewall-cmd --zone=work --add-service=https
删除https服务
# firewall-cmd --zone=work --remove-service=https
IP 封禁
允许某一个IP访问8080
# firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.241" port protocol="tcp" port="8080" accept'# firewall-cmd --reload
允许某个IP段访问8080
# firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="8080" accept'# firewall-cmd --reload
拒绝某个IP段访问8080 reject 拒绝 accept 允许
# firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="8080" reject'# firewall-cmd --reload