原文地址: Centos 7 firewalld常用命令
    参考地址: firewall-cmd - firewalld command line client

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

    • 打开端口 / 关闭端口
    1. # 永久打开一个端口
    2. $ firewall-cmd --permanent --add-port=8080/tcp
    3. # 永久关闭一个端口
    4. $ firewall-cmd --permanent --remove-port=8080/tcp
    5. # 永久打开某项服务
    6. $ firewall-cmd --permanent --add-service=http
    7. # 永久关闭某项服务
    8. $ firewall-cmd --permanent --remove-service=http
    • 端口转发
    1. # 进行端口转发
    2. $ firewall-cmd --permanent --add-forward-port=port=80:proto=tcp:toport=8080:toaddr=192.0.2.55
    3. # 允许转发到其他地址
    4. $ firewall-cmd --permanent --add-masquerade
    5. # 重新加载防火墙
    6. $ firewall-cmd --reload
    • 运行、停止、禁用firewalld
    1. # 启动
    2. $ systemctl start firewalld
    3. # 查看状态
    4. $ systemctl status firewalld
    5. $ firewall-cmd state
    6. # 停止
    7. $ systemctl disable firewalld
    8. # 禁用
    9. $ systemctl stop firewalld
    • 帮助
    1. # 查看版本
    2. $ firewall-cmd --version
    3. # 查看帮助
    4. $ firewall-cmd --help
    • 查看区域信息
    1. # 查看区域信息:
    2. $ firewall-cmd get-active-zones
    3. # 查看指定接口所属区域:
    4. $ firewall-cmd get-zone-of-interface=eth0
    5. # 拒绝所有包:
    6. $ firewall-cmd panic-on
    7. # 取消拒绝状态:
    8. $ firewall-cmd panic-off
    9. # 查看是否拒绝:
    10. $ firewall-cmd query-panic