启动 systemctl start firewalld
关闭 systemctl stop firewalld
查看状态 systemctl status firewalld
查看状态 firewall-cmd --state
开机启用 systemctl enable firewalld
开机禁用 systemctl disable firewalld
查看开放了哪些端口
firewall-cmd --zone=public --list-ports
查看firewall规则
firewall-cmd --list-all
添加端口
firewall-cmd --add-port=443/tcp --permanent
//永久添加443端口,协议为tcp firewall-cmd --reload //重新加载
firewall-cmd --permanent --add-rich-rule 'rule family=ipv4 source address=192.168.0.1/2 port port=80 protocol=tcp accept'
//对指定IP开放端口
允许特定IP访问某个端口
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="集群ip" port protocol="tcp" port="3306" accept"
允许某个IP访问所有端口
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="集群ip" accept"
删除端口
firewall-cmd --zone=public --remove-port=7890/tcp --permanent
//删除tcp下的80端口
参数介绍:
firewall-cmd:是Linux提供的操作firewall的一个工具(注意没有字母“d”);
--permanent:表示设置为持久;
--add-port:标识添加的端口
--remove-port:标识删除的端口
配置文件
firewalld的默认区域配置文件位置在/etc/firewalld/zones/下的.xml文件中,如下:
<?xml version="1.0" encoding="utf-8"?>
<zone>
<short>Public</short>
<description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>
<service name="ssh"/>
<service name="dhcpv6-client"/>
<port protocol="udp" port="80"/>
<port protocol="tcp" port="443"/>
<port protocol="tcp" port="8080"/>
<port protocol="tcp" port="22"/>
<masquerade/>
<forward-port to-addr="192.168.0.22" to-port="8443" protocol="tcp" port="8443"/>
<forward-port to-addr="192.168.0.22" to-port="8443" protocol="udp" port="8443"/>
</zone>
另外,firewall中有Zone的概念,可以将具体的端口制定到具体的zone配置文件中。
例如:添加8010端口
firewall-cmd --zone=public --permanent --add-port=8010/tcp // --zone=public:指定的zone为public;
systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体。
启动一个服务:systemctl start firewalld.service
关闭一个服务:systemctl stop firewalld.service
重启一个服务:systemctl restart firewalld.service
显示一个服务的状态:systemctl status firewalld.service
在开机时启用一个服务:systemctl enable firewalld.service
在开机时禁用一个服务:systemctl disable firewalld.service
查看服务是否开机启动:systemctl is-enabled firewalld.service
查看已启动的服务列表:systemctl list-unit-files|grep enabled
查看启动失败的服务列表:systemctl --failed