linux Firewalld学习笔记

1、Firewalld默认策略

默认情况会阻止流量流入,但允许流量流出。
在这里插入图片描述

2、Firewalld区域概念

拒绝区域drop、默认区域public、允许区域trusted
在这里插入图片描述

3、区域规则

区域与网卡接口
在这里插入图片描述
默认区域规则
常用的有trusted (相当于白名单)、work/public 区、dmz/drop区
在这里插入图片描述

4、语法规则介绍

区域命令语法和接口命令语法
在这里插入图片描述
服务命令语法、 端口命令语法、管理命令语法
在这里插入图片描述

5、Firewalld区域配置(重点*)

systemctl start firewalld

firewall-cmd --get-default-zone
firewall-cmd --list-all
#下图显示的默认区域是public,绑定eth0和eth1网卡。`仅`允许访问ssh、dhcpv6-client

在这里插入图片描述

5.1多区域配合使用

#要求
使用firewalld各个区域规则结合配置
调整默认public区域拒绝所有流量,但如果来源IP是10.0.0.0/24网段则允许。

1.将默认的public区域中的服务全部删除;
⒉.将来源地址来自于10.0.0.0/24统统都走白名单
#操作
firewall-cmd --remove-service=ssh
firewall-cmd --remove-service=dhcpv6-client
firewall-cmd --list-all

firewall-cmd --add-source=10.0.0.0/4 --zone=trusted
firewall-cmd --get-active-zone

在这里插入图片描述

在这里插入图片描述

6、Firewalld规则配置

#刚才上述的操作是临时的,如果是有重载,则刚才配置全部失效
firewall-cmd --reload

6.1配置端口规则

#单个 与 多个
firewall-cmd --add-port=80/tcp
firewall-cmd --add-port={80/tcp,8080/tcp}

#永久
firewall-cmd --add-port={80/tcp,8080/tcp} --permanet
firewall-cmd --reload

#查看放行端口
firewall-cmd --list-ports

#移除端口规则
firewall-cmd --remove-port={80/tcp,8080/tcp}

在这里插入图片描述

6.2配置服务规则

firewall-cmd -add-service=http
firewall-cmd -add-service={http,https}

在这里插入图片描述
可放行的服务列表

firewall-cmd --get-services

在这里插入图片描述

6.2.1 自定义放行的服务 (可略)

rpm -ql firewalld
cd /usr/lib/firewalld/services/
cp ssh.xml zabbix-agent.xml ;  vim zabbix-agent.xml
firewall-cmd --reload
firewall-cmd -add-service=zabbix-agent

在这里插入图片描述

8、Firewalld实现路由器功能

8.1 Firewalld-实现DNAT

#都开启ipv4转发 ,#添加下面一行
vim /etc/sysctl.conf
net.ipv4.ip_forward=1

#使内核修改生效
sysctl -p

#环境说明
#eth0可连接外部网络,eth1对应的网段是内网网段
Firewalld
	eth0:  10.0.0.200     5555端口
	eth1:  172.16.1.200    

web:
	eth1:  172.16.1.9     22端口

在这里插入图片描述

#实现外部网络访问内部资源
firewall-cmd --add-forward-port=port=5555:proto=tcp:toport=22:toaddr=172.16.1.9

#iptables写法
#iptables -t nat -I PREROUTING -d 10.0.0.200 -p tcp --dport 5555 -j DNAT --to-destination 172.16.1.9:22

在这里插入图片描述
测试操作
在这里插入图片描述

8.12Firewalld-实现SNAT

在指定的带有公网IP的服务器上启动Firewalld实现内部集群共享上网;
在这里插入图片描述

#firewalld机器操作。 确保firewalld端可以上网,配置开启masquerade 即可,暂不用写snat规则。
firewall-cmd --add-masquerade --permanent
firewall-cmd --reload

#客户端将网关指向firewalld服务器,配置DNS
#web03操作
cat /etc/sysconfig/network-scripts/ifcfg-eth1
GATEWAY=172.16.1.61
DNS1=223.5.5.5

nmcli connection reload
nmcli connection down eth1 && nmcli connection up eth1

firewalld端
在这里插入图片描述

web端
在这里插入图片描述

END

9、 Firewalld复规则Rule

firewalld中的富规则表示更细致、更详细的防火墙策略配置,它可以针对系统服务、端口号

源地址和目标地址等诸多信息进行更有针对性的策略配置,优先级在所有的防火墙策略中也是最高的。

