linux高级篇基础理论六(firewalld,防火墙类型,,区域,服务端口,富语言)

♥️作者:小刘在C站

♥️个人主页: 小刘主页 

♥️不能因为人生的道路坎坷,就使自己的身躯变得弯曲;不能因为生活的历程漫长,就使求索的 脚步迟缓。

♥️学习两年总结出的运维经验,以及思科模拟器全套网络实验教程。专栏:云计算技术

♥️感谢CSDN让你我相遇!

运维人员辛苦和汗水总结的干货理论希望对你有所帮助

目录

防火墙基础概念与底层

1、防火墙的技术上分类

2、firewalld的两种配置模式:

3、常用的区域:

4、防火墙的配置方法:

5、firewalld-cmd命令工具相关选项:

6、开启路由转发

firewlld支持两种类型的网络地址转换

ip地址伪装工作原理

端口转发原理

常见服务端口:

防火墙补充命令

firewalld富语言

理解富规则命令


防火墙基础概念与底层

1、防火墙的技术上分类

包过滤:firewalld属于这种
应用代理:360,金山毒霸,鲁大师
状态检测:ASA

2、firewalld的两种配置模式:

运行时配置:    立即生效
永久配置:    重新加载服务生效

3、常用的区域:

trusted:    信任区域,用于连接内部网络
public:    公共区域,是默认区域
internal:内部区域,用于连接内部网络
external:外部区域,用于连接互联网,次区域有地址位置nat功能
dmz:    非军事化区域,用于连接内部服务器

4、防火墙的配置方法:

firewall-config图形工具
firewall-cmd命令行工具(常用)
/etc/firewalld/中的配置文件

5、firewalld-cmd命令工具相关选项:

--reload:重新加载防火墙规则
--permanent:用于设置永久性规则,需要重新加载防火墙才会生效
--runtime-to-permanent:将运行时的配置进行保存

6、开启路由转发

vim         /etc/sysctl.conf
net.ipv4.ip_forward = 1


firewlld支持两种类型的网络地址转换

(1)IP地址伪装(masquerade)解决了内部访问互联网的问题
可以实现局域网多个地址共享单一公网地址上网
IP地址伪装仅支持IPV4,不支持IPV6
(2)端口转发(firewalld-port):解决了内部服务器发布到互联网的问题,端口转发,指定IP地址及端口的流量将被转发到相同计算机上的不同端口,或者转发到不同计算机的端口

ip地址伪装工作原理

地址伪装(masquerade):通过地址伪装,NAT设备将经过设备的包转发到指定接收方,同时将通过的数据包的源地址更改为其自己的接口地址。当返回的数据包到达时,会将目的地址修改为原始主机的地址并做路由。地址伪装可以实现局域网多个地址共享单一公网地址上网。类似于NAT技术中的端口多路复用(PAT)。P地址伪装仅支持Pv4,不支持Pv6。

端口转发原理

端口转发(Forward-port):也称为目的地址转换或端口映射。通过端口转发,将指定P地址及
端口的流量转发到相同计算机上的不同端口,或不同计算机上的端口。企业内网的服务器一般都采用私网地址,可以通过端口转发将使用私网地址的服务器发布到公网,以便让互联网用户访问。例如,当接收互联网用户的HTTP请求时,网关服务器判断数据包的目标地址与目标端口,一旦匹配指定规则,则将其目标地址修改为内网真正的服务器地址,从而建立有效连接。


常见服务端口:

http (apache):    tcp    80

https:tcp    443

mysq:tcp    3306

squid:  tcp    3128

rsync:tcp    873

ssh:tcp        22

ftp:tcp        21和20

telnet:  tcp    23

DNS:    tcp/udp  53

DHCP:  udp   67

防火墙补充命令

1.重新加载防火墙配置:
firewall-cmd  --reload

2.防火墙操作例子:
移除tcp12345端口:
firewall-cmd --zone=external --add-port=12345/tcp --permanent

3.配置external区域移除ssh服务:
firewall-cmd --zone=external --remove-service=ssh --permanent

4.设置默认区域为external:
firewall-cmd --set-default-zone=external

5.因为预定义的SSH服务已经更改默认端口,所以将预定义SSH服务移除:
firewall-cmd --zone=dmz --remove-service=ssh --permanent

6.禁止ping:
firewall-cmd --add-icmp-block=echo-request --zone=dmz --permanent                


firewalld富语言

