Linux CentOS stream 9 firewalld

news2025/1/17 15:51:04

随着互联网行业快速发展,服务器成为用户部署网络业务重要的网络工具,但随之而来的就是更密集的网络攻击,这给网站带来了很大的阻碍。防火墙作为保障网络安全的主要设备,可以很好的抵御网络攻击。

防火墙基本上使用硬件和软件两种机制来限制流量。可以使用硬件,如电路级网关、代理服务器、应用网关等,来提供深入的保护。亦可以使用软件,如包过滤等手段,允许/禁止流量。如同时使用软硬件进行防护,效果会更好。本文仅讨论软件机制。

从centos7开始,引入firewalld防火墙管理工具,引入区域概念。相较于原版本一直使用的iptables工具,有重大改变。

对于初次接触防火墙管理的读者,只需关注区域、服务、端口、目标和源等概念,全面使用firewalld工具;而对于使用linux老系统、低版本的读者,则只能尽快熟悉"五表五键"等概念,使用iptables管理工具。

PS:centos7系统默认没有安装iptables工具,想训练其使用,需要单独下载、安装。

防火墙底层原理

管理员在用户态,通过防火墙管理工具来设置防火墙的规则,配置在相关文件中。是否应用或启动,由iptables命令接口传递到内核netfilter模块。需要执行时,防火墙的规则由内核中的netfilter模块具体执行。

当数据包经过防火墙时,系统内核会将客户请求逐一与所设置的规则进行匹配,当匹配成功之后,由防火墙执行规则中定义的行为,如放行、阻止、丢弃等。

配置防火墙就是添加、删除、修改这些规则。例如,设置一条规则,拒绝所有的ICMP数据包,设置好该规则之后,该规则就会保存到内核的netfilter模块,之后所有的ICMP数据包都会被拒绝。

防火墙的规则,早期的CentOS 5/6操作系统默认使用iptables工具,从CentOS 7开始,默认使用firewalld工具。

两个管理工具的底层原理在于,iptables从细节入手,从物理层面设置规则,分析网络连接的各个层次,有表有链等。而firewalld从大处着手,从逻辑层面设置规则与要求。区域、目标、源是其核心概念,而关注端口、服务亦具独特视角。

一个系统中只能选择一项管理工具,不能同时使用。原因在于:iptables允许所有流量通过,只限制指定规则的流量;而firewalld则相反,禁止所有流量通过,只允许符合规则的才允许通过。二者原理与手段完全相左。本文主要讨论firewalld的概念与使用。

一、firewalld服务

在CentOS 7中,新引入了firewalld服务,取代了CentOS 6之前的iptables服务。

1.firewalld特点

比较而言,firewalld允许哪些服务可用,哪些端口可用,属于更高一层的防火墙。firewalld提供了支持网络区域所定义的网络链接以及接口安全等级的动态防火墙管理工具。它支持IPv4、IPv6防火墙设置以及以太网桥(在某些高级服务可能会用到,比如云计算),并且拥有两种配置模式:运行时(Runtime)模式和永久(Permanent)模式。

firewalld是一种动态的、用户友好的Linux防火墙管理工具。相较于传统的iptables,firewalld提供了更灵活、更方便的防火墙配置方式,使得管理员能够更容易地管理网络安全策略。

传统的iptables配置可能比较复杂,尤其是对于新手来说。firewalld通过引入概念化的“区域”、“服务”和“端口”等概念,简化了防火墙的配置。管理员无需深入了解iptables的规则语法,只需使用简单的命令和配置文件就能轻松管理防火墙。

2.firewalld核心概念

区域(Zones)

Firewalld引入了"区域"的概念,用于定义不同的网络区域,每个区域可以有不同的防火墙规则。常见的区域包括public、private、work、home等。默认情况下,网络接口会被分配到public区域。

服务(Services)

服务是一组预定义的规则,用于定义允许通过防火墙的特定网络服务。例如,HTTP、SSH等服务都可以被定义为服务,从而简化防火墙规则的配置。