语法:
在这里插入图片描述
rule执行顺序
在这里插入图片描述

9.1 示例1

在这里插入图片描述
在这里插入图片描述

#1.比如允许10.0.0.10主机能够访问http服务,允许172.16.1.0/24能访问22端口
firewall-cmd --add-rich-rule='rule family=ipv4 source address=10.0.0.10/32 service name=http accept'
firewall-cmd --add-rich-rule='rule family=ipv4 source address=172.16.1.0/24 service name=ssh accept'

9.2 示例2

在这里插入图片描述

#⒉默认public区域对外开放所有人能通过ssh服务连接,但拒绝172.16.1.0/24网段通过ssh连接服务器
firewall-cmd --add-rich-rule='rule family=ipv4 source address=172.16.1.0/24 service name="ssh" drop'

9.3 示例3

在这里插入图片描述

#2.使用firewalld,允许所有人能访问http, https服务,但只有10.0.0.1主机可以访问ssh服务
firewall-cmd --reload
firewall-cmd --remove-service=ssh
firewall-cmd --add-service={http,https}
firewall-cmd --add-rich-rule "rule family=ipv4 source address=10.0.0.1/32 port="22" protocol="tcp" accept "

9.4 示例4

在这里插入图片描述

#4.当用户来源卫地址是10.0.0.1主机,则将用户请求的5555端口转发至后端172.16.1.9的22端口
firewall-cmd --add-masquerade
firewall-cmd --add-rich-rule'rule family=ipv4 source address=10.0.0.1/32 forward-port port="5555"  protocol="tcp" to-port="22" to-addr="172.16.1.9"'

by oldxu
END

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

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

相关文章

软考:中级软件设计师:OSI/RM七层模型,网络技术标准与协议

软考:中级软件设计师:OSI/RM七层模型 提示:系列被面试官问的问题,我自己当时不会,所以下来自己复盘一下,认真学习和总结,以应对未来更多的可能性 关于互联网大厂的笔试面试,都是需要细心准备的…

MySQL数据库 索引、事务、储存引擎

索引 索引的概念 索引是一个排序的列表,在这个列表中存储着索引的值和包含这个值的数据所在行的物理地址(类似于C语言的链表通过指针指向数据记录的内存地址)。 使用索引后可以不用扫描全表来定位某行的数据,而是先通过索引表找…

昇腾Ascend+C编程入门教程(纯干货)

2023年5月6日,在昇腾AI开发者峰会上,华为正式发布了面向算子开发场景的昇腾Ascend C编程语言。Ascend C原生支持C/C编程规范,通过多层接口抽象、并行编程范式、孪生调试等技术,极大提高了算子的开发效率,帮助AI开发者低…

pdf太大怎么压缩大小?这样压缩文件很简单

工作和学习中,用到PDF文件的机会还是比较多的,但有时候PDF文件过大会给我们带来困扰,比如上传PDF文件时会因超出系统大小导致无法上传,这时候简单的解决方法就是压缩PDF文件,下面就来看看具体的操作方法吧~ 方法一&…

构造函数内的方法 直接写在构造函数内部 与 写在prototype上 的区别

文章目录 前言区别总结 前言 以前没注意过, 去创建一个构造函数的时候, 方法都是直接写在函数内的. 在构造函数需要多次实例化的情况下有缺点, 不过幸好以前项目里的构造函数也不需要多次实例化, 缺点没有生效. 区别 为了比较, 先在构造函数内部直接书写方法, 查看实例化结果…

时间和日期--Python

1. 时间:time模块 总结:2. datetime模块 相比与time模块,datetime模块的接口更直观、更容易调用 2.1 datetime模块定义的类 (1)datetime.date:表示日期的类。常用的属性有:year、month、day; &#xff…

docker compose iceberg 快速体验

https://iceberg.apache.org/spark-quickstart/#docker-compose port:8888

SpingMVC拦截器-用户登录权限控制分析

视频链接:08-SpringMVC拦截器-用户登录权限控制代码实现2_哔哩哔哩_bilibili 114 1、做了一个用户跟角色添加的相关操作 1.1 这个后台工程,没有进行相关操作也能够进行登录: 2、现在我做一个用户的权限控制,如果当前我没有进行操…

VUE笔记(三)vue的语法

