firewalld防火墙设置

CentOS7/RHEL7系统默认的iptables管理工具是firewalld,不再是以往的iptables-services,命令用起来也是不一样了,当然你也可以选择卸载firewalld,安装iptables-services

firewalld 服务管理

1.安装firewalld

yum -y install firewalld

2.开机启动/禁用服务

systemctl enable/disable firewalld

3.启动/关闭服务

systemctl start/stop firewalld

4.查看服务状态

systemctl status firewalld

使用 firewall-cmd 命令设置规则

1.查看状态

firewall-cmd --state

2.获取活动的区域

firewall-cmd --get-active-zones

3.获取所有支持的服务

firewall-cmd --get-service

4.应急模式(阻断所有的网络连接)

firewall-cmd --panic-on #开启应急模式
firewall-cmd --panic-off #关闭应急模式
firewall-cmd --query-panic #查询应急模式

5.修改配置文件后,使用命令重新加载

firewall-cmd --reload

6.启用某个服务/端口

firewall-cmd --zone=public --add-service=https #临时

firewall-cmd --zone=public --add-port=8080-8081/tcp #临时
firewall-cmd --permanent --zone=public --add-service=https #永久

firewall-cmd --permanent --zone=public --add-port=8080-8081/tcp #永久

如果是要删除,直接修改成remove-service或者remove-port

7.查看开启的端口和服务

firewall-cmd --permanent --zone=public --list-services #服务空格隔开

例如 dhcpv6-client https ss

firewall-cmd --permanent --zone=public --list-ports #端口空格隔开

例如 8080-8081

在每次修改端口和服务后 /etc/firewalld/zones/public.xml 文件就会被修改

8.设置某个ip访问某个服务

firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="192.168.122.0/24" service name="http" accept" #ip 192.168.122.0/24 访问 http

总结

防火墙预定义的服务配置文件是xml文件,目录在 /usr/lib/firewalld/services/

在 /etc/firewalld/services/ 这个目录中也有配置文件,但是/etc/firewalld/services/目录优先于 /usr/lib/firewalld/services/ 目录

原文地址:https://www.cnblogs.com/omgasw/p/10336762.html