端口(Ports)

端口用于标识网络通信中的特定应用程序。Firewalld允许你通过端口来控制流入或流出的数据包。可以打开或关闭特定端口,也可以定义自定义端口。

源和目标

firewalld允许你根据数据包的来源和目标来定义规则。这使得你可以限制特定IP地址或地址范围的访问,增强了网络安全性。

3.使用方式

a.firewall-cmd

firewall-cmd是firewalld的字符界面管理工具

可以通过远程连接工具,配置防火墙规则。

b.firewall-config

firewall-config是firewalld的图形用户界面管理工具

在系统桌面中,命令行执行firewall-config命令,打开firewalld的图形用户界面管理工具。

如用远程连接工具,如xshell,执行命令firewall-config,将不能打开图形管理工具,提示在windows系统中安装xmanager,可以直接打开该工具且配置防火墙规则。

c.修改firewalld配置文件

firewalld的配置文件分为主配置文件和区域/服务/端口配置文件。

主配置文件位于/etc/firewalld/firewalld.conf,包含一般的Firewalld设置,如默认区域等。

每个区域都有一个对应的配置文件,位于/etc/firewalld/zones/目录下。这些文件包含特定区域的防火墙规则。

服务配置文件位于/etc/firewalld/services/目录下,定义了预定义服务的防火墙规则。

4.管理工具关系

现有防火墙管理手段的基本框架如下,供参考。

二、命令语法

在三种使用firewalld的方法中,我们重点讨论firewall-cmd。

1.启动firewalld

CentOS Stream 9操作系统默认开启了firewalld服务,用户可以使用systemctl命令查看firewalld服务状态。

2.命令格式

firewalld命令格式简单:

        firewall-cmd [options..]

firewall-cmd命令常用选项

参数

含义

--get-default-zone

查询默认的区域名称

--set-default-zone=区域名称

设置默认的区域,使其永久生效

--get-zones

显示可用的区域

--get--services

显示预先定义的服务

--get-active-zones

显示当前正在使用的区域与网卡名称

--add-source=

将源自此IP或子网的流量导向指定的区域

--remove-source

不再将源自此IP或子网的流量都导向某个指定区域

--add-service=服务名

设置默认区域允许该服务的流量

--add-port=端口号/协议

设置默认区域允许该端口的流量

--remove-service=服务名

设置默认区域不再允许该端口的流量

--add-interface=网卡名称

将源自该的所有流量都导向某个指定区域

--change-interface=网卡名称

将某个网卡与区域进行关联

--list-all

显示当前区域的配置参数、资源、端口以及服务等信息

--list-all-zones

显示所有区域的配置参数、资源、端口以及服务等信息

--reload

让永久生效的配置规则立即生效,并覆盖当前的配置规则

--panic-on

开启应急状况模式

--panic-off

关闭应急状况模式

3.常见区域

firewalld常见区域及相应策略规则

区域

策略

trusted

允许所有数据包

home

拒绝流入的流量,除非与流出的流量相关。若流量与ssh、mdns、ipp-client、amba-client、dhcpv6-client服务相关,则允许流量通过

internal

等同于home区域

work

拒绝流入的流量,除非与流出的流量相关,若流量与ssh、ipp-client、dhcpv6-client相关,则允许流量通过

public

拒绝流入的流量,除非与流出的流量相关,若流量与ssh、dhcpv6-client服务相关,则允许流量通过

external

拒绝流入的流量,除非与流出的流量相关,若流量与ssh服务相关,则允许流量通过

dmz

拒绝流入的流量,除非与流出的流量相关,若流量与ssh服务相关,则允许流量通过

block

拒绝流入的流量,除非与流出的流量相关(阻断)

drop

拒绝流入的流量,除非与流出的流量相关(丢弃)

4.帮助信息

firewalld命令众多,一般可以通过帮助查看详细使用方法。

5.模式选择

firewalld配置的防火墙策略,分为运行时(Runtime)模式、永久(Permanent)模式两种。

