您的位置:首页 > 运维架构 > Linux

【Centos7】 firewalld命令行

2017-01-18 22:20 369 查看
     使用命令行管理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


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息