富语言是与直接语言对比的差距就是可以更加丰富的来表示条件,更详细来描述规则,富规则可用于表达基本的允许/拒绝规则,也可以用于配置记录(面向syslog和auditd),以及端口转发、伪装和速率限制。下面是表达富规则的基本语法:

规则的每个单一元素都能够以option=value的形式来采用附加参数。

理解富规则命令

firewal-cmd有四个选项可以用于处理富规则,所有这些选项都可以同常规的--permanent或
--zone=<ZONE>选项组合使用:

--add-rich-rule='RULE'
向指定区域中添加RULE,如果没有指定区域,则为默认区域
--remove-rich-rule='RULE'
从指定区域中删除RULE,如果没有指定区域,则为默认区域
--query-rich-rule='RULE'
查询RULE是否已添加到指定区域,如果未指定区域,则为默认区域。规则
存在,则返回0,否则返回1
--list-rich-rules
输出指定区域的所有富规则,如果未指定区域,则为默认区域

人生要尽全力度过每一关,不管遇到什么困难不可轻言放弃!!!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

010 OpenCV中的4种平滑滤波

目录 一、环境 二、平滑滤波 2.1、均值滤波 2.2、高斯滤波 2.3、中值滤波 2.4、双边滤波 三、完整代码 一、环境 本文使用环境为&#xff1a; Windows10Python 3.9.17opencv-python 4.8.0.74 二、平滑滤波 2.1、均值滤波 在OpenCV库中&#xff0c;blur函数是一种简…

【精选】框架初探篇之——MyBatis入门必知【面试常问】

什么是MyBatis? MyBatis是一个半自动的ORM框架&#xff0c;其本质是对JDBC的封装。使用MyBatis不需要写JDBC代码&#xff0c;但需要程序员编写SQL语句。之前是apache的一个开源项目iBatis&#xff0c;2010年改名为MyBatis。 补充&#xff1a; Hibernate也是一款持久层ORM框架&…

文章解读与仿真程序复现思路——电工技术学报EI\CSCD\北大核心《面向差异化电源成本结构的容量市场机制设计》

这个文章标题涉及到容量市场机制设计&#xff0c;着重考虑了电源成本结构的差异性。下面对标题中的关键词进行解读&#xff1a; 面向&#xff08;Facing&#xff09;&#xff1a; 表示该容量市场机制设计是以某种方向、取向或目标为基础的。在这里&#xff0c;可能指的是设计是…

第五天 用Python批量处理Excel文件,实现自动化办公

用Python批量处理Excel文件&#xff0c;实现自动化办公 一、具体需求 有以下N个表&#xff0c;每个表的结构一样&#xff0c;如下&#xff1a; 需要把所有表数据汇总&#xff0c;把每个人的得分、积分分别加起来&#xff0c;然后按总积分排名&#xff0c;总积分一致时&#xff…

Flutter学习(四)如何取消listview的越界效果

背景 在flutter的开发过程中&#xff0c;ListView是很常见的一个组件&#xff0c;但是&#xff0c;由于ListView的某些自带的体验&#xff0c;导致不太好的用户体验。例如ListView中&#xff0c;滑动到顶部或者底部的时候&#xff0c;再次滑动&#xff0c;会有越界的效果&…

Keil工程打开发现目标芯片无法选择解决方案

买了一个开发板&#xff0c;配套有一些底层驱动的例程&#xff0c;打开后发现目标芯片无法选择&#xff0c;对应的下载Flash FLM文件也无法选择。从提示框中可以知道所提供的例程是Keil4的例程&#xff0c;我电脑上安装的Keil版本是Keil版本&#xff0c;估计是这个原因导致工程…

机器人制作开源方案 | 智能图书搬运机器人

作者&#xff1a;张宸豪 戚益凡 陈世达 高梓钦 谭清 单位&#xff1a;华北科技学院 指导老师&#xff1a;罗建国 韩红利 阅读对于学生的重要性毋庸置疑&#xff0c;因此图书馆是一个校园非常重要的组成部分&#xff0c;图书馆的书籍借阅&#xff0c;能为学生提供非常大的…

人工智能对网络安全的影响越来越大

如果问当前IT行业最热门的话题是什么&#xff0c;很少有人会回答除了人工智能&#xff08;AI&#xff09;之外的任何话题。 在不到 12 个月的时间里&#xff0c;人工智能已经从一项只有 IT 专业人员才能理解的技术发展成为从小学生到作家、程序员和艺术家的每个人都使用的工具…

基于单片机设计的大气气压检测装置(STC89C52+BMP180实现)