一、计算属性 1、计算属性的概念 计算属性是依赖于源数据(data或者属性中的数据),在元数据的基础上进行逻辑运算后得到的新的数据,计算属性要依赖于源数据,源数据数据变化计算属性也会变化 2、计算属性的语法 在vue2中使用computed这个选…

2024年天津市大学软件学院专升本专业课考试大纲

天津市大学软件学院2024年“高职升本科”联合招生专业考试大纲 一、考试性质 天津市大学软件学院“高职升本科”联合招生专业考试是由合格的高职高专毕业生参加的选拔性考试。学校根据考生的成绩,按照已确定的招生计划,德、智、体全面衡量,…

mysql 查询的字段值太长显示不全 group_concat

当前这个字段非常的长,在数据库看的时候也只是显示一部分内容,这是由于group_concat的group_concat_max_len参数的值太小造成的,默认值如下: show VARIABLES like group_concat_max_len 我们需要将这个值调大一点就可以解决上面这…

利用 IDEA IDE 的轻量编辑模式快速查看和编辑工程外的文本文件

作为程序员, 我们都知道 IDE 的很好用的, 它的文本编辑器功能也非常的强大, 用起来非常便捷. 在长年累月的使用中, 我们也变得对其非常熟悉, 以致于使用起其它简单地轻量级的文本编辑器来, 比如什么记事本, Notepad, UltraEdit 等等呀, 觉得既不方便又不熟悉. 关键是很多的操作…

解决`idea`中`database`工具查询起别名乱码问题

文章目录 解决idea中database工具查询起别名乱码问题场景复现如何解决方式一 设置编码方式二:修改字体 原因说明 解决idea中database工具查询起别名乱码问题 场景复现 使用Idea做查询的并且起别名出现了中文乱码 如何解决 方式一 设置编码 settings->输入框输…

基于黑寡妇算法优化的BP神经网络(预测应用) - 附代码

基于黑寡妇算法优化的BP神经网络(预测应用) - 附代码 文章目录 基于黑寡妇算法优化的BP神经网络(预测应用) - 附代码1.数据介绍2.黑寡妇优化BP神经网络2.1 BP神经网络参数设置2.2 黑寡妇算法应用 4.测试结果:5.Matlab代…

Hyperf 如何做到用两个端口 9501/9502 都能连接 Websocket 服务以及多 Worker 协作实现聊天室功能

为何 Hyperf 能够在两个端口上监听 WebSocket 连接? 源码角度来看,在配置了多个 Servers 时,实际上,只启动了一个 Server 注:我之前接触的代码都是启动一个服务绑定一个端口,之前也看过 swoole 扩展的文档…

数据结构--树4.2.1(二叉树)

目录 一、二叉树的存储结构 二、二叉树的遍历 一、二叉树的存储结构 顺序存储结构:二叉树的顺序存储结构就是用一维数组存储二叉树中的各个结点,并且结点的存储位置能体现结点之间的逻辑关系。 链式存储结构:二叉树每个结点最多只有两个孩…

SciencePlots 基本语法及特点

文章目录 简介安装 LaTeXSciencePlots 绘图示例 简介 用户有时需要根据期刊的配图绘制要求进行诸如字体、刻度轴、轴脊、图例等图层属性的定制化修改,耗时的同时也会容易导致用户忽略一些图层细节要求。 SciencePlots 作为一个专门用于科研论文绘图的第三方拓展工…

QT基础教程之二 第一个Qt小程序

QT基础教程之二 第一个Qt小程序 按钮的创建 在Qt程序中&#xff0c;最常用的控件之一就是按钮了&#xff0c;首先我们来看下如何创建一个按钮 QPushButton * btn new QPushButton; 头文件 #include <QPushButton>//设置父亲btn->setParent(this);//设置文字btn-&g…

微服务架构2.0--云原生时代

云原生 云原生&#xff08;Cloud Native&#xff09;是一种关注于在云环境中构建、部署和管理应用程序的方法和理念。云原生应用能够最大程度地利用云计算基础设施的优势&#xff0c;如弹性、自动化、可伸缩性和高可用性。这个概念涵盖了许多方面&#xff0c;包括架构、开发、…

channel并发编程

不要通过共享内存通信&#xff0c;要通过通信共享内存。 channel是golang并发编程中一种重要的数据结构&#xff0c;用于多个goroutine之间进行通信。 我们通常可以把channel想象成一个传送带&#xff0c;将goroutine想象成传送带周边的人&#xff0c;一个传送带的上游放上物品…