默认的是运行时(Runtime)模式,配置的策略便会立即生效,但是,系统一旦重启就会失效。

永久生效(Permanent)模式,可以使firewalld配置永久生效,但是,此模式需要重启系统,或者手动执行firewall-cmd --reload命令,配置的策略才会立即生效。

三、使用技巧

1.命令应用别名

firewalld命令比较复杂,也不易录入,可以设置别名,加快录入,并确保正确无误。建议如下:

        alias f=firewall-cmd

        alias fz='firewall-cmd --zone=public'

        alias fp='firewall-cmd --permanent'

        alias fl='firewall-cmd --list-all'

        alias fr='firewall-cmd --reload'

2.简写参数/选项

firewalld命令使用中,系统支持简写。这是系统一大特点,各版本都可应用。

一般是用单词的前三个字母。

        --state   简写  --st[ate]

        --masquerade  简写  --mas

        --permanent  简写  --per

        --list-service  简写  --list-ser

        --remove-masquerade  简写  --remove-mas

        --add-service  简写  --add-ser

3.补全

正常使用firewall-cmd命令录入参数时,可以按Tab键补全命令,按两次,可以提示可选择的内容。

如使用别名,不再支持Tab键补全。

4.符号使用

a.空格

在使用firewalld命令中,可以用空格代替=号

执行上述命令时,可用空格代替=号,功能相同。

了解这一特性后,可用空格代替命令中的=号,录入时相对容易些。

b.双引号

在配置富规则时,根据习惯,可以加双引号。

配置一条富规则,拒绝192.168.100.2主机的ssh服务:

firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.100.2" service name="ssh" reject'

第1次添加时命令中加双引号。查看效果后删除该富规则。

firewall-cmd --zone=public --remove-rich-rule='rule family="ipv4" source address="192.168.100.2" service name="ssh" reject'

第2次添加时不加双引号,效果相同

firewall-cmd --zone=public --add-rich-rule='rule family=ipv4 source address=192.168.100.2 service name=ssh reject'

c.=号

我们添加一个httpd服务,把=号替换为空格,结果相同

firewall-cmd  --add-service http

d.-

添加多个端口时,开始端口加上“-”结束端口:

四、案例

首先使用systemctl命令,查看firewalld(防火墙)的状态(status)、重新启动(restart)、临时关闭(stop)、临时开启(start)防火墙服务。

1.查看使用区域

查看firewalld服务当前所使用的区域

命令:

        firewall-cmd --get-default-zone

效果:

2.查看所有信息

查看firewalld当前区域的配置参数、资源、服务等信息

命令:

        firewall-cmd --list-all

效果:

3)查看单项信息

查看public区域是否允许https服务和FTP协议数据包通过

命令:

        firewall-cmd --zone=public --query-service=https

        firewall-cmd --zone=public --query-service=ftp

效果:

4)永久设置

将https设置为永久允许,并立即生效

命令中添加选项--permanent,为永久设置;没有此选项,为临时设置。

命令:

        firewall-cmd --permanent --zone=public --add-service=https     #设置规则

        firewall-cmd –reload     #立即生效

        firewall-cmd --zone=public --query-service=https

效果:

将http设置为永久允许,并立即生效

命令:

        f --zone public --add-ser http --per #--per位置任意

        f –rel #使规则生效,用命令别名和简写

        f --list-ser #查看所有允许的服务

效果:

5)设置端口

将10000端口的数据包设置为允许,仅限当前有效

命令:

        firewall-cmd --list-port #默认查看当前的区域

        firewall-cmd --zone=public --add-port=10000/tcp

        firewall-cmd --list-port #不加--zone=public时,默认查看当前的区域

效果:

6)设置富规则

配置一条富规则,拒绝172.168.1.0/24网段的所有用户访问本机的ssh服务

命令:

        firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source  address="192.168.1.0/24" service="ssh" reject'

效果:

基础规则是设置前几项,而最后一项是富规则。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1458583.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HTML世界核心