一、前言 本项目设计一个大气气压检测装置&#xff0c;该装置以单片机为基础&#xff0c;采用STC89C52作为核心控制芯片&#xff0c;结合BMP180模块作为气压传感器。大气气压&#xff0c;也就是由气体重力在大气层中产生的压力&#xff0c;其变化与天气预报、气象观测以及高度…

Python Pyvis库详解:创建交互式网络图

更多Python学习内容&#xff1a;ipengtao.com 大家好&#xff0c;我是涛哥&#xff0c;今天为大家分享 Python Pyvis库详解&#xff1a;创建交互式网络图&#xff0c;文章4000字&#xff0c;阅读大约15分钟&#xff0c;大家enjoy~~ Pyvis是一个基于JavaScript库NetworkX的Pytho…

【matlab程序】南海土台风画法

【matlab程序】南海土台风画法 图片 往期推荐 图片 【python海洋专题一】查看数据nc文件的属性并输出属性到txt文件 【python海洋专题二】读取水深nc文件并水深地形图 【python海洋专题三】图像修饰之画布和坐标轴 【Python海洋专题四】之水深地图图像修饰 【Python海洋专…

U-boot(四):start_armboot

本文主要探讨210的uboot启动的第二阶段&#xff0c;主要函数为start_armboot。 uboot 一阶段初始化SoC内部部件(看门狗、时钟等),初始化DDR,重定位 二阶段初始化其余硬件(iNand、网卡芯片)以及命令、环境变量等 启动打印硬件信息,进入bootdelay,读秒完后执行bootc…

二十一、文档操作

目录 一、添加文档 1、编写代码 2、运行并查看 二、查询文档 1、编写代码 2、运行并查看 三、删除文档 1、编写代码 2、运行并查看 四、修改文档 方式一&#xff1a;全量修改&#xff0c;会删除旧文档&#xff0c;添加新文档 方式二&#xff1a;局部修改。增量修改&…

nodejs 如何将 Buffer 数据转为 String

问题说明 使用webSocket的时候出现了一个问题&#xff0c;前端小程序和nodejs后端建立websocket连接后&#xff0c;使用send方法发送到后端为buffer格式&#xff0c;以下为我前后端代码 1、前端小程序代码 //创建webSocket连接 const socket uni.connectSocket({url: wss…

工作中死循环害死人

背景&#xff1a;研发的一段代码&#xff0c;循环一直没有跳出&#xff0c;导致其他依赖逻辑有问题&#xff0c;生产事故导致9万左右数据不正常。 这里while&#xff08;true&#xff09;真的不要轻易用 &#xff0c;后来研发改动限制mysql的id切分步长&#xff0c;控制不会有数…

FreeRTOS源码阅读笔记4--semphr.h

信号量是特殊的队列--无法存储消息的队列&#xff0c;相关的接口函数声明在semphr.h中&#xff0c;通过宏定义替换队列函数实现。 4.1创建二值信号量xSemaphoreCreateBinary() 4.1.1函数原型 queueQUEUE_TYPE_BINARY_SEMAPHORE&#xff1a;一个宏&#xff0c;表示创建队列的…

gitt开源项目的意义,公司为什么会对在gitt上有开源项目的人更大机会

Git是一种分布式版本控制系统&#xff0c;它可以帮助程序员管理代码的历史版本和协同工作。同时&#xff0c;Git也成为了开源项目的主要托管平台之一。Git的开源项目意义重大&#xff0c;因为这种开源项目托管平台可以帮助开发者将代码和项目分享给全球的开发者&#xff0c;并且…

node版本管理工具-nvm

1、 下载地址 https://github.com/coreybutler/nvm-windows/releases/tag/1.1.11 2、 选择安装地址不能有空格&#xff0c;中文 3、 使用命令

微服务学习(十二):安装Minio

微服务学习&#xff08;十二&#xff09;&#xff1a;安装Minio 一、简介 MinIO 是一款基于Go语言发开的高性能、分布式的对象存储系统。客户端支持Java,Net,Python,Javacript, Golang语言。MinIO系统&#xff0c;非常适合于存储大容量非结构化的数据&#xff0c;例如图片、视…

linux上的通用拍照程序

最近因为工作需要&#xff0c;在ubuntu上开发了一个拍照程序。 为了找到合适的功能研究了好几种实现方式&#xff0c;在这里记录一下。 目录 太长不看版 探索过程 v4l2 QT opencv4.2 打开摄像头 为什么不直接打开第一个视频节点 获取所有分辨率 切换摄像头 太长不看…