firewalld--系统的动态防火墙管理器

学习目标:

  • 理解firewalld与iptables的区别
  • 了解firewalld常见的区域名称及策略规则
  • 掌握firewall-cmd命令使用的参数
  • 掌握firewalld防火墙的配置方法

学习内容:

  1. firewalld(Linux系统的动态防火墙管理器)服务是默认的防火墙配置管理工具,它拥有基于CLI(命令行界面)和基于GUI(图形用户界面)的两种管理方式。
  2. 相比于传统的防火墙管理配置工具,firewalld支持动态更新技术并加入了区域(zone)的概念,用户可以根据生产场景的不同选择合适的策略集合。
  3. firewalld中常用的区域名称及策略规则:
    区域默认规则策略
    trusted允许所有的数据包
    home拒绝流入的流量,除非与流出的流量相关
    internal等同于home区域
    work拒绝流入的流量,除非与流出的流量相关
    public拒绝流入的流量,除非与流出的流量相关
    external拒绝流入的流量,除非与流出的流量相关
    dmz拒绝流入的流量,除非与流出的流量相关
    block拒绝流入的流量,除非与流出的流量相关
    drop拒绝流入的流量,除非与流出的流量相关
  4. firewalld-cmd是防火墙配置管理工具的CLI(命令行)版本,它的参数一般是“长格式”来提供。其使用的参数及作用如表:
    参数作用
    --get-default-zone查询默认的区域名称
    --set-default-zone=<区域名称>设置默认的区域,使其永久生效
    --get-zones显示可用的区域
    --get-services显示预先定义的服务
    --get-active-zones显示当前正在使用的区域与网卡名称
    --add-source=将源自此IP或子网的流量导向指定的区域
    --remove-source=不再将源自此ip或子网的流量导向某个指定区域
    -add-interface=<网卡名称>将源自该网卡的所有流量都导向某个指定区域
    --change-interface=<网卡名称>将某个网卡与区域进行关联
    --list-all显示当前区域的网卡配置参数、资源、端口以及服务等信息
    --list-all-zones显示当前区域的网卡配置参数、资源、端口以及服务等信息
    --add-services=<服务名>设置默认区域允许该服务的流量
    --add-port=<端口号/协议>设置默认区域允许该端口的流量
    --remove-services=<服务名>设置默认区域不再允许该服务的流量
    --remove-port=<服务名>设置默认区域不再允许该端口的流量
    --reload让“永久生效”的配置规则立即生效,并覆盖当前的配置规则
    --panic-on开启应急状况模式
    --panic-off关闭应急状况模式

实验输出:

实验一:把网卡默认区域修改为external并在系统重启后生效。

[root@linuxprobe ~]# firewall-cmd --permanent --zone=external --change-interface=ens160
success
[root@linuxprobe ~]# firewall-cmd --permanent --get-zone-of-interface=ens160
external

实验二:把firewalld服务的默认区域设置为public。

[root@linuxprobe ~]# firewall-cmd --set-default-zone=public 
Warning: ZONE_ALREADY_SET: public
success
[root@linuxprobe ~]# firewall-cmd --get-default-zone 
public

实验三:查询SSH和HTTPS协议的流量是否允许放行。

[root@linuxprobe ~]# firewall-cmd --zone=public --query-service=ssh
yes
[root@linuxprobe ~]# firewall-cmd --zone=public --query-service=https
no

实验四:把HTTPS协议的流量设置为永久允许放行,并立即生效。

[root@linuxprobe ~]# firewall-cmd --permanent --zone=public --add-service=https
success  //--permanent参数重启后才生效
[root@linuxprobe ~]# firewall-cmd --zone=public --query-service=https  
no  //可以发现HTTPS流量还未放行

[root@linuxprobe ~]# firewall-cmd --reload   //这时候若不想重启虚拟机,就使用--reload参数
success
[root@linuxprobe ~]# firewall-cmd --zone=public --query-service=https  
yes  //https流量已放行

 实验五:把访问8080和8081端口的流量策略设置为允许,但仅当前生效。

[root@linuxprobe ~]# firewall-cmd --zone=public --add-port=8080-8081/tcp
success
[root@linuxprobe ~]# firewall-cmd --zone=public --list-ports 
8080-8081/tcp

学习小结:

  • 学会如何编写firewall-cmd命令,并会灵活使用各种参数
  • 理解Runtime及permanent参数的作用,前者是当前立即生效,重启后失效;后者是当前不生效,重启后生效
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值