【Centos7】 firewalld命令行

来源:互联网 发布:电子科技大学 大数据 编辑:程序博客网 时间:2024/05/01 04:58

     使用命令行管理firewall之前,说明有关于防火墙的策略独立性:明确的策略,策略之间无关联。 比如mysql使用3306,firewall添加mysql服务但未添加3306,当查询3306端口状态会显示no; 同理,添加3306端口,但未添加mysql服务,当查询mysql服务是否被firewalld允许时,显示no。在这两种情况下,外网都可以正常访问,也必须能访问,这里的逻辑不存在问题。同样,拿Java程序开发来类比:往hashMap.put进service与port,当get的时候就成了两码事,即便所操作的是关于mysql服务

1.查看防火墙状态
  systemctl status firewalld

2.查看开放的服务/端口:
   firewall-cmd --list-service
   firewall-cmd --list-port

3.查询指定的端口是否永久开放
   firewall-cmd --permanent --query-port=1000/tcp

4.查询指定的服务/端口:
   firewall-cmd --query-service ssh
   firewall-cmd --query-port=3306/tcp

5.添加服务:
   firewall-cmd --permanent --add-service=ftp
   firewall-cmd --permanent --remove-service=ftp

6.添加端口
 方式1:
   firewall-cmd --permanent --add-port=3306/tcp
   firewall-cmd --permanent --add-port=1522/tcp
   firewall-cmd --reload
 方式2:
   cp  /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/ssh.xml
   vi  /etc/firewalld/services/ssh.xml
   vi /etc/firewalld/zones/public.xml

7.查看存在的zones:
    firewall-cmd --get-zones

8.当前使用的zone:
    firewall-cmd --get-active-zones

9.zone为public的所有策略:
    firewall-cmd --zone=public --list-all

10.设置默认的zone: (public是最合适的,也是firewall默认的)
    firewall-cmd --set-default-zone=public



0 0