Firewalld防火墙基础

netfilter:
位于LINUX内核中的包过滤功能体系
成为LINUX防火墙的“内核态”

Firewalld/iptables:
CentOS7merengue的管理防火墙规则的工具
称为Linux防火墙的“用户态”

firewalld默认配置文件有两个:/usr/lib/firewalld/ (系统配置,尽量不要修改)和 /etc/firewalld/ (用户配置地址)

zone概念:
硬件防火墙默认一般有三个区,firewalld引入这一概念系统默认存在以下区域:

drop(丢弃):任何接受的网络数据包都被丢弃,没有任何回复。仅能有发送出去的网络连接

block(限制):任何接收的网络连接都被IPv4的icmp-host-prohibited信息和IPv6的icmp6-adm-prohibited信息所拒绝

public(公共):在公共区域内使用,不能相信网络内的其他计算机不会对你的计算机造成危害,只能接受选取的选取的连接

external(外部):特别是为路由器启用了伪装功能的外部网。你不能信任来自网络的其他计算,只接收经过选择的连接

dmz(非军事区):用于你的非军事区内的电脑,此区域内可公开访问,可以有限地进入你的内部网络,仅仅接收经过选择的连接

work(工作):用于工作区。你可以基本上信任网络内的其他计算机不会危害你的计算机,仅仅接收经过选择的连接

home(家庭):用于家庭网络。你可以基本上信任网络内的其他计算机不会危害你的计算机,仅仅接收经过选择的连接

internal(内部):用于内部网络。你可以基本上信任网络内的其他计算机不会危害你的计算机,仅仅接收经过选择的连接

teusted(信任):可接受所有的网络连接

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

Firewalld数据处理流程:
检查数据来源的源地址
若源地址关联到特定的区域,则执行该区域所指定的规则
若源地址未关联到特定的区域,则使用传入网络接口的区域并执行该区域所指定的规则
若网络接口未关联到特定的区域,则使用默认区域并执行该区域所指定的规则

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

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

Firewall-config图形工具
Firewall-cmd命令行工具

/etc/firewalld/中的配置文件:
Firewalld会优先使用/etc/firewalld中的配置,如果不存在配置文件,则使用/etc/firewalld/中的配置
/etc/firewalld/:用户自定义配置文件,需要时可通过从/usr/lib/firewalld/中拷贝
/usr/lib/firewalld/:默认配置文件,不建立修改,若恢复至默认配置,可直接删除/etc/firewalld/中的配置

firewalld关于zone的操作

设定默认zone为work:

firewall-cmd --set-default-zone=work
Firewalld防火墙基础
查指定的网卡的zone

firewall-cmd --get-zone-of-interface=ens33
Firewalld防火墙基础
给指定的网卡lo设置zone为public

firewall-cmd --zone=public --add-interface=lo
Firewalld防火墙基础
针对网卡ens33的zone更改为work:

firewall-cmd --zone=work --change-interface=ens33
Firewalld防火墙基础
查看系统所有的网卡所在的zone:

firewall-cmd --get-active-zones
Firewalld防火墙基础

firewalld关于service的操作

services是zone下的子单元,是指定的端口,防火墙对端口进行一些限制

查看所有的service : firewall-cmd --get-service
Firewalld防火墙基础
查看指定zone的services

查看当前zone下有哪些service : firewall-cmd --list-services
Firewalld防火墙基础
把http增加到public zone下面: firewall-cmd --zone=public --add-service=http

将配置保存到配置文件里 :

firewall-cmd --zone=public --add-service=http --permanent
Firewalld防火墙基础

配置文件要在目录/etc/firewalld/zones/里寻找

Firewalld防火墙基础

具体的命令看下面文章:
https://blog.****.net/Yplayer001