目录 一、基本文档(Basic Documentation) 二、基本标签(Basic Tags) 三、文本格式化(Formatting) 四、链接(Links) 五、图片(Images) 六、样式/区块(Styles/Sections) 七、无序列表(Disorder List) 八、有序列表(Sequence List) 九、定义列表(Definin…

html+css+jquery实现轮播图自动切换、左右切换、点击切换

pc端也好、移动端也好&#xff0c;轮播图很常见&#xff0c;今天用htmlcssjquery实现小米商城轮播图&#xff0c;套UI框架更容易实现 步骤1&#xff1a;把静态轮播图用divcss布局出来&#xff0c;采用盒子模型、相对绝对定位实现 代码如下&#xff1a; <!doctype html>…

如何在CentOS安装SQL Server数据库并实现无公网ip环境远程连接

文章目录 前言1. 安装sql server2. 局域网测试连接3. 安装cpolar内网穿透4. 将sqlserver映射到公网5. 公网远程连接6.固定连接公网地址7.使用固定公网地址连接 前言 简单几步实现在Linux centos环境下安装部署sql server数据库&#xff0c;并结合cpolar内网穿透工具&#xff0…

FEP水质取样器操作方便应用环境化工行业

FEP贝勒管&#xff0c;是一种经济型便携式 水质采样器&#xff0c;操作简单&#xff0c;使用方便&#xff0c;它是一种软塑料。 用途&#xff1a; FEP贝勒管适用于各地环境监测站、污水处理厂、水利、水务以及各科研院所&#xff0c;对工业污染源排放口、江、河、湖、海等水样…

一抹中国红占据春节档“C位”,西凤“热辣滚烫”

执笔 | 文 清 编辑 | 古利特 春节期间&#xff0c;西凤酒借“龙年喝西凤&#xff0c;龙凤呈祥”的美好寓意&#xff0c;探班春晚、众星拜年、推出贺岁主题短片《龙年有喜》&#xff0c;极富中国年味的“年夜FUN”第四季也强势回归&#xff1b;线下年夜饭酒店赠饮、直营店赠…

VMware Workstation 17安装教程:安装系统

点击开启虚拟机 安装向导的初始化界面 Keyboard和Language Support分别指的是键盘类型和语言支持&#xff0c;我们首先单击Time & Date按钮&#xff0c;设置系统的时区和时间。在地图上单击中国境内即可显示出上海的当前时间&#xff0c;确认后单击左上角的Done按钮。系统…

【Unity】【VRTK】【VR开发】同时保持高效打包和调试的VRTK项目设置方式

【背景】 开发功能时希望能够快速调试&#xff0c;在Preview和开发编辑器间流畅切换。后期又希望快速打包到目标安卓平台&#xff0c;感受头盔内部的画面和操作效果。麻烦在于&#xff0c;这两者往往不是明确区分的&#xff0c;很可能一会儿只是想快速验证一下某些功能动作&am…

数字化转型导师坚鹏:政府数字化运营三步曲之认知、行动、结果

政府数字化运营三步曲之认知、行动、结果 课程背景&#xff1a; 很多政府都在开展数字化运营工作&#xff0c;目前存在以下问题急需解决&#xff1a; 不清楚政府数字化运营包括哪些关键工作&#xff1f; 不清楚政府数字化运营工作的核心方法论&#xff1f; 不清楚政府数…

BGP 邻居建立

拓扑图 配置 BGP进程号及为AS号 使用环回口建立BGP邻居关系时&#xff0c;需要指定更新源地址 EBGP在使用环回口建立邻居关系时&#xff0c;需配置EBGP多跳&#xff0c;环回口路由可达 EBGP的路由器存在IBGP邻居时&#xff0c;需要配置next-hop-local&#xff0c;保证下一跳…

【小呆的力学笔记】弹塑性力学的初步认知四:简单应力状态下的应力应变关系

文章目录 2. 简单应力状态下的应力应变关系2.1 简单拉伸的应力应变关系2.2 真实应力应变关系2.3 应力-应变关系简化模型 2. 简单应力状态下的应力应变关系 我们在高中就学过&#xff0c;弹簧拉伸力和变形量成比例&#xff0c;对于一般的金属材料&#xff0c;在一定载荷以内这种…

leetcode判断字母异位词

代码 public static boolean isAnagram(String s,String t){char[] x s.toCharArray();char[] y t.toCharArray();Arrays.sort(x);Arrays.sort(y);boolean val Arrays.equals(x, y);return val;} 测试如下 public static void main(String[] args) {String s "anag…

PCIE Retimer

1 Retimers retimer是一种PCIE的扩展设备&#xff0c;用于长距离高效地传输数据&#xff0c;起到一种中继器的作用。PCIe扫盲——ReTimer和ReDriver简介  在EP和RC中间最多允许两级retimers级联&#xff0c;其可以分为纯模拟类&#xff0c;它是一种对物理层协议无关的芯片&…

STM32 USART详细解读(理论知识)

文章目录 前言一、同步传输和异步传输二、UART协议三、UART硬件结构1.波特率&#xff0c;数据位&#xff0c;校验位&#xff0c;停止位设置2.数据发送流程3.数据接收流程4.中断控制 总结 前言 本篇文章来给大家讲解一下STM32中的USART&#xff0c;USART是STM32中非常重要的一个…

沁恒CH32V30X学习笔记09---使用TIM 外部时钟1模式实现硬件计数

TIM 外部时钟1使用 定时器时钟 通过框图可知;外部时钟1模式下仅仅只有通道1 和通道2 可以输入脉冲 简单示例教程 void TIM1_ETRClockMode1_Init(void) {RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE);TIM_CounterModeConfig(TIM1, TIM_CounterMode_Up)

人工智能|机器学习——基于机器学习的舌苔检测

代码下载&#xff1a; 基于深度学习的舌苔检测毕设留档.zip资源-CSDN文库 1 研究背景 1.1.研究背景与意义 目前随着人们生活水平的不断提高&#xff0c;对于中医主张的理念越来越认可&#xff0c;对中医的需求也越来越多。在诊断中&#xff0c;中医通过观察人的舌头的舌质、苔…

Vue的个人笔记

Vue学习小tips ctrl s ----> 运行 alt b <scrip> 链接 <script src"https://cdn.jsdelivr.net/npm/vue2.7.16/dist/vue.js"></script> 插值表达式 指令

unplugin-vue-components解决命名冲突

我们在vue项目中通常会利用unplugin-vue-components插件进行自定义组件的自动引入 注&#xff1a;如果不知道怎么配置unplugin-vue-components插件&#xff0c;欢迎看我整理的这篇&#xff1a; vue3项目配置按需自动引入自定义组件unplugin-vue-components 当出现同名文件时&a…

详解平面点云面积计算

部分代码展示&#xff1a; &#xff08;1&#xff09;利用格网法计算面积&#xff1a; //&#xff08;2&#xff09;测试使用格网法计算平面点云面积 void main() {char *inputpath "D:\\testdata\\data.txt";vector<pcl::PointXYZ> points ReadPointXYZIn…

TRS 2024 论文阅读 | 基于点云处理和点Transformer网络的人体活动连续识别

无线感知/雷达成像部分最新工作<持续更新>: 链接地址 注1:本文系“无线感知论文速递”系列之一,致力于简洁清晰完整地介绍、解读无线感知领域最新的顶会/顶刊论文(包括但不限于 Nature/Science及其子刊; MobiCom, Sigcom, MobiSys, NSDI, SenSys, Ubicomp; JSAC, 雷达学…

百年明牌门业入围2024中国别墅门十大品牌榜单

一年一度的中国别墅门十大品牌网络评选活动圆满的落下帷幕。来自浙江的“百年明牌”凭借自身优异的产品品质&#xff0c;以及极佳的市场口碑&#xff0c;强势入围2024中国别墅门十大品牌榜单。 武义誉鑫安防科技有限公司坐落于素有“中国五金之都”和“中国门都”之称的永康市&…