1. firewalld简介
      firewalld是centos7的一大特性,最大的好处有两个:支持动态更新,不用重启服务;第二个就是加入了防火墙的“zone”概念

  2. firewalld命令行界面管理工具

    firewall-cmd 
  3. friewalld的启动、停止和运行状态

    systemctl status firewalld
    systemctl start firewalld
    systemctl stop firewalld
  4. 查看所有打开的端口:

    firewall-cmd --zone=public --list-ports
  5. 加入一个端口到区域:

    firewall-cmd --zone=public --add-port=8080/tcp

    永久生效再加上 --permanent

    firewall-cmd --permanent --add-port=8080/tcp
    firewall-cmd --permanent --remove-port=8080/tcp
    firewall-cmd --permanent --zone=public --add-port=8840-8900/tcp
    firewall-cmd  --load

    注意需要重启服务生效
    systemctl restart firewalld
    firewall-cmd --reload

  6. 打开一个服务:

    firewall-cmd --zone=public --add-service=http
  7. 移除服务

    firewall-cmd --zone=public --remove-service=http
  8. 启启动 firewalld报错,取消mask屏蔽

    [root@localhost opt]# systemctl status firewalld
    ● firewalld.service
    Loaded: masked (/dev/null; bad)
    Active: inactive (dead)
    [root@localhost opt]# systemctl unmask firewalld.service
    Removed symlink /etc/systemd/system/firewalld.service.
  9. 查看防火墙规则

    firewall-cmd --list-all 
  10. 查看所有zone

    firewall-cmd --get-zones
  11. 查看默认zone

    firewall-cmd --get-default-zone
  12. 设置默认zone

    firewall-cmd --set-default-zone=work
  13. 查询8080端口规则

    firewall-cmd --query-port=8080/tcp
  14. 使用rich-rule添加规则

    //使用rich-rule添加规则
    firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" port protocol="tcp" port="8840-8900" accept" 
    //删除rich-rule规则
    firewall-cmd --permanent --zone=public --remove-rich-rule="rule family="ipv4" port protocol="tcp" port="8840-8900" accept"