Linux Firewalld防火墙

本文深入解析了Linux下的Firewalld防火墙,涵盖了安全技术的基础概念、Netfilter的工作原理、防火墙的不同分类及其实现方式。特别介绍了Firewalld的配置方法、预定义服务以及如何通过命令行工具进行高效管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

Linux Firewalld防火墙

一、安全技术

安全技术

二、防火墙

Netfilter

防火墙的分类

防火墙工具

 三、Firewalld

Firewalld zone 分类

预定义服务

Firewalld 预定义配置服务

Firewalld 三种配置方法

Firewalld 防火墙配置

Firewalld 命令


Linux Firewalld防火墙

一、安全技术

安全技术

入侵检测系统(Intrusion Detection Systems)︰特点是不阻断任何网络访问,量化、定位来自内外网络的威胁情况,主要以提供报警和事后监督为主,提供有针对性的指导措施和安全决策依据,类似于监控系统一般采用旁路部署(默默的看着你)方式。

入侵防御系统(Intrusion Prevention System):以透明模式工作,分析数据包的内容如:溢出攻击、拒绝服务攻击、木马、蠕虫、系统漏洞等进行准确的分析判断,在判定为攻击行为局立即予以阻断,主动而有效的保护网络的安全,一般采用在线部署方式。(必经之路)

防火墙(FireWall ) :隔离功能,工作在网络或主机边缘,对进出网络或主机的数据包基于一定的规则检查,并在匹配某规则时由规则定义的行为进行处理的一组功能的组件,基本上的实现都是默认情况下关闭所有的通过型访问,只开放允许访问的策略,会将希望外网访问的主机放在DMZ(demilitarized zone)网络中

二、防火墙

Netfilter

Linux 防火墙是由Netfilter组件提供的,Netfilter工作在内核空间,集成在Linux内核中

防火墙的分类

按保护范围划分

主机防火墙:服务范围为当前一台主机

网络防火墙:服务范围为防火墙一侧的局域网

按实现方式划分

硬件防火墙:在专用硬件级别实现部分功能的防火墙;另一个部分功能基于软件实现

软件防火墙:运行于通用硬件平台之上的防火墙的应用软件

按网络协议划分

网络层防火墙:OSI模式下四层,又称为包过滤防火墙

应用层防火墙 / 代理服务器:proxy 代理网关,OSI模型七层

防火墙工具

iptables

由软件包iptables提供的命令行工具,工作在用户空间,用来编写规则,写好的规则被送往netfilter,告诉内核如何去处理信息包

firewallld

 centos7中默认打开

nftables

适用于centos8

firewalld 和 iptables 的区别

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

 三、Firewalld

Firewalld zone 分类

zone名称                               默认配置

trusted                                允许所有流量

home                                 拒绝除和传出流量相关的,以及ssh,mdsn,ipp-client,samba-                 client,dhcpv6-client预定义服务之外其它所有传入流量

internal                                和home相同

work                                  拒绝除和传出流量相关的,以及ssh,ipp-client,dhcpv6-client预定义服务之外的其它所有传入流量

public                                拒绝除和传出流量相关的,以及ssh,dhcpv6-client预定义服务之外的其它所有传入流量,新加的网卡默认属于public zone

external                             拒绝除和传出流量相关的,以及ssh预定义服务之外的其它所有传入流量,属于external zone的传出ipv4流量的源地址将被伪装为传出网卡的地址。

dmz                                    拒绝除和传出流量相关的,以及ssh预定义服务之外的其它所有传入流量

block                                  拒绝除和传出流量相关的所有传入流量

drop                                    拒绝除和传出流量相关的所有传入流量(甚至不以ICMP错误进行回应)

预定义服务

服务名称                                    配置
ssh                              Local sSH server.Traffic to 22/tcp
ipp-client                    Local lPP printing.Traffic to 631/udp.
dhcpv6-client             Local DHCPv6 client.Traffic to 546/udp on the fe80::/64 IPv6 network
samba-client                Local Windows file and print sharing client.Traffic to 137/udp and 138/udp.
mdns                           Multicast DNS (mDNS) local-link name resolution.Traffic to 5353/udp to the

224.0.0.251(IPv4) or ff02:fb (IPv6) multicast addresses

Firewalld 预定义配置服务

firewall-cmd --get-services查看预定义服务列表

/usrllib/firewalld/services/*.xml预定义服务的配置

Firewalld 三种配置方法

firewall-config图形工具:需安装firewall-config包

firewall-cmd命令行工具: firewalld包,默认安装

/etc/firewalld/配置文件,一般不建议

Firewalld 防火墙配置

运行时配置

实时生效,并持续至Firewalld重新启动或重新加载配置

不中断现有连接

不能修改服务配置

永久配置

不立即生效,除非Firewalld重新启动或重新加载配置

中断现有连接

可以修改服务配置

Firewalld 命令


安装firewalld:# yum install firewalld 

启动:# systemctl start firewalld

查看状态:# systemctl status firewalld 或者 firewall-cmd --state

停止:# systemctl disable firewalld

禁用:# systemctl stop firewalld

查看版本:# firewall-cmd --version 

查看帮助:# firewall-cmd --help

显示状态:# firewall-cmd --state

查看区域信息:# firewall-cmd --get-active-zones

查看指定接口所属区域:$ firewall-cmd --get-zone-of-interface=ens33 

拒绝所有包:# firewall-cmd --panic-on

取消拒绝状态:# firewall-cmd --panic-off

查看是否拒绝:# firewall-cmd --query-panic 

更新防火墙规则:# firewall-cmd --reload (无需断开连接)

更新防火墙规则:# firewall-cmd --complete-reload(需要重启服务) 

列出所有支持的 zone:# firewall-cmd --get-zones

查看当前的默认 zone:# firewall-cmd --get-default-zone

设置默认接口区域:# firewall-cmd --set-default-zone=public  (立即生效无需重启)

查看所有打开的端口:# firewall-cmd --zone=dmz --list-ports 

加入一个端口到区域:# firewall-cmd --zone=dmz --add-port=8080/tcp  (永久生效加--permanent)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值