一、Firewalld防火墙基础

1、Firewalld概述

  • 支持网络区域所定义的网络链接以及接口安全等级的动态防火墙管理工具
  • 支持IPv4、IPv6防火墙设置以及以太网桥
  • 支持服务或应用程序直接添加防火墙规则接口
  • 拥有两种配置模式
    1、运行时配置
    2、永久配置

2、Firewalld和iptables的关系

1、netfilter

  • 位于Linux内核中的包过滤功能体系
  • 称为Linux防火墙的“内核态”

2、Firewalld/iptables

  • CentOS7默认的管理防火墙规则的工具(Firewalld)
  • 称为Linux防火墙的“用户态"

3、Firewalld和iptables的区别

Firewalld iptables
配置文件 /usr/lib/firewalld/ /etc/firewalld /etc/sysconfig/iptables
对规则的修改 不需要全部刷新策略,不丢失现行连接 需要全部刷新策略,丢失连接
防火墙类型 动态防火墙 静态防火墙

4、Firewalld网络区域

  • 区域如同进入主机的安全门,每个区域都具有不同限制程度的规则
  • 可以使用一个或多个区域,但是任何一个活跃区域至少需要关联源地址或接口
  • 默认情况下,public区域是默认区域,包含所有接口(网卡) .

5、Firewalld网络区域

Firewalld数据处理流程,检查数据来源的源地址

  • 若源地址关联到特定的区域,则执行该区域所指定的规则
  • 若源地址未关联到特定的区域,则使用传入网络接口的区域,并执行该区域所指定的规则
  • 若网络接口未关联到特定的区域,则使用默认区域并执行该区域所指定的规则

6、Firewalld防火墙的配置方法

1、运行时配置

  • 实时生效,并持续至Firewalld重 新启动或重新加载配置
  • 不中断现有连接
  • 不能修改服务配置

2、永久配置

  • 不立即生效,除非Firewalld重新启动或重新加载配置
  • 中断现有连接
  • 可以修改服务配置

7、区域分类

  • block–阻塞区域
  • dmz–非军式化,介于内部和外部之间的区域
  • drop–丢失区域
  • external–外部区域
  • home–家区域
  • internal–内部区域
  • public–公共区域
  • trusted–信任区域
  • work–工作区域

二、Firewalld防火墙命令使用

1、启动防火墙

systemctl start firewalld

Firewalld防火墙基础

2、设置防火墙为开机自启动

systemctl enable firewalld

Firewalld防火墙基础

3、查看防火墙运行状态

systemctl status firewalld

Firewalld防火墙基础

4、查看防火墙

firewall-cmd --state

Firewalld防火墙基础

5、停止防火墙

systemctl stop firewalld

Firewalld防火墙基础

6、设置防火墙开机不自启动

systemctl disable firewalld

Firewalld防火墙基础

7、显示预定义的区域

firewall-cmd --get-zones

Firewalld防火墙基础

8、显示预定义的区域

firewall-cmd --get-service

Firewalld防火墙基础

9、显示预定义的ICMP类型

firewall-cmd --get-icmptypes

Firewalld防火墙基础

10、显示当前系统中的默认区域

firewall-cmd --get-default-zone

Firewalld防火墙基础

11、显示默认区域的所有规则

firewall-cmd --list-all

Firewalld防火墙基础

12、显示网络接口 ens33 对应区域

firewall-cmd --get-zone-of-interface=ens33

Firewalld防火墙基础

13、将网络接口 ens33 对应区域更改为 internal 区域

firewall-cmd --zone=internal --change-interface=ens33

Firewalld防火墙基础

14、查询internal区域的网卡信息

firewall-cmd --zone=internal --list-interfaces

Firewalld防火墙基础

15、查询ens33网卡的区域

firewall-cmd --get-zone-of-interface=ens33

Firewalld防火墙基础

16、显示所有**区域

firewall-cmd --get-active-zone

Firewalld防火墙基础

17、显示默认区域内允许访问的所有服务

firewall-cmd --list-services

Firewalld防火墙基础

18、设置默认区域允许访问 http 服务success

Firewalld防火墙基础

19、设置 internal 区域允许访问 mysql 服务

Firewalld防火墙基础

20、设置 internal 区域不允许访问 samba-client 服务

firewall-cmd --zone=internal --remove-service=samba-client

Firewalld防火墙基础

21、显示 internal 区域内允许访问的所有服务

firewall-cmd --zone-internal --list-services

Firewalld防火墙基础

22、在 internal 区域打开 443/TCP 端口

firewall-cmd --zone=internal --add-port=443/tcp

Firewalld防火墙基础

23、在 internal 区域禁止 443/TCP 端口访问

firewall-cmd --zone=internal --remove-port=443/tcp

Firewalld防火墙基础

相关文章: