【包过滤防火墙——firewalld动态防火墙】的简单使用

文章目录

    • firewald与iptables区别
    • firewalld九个区域
    • firewalld配置方法
    • firewalld参数和命令
    • firewalld两种模式
    • firewalld使用
    • 实验

firewalld不要与iptables混用

firewald与iptables区别

  1. iptables 主要是基于接口,来设置规则,从而判断网络的安全性。firewalld 是基于区域,根据不同的区域来设置不同的规则,从而保证网络的安全,与硬件防火墙的设置相类似。
  2. iptables 防火墙类型为静态防火墙。firewalld 防火墙类型为动态防火墙。
  3. 使用 iptables 每一个单独更改意味着清除所有旧有的规则从 /etc/sysconfig/iptables 里读取所有新的规则。使用 firewalld 却不会再创建任何新的规则,仅仅运行规则中的不同之处。因此 firewalld 可以在运行时间内,改变设置而不丢失现行连接
  4. iptables 在 /etc/sysconfig/iptables 中储存配置。firewalld 将配置储存在 /etc/firewalld/ (优先加载) 和 /usr/lib/ firewalld/ ( 默认的配置文件) 中的各种 XML 文件里。

firewalld防火墙为了简化管理,将所有网络流量分为多个区域(zone)。然后根据数据包的源IP地址或传入的网络接口等条件将流量传入相应区域。每个区域都定义了自己打开或者关闭的端口和服务列表

firewalld九个区域

  • trusted(信任区域):允许所有的数据包。
  • public(公共区域):拒绝流入的流量,除非与流出的流量相关;而如果是与ssh或dhcpv6-client服务相关 流量,则允许通过
  • external(外部区域):拒绝流入的流量,除非与流出的流量相关;而如果与ssh服务相关流量,则运行通过
  • home(家庭区域):拒绝流入的流量,除非与流出的流量相关;如果是与ssh、mdns、amba-client或dhcpv6-client服务相关 流量,则允许通过
  • internal(内部区域):默认值时与homel区域相同。
  • work(工作区域):拒绝流入的流量,除非与流出的流量相关;而如果是与 ssh、dhcpv6-client服务相关 流量,则允许通过
  • dmz(隔离区域也称为非军事区域):允许与ssh 预定义服务匹配的传入流量,其余均拒绝。
  • block(限制区域):拒绝所有传入流量。
  • drop(丢弃区域):丢弃所有传入流量,并且不产生包含ICMP的错误响应。

firewalld配置方法

使用 firewall-cmd 命令行工具
使用 firewall-config 图形工具
编写 /etc/firewalld/ 中的配置文件

firewalld参数和命令

参数作用
–get-default-zone查询默认区域
–set-default-zone=区域名称设置默认区域,使其永久生效
–get-zones显示可用区域
–get-active-zones显示当前区域与网卡的名称
–add-source=ip将源自此的ip或子网的流量导向指定的区域
–remove-source=ip不再将源自此的ip或子网的流量导向指定的区域
–add-interface=网卡 名称将源自此的网卡的流量导向指定的区域
–change-interface=网卡名称将某个网卡与区域进行关联
–list-all显示当前区域的网卡配置参数、资源、端口及服务信息
–list-all-zones显示所有区域的网卡配置参数、资源、端口及服务信息
–add-service=服务名称设置默认区域允许该服务的流量
–add-port=端口/协议设置默认区域允许该端口的流量
–remove-service=服务名称不再设置默认区域允许该服务的流量
–remove-port=端口/协议不再设置默认区域允许该端口的流量
–reload让永久生效的配置规则 立即生效,并覆盖当前的配置规则
–panic-on开启应急模式
–panic-off关闭应急模式
–query-masquerade检查是否允许伪装IP
–add-masquerade允许防火墙伪装IP
–remove-masquerade禁止防火墙伪装IP

firewalld两种模式

运行时模式 Runtime

  • 配置后立即生效,重启后失效

永久生效模式 permanent

  • 当前不生效,重启后生效

firewalld使用

  • 查看当前使用的区域
firewall-cmd --get-default-zone

image-20230902213939584

  • 查看指定网卡所在的区域
firewall-cmd --get-zone-of-interface=ens33

image-20230902214044715

  • 修改当前网卡所在的区域,并永久生效
firewall-cmd --permanent --zone=external --change-interface=ens33

image-20230902214225267

重启服务器,查看网卡所在区域

firewall-cmd --get-zone-of-interface=ens33

image-20230902214340197

  • 显示当前区域的网卡配置参数、资源、端口及服务信息
firewall-cmd --list-all

当前处于public区域

image-20230903121331594

现在防火墙处于开启的状态

image-20230903121417608

只能允许ssh,dhcpv6-client服务的流量通过

假如说开启了80端口,要想访问是访问不了的

  • 给public区域添加http服务
firewall-cmd --zone=public --add-service=http

在这里插入图片描述

这个时候开启http80端口是可以访问的,但是上面的配置在重启后配置 会失效

要想 永久生效必须加上--permanent参数

firewall-cmd --permanent  --zone=public --add-service=http
  • public区域移除http服务

当前立即生效,如果想永久生效需要加--permanent参数

firewall-cmd --zone=public --remove-service=http
  • 在配置规则比较多情况下,让永久生效的配置立即生效,可以使用--reload立即生效
firewall-cmd --reload
  • 添加80端口规则
firewall-cmd --zone=public --permanent --add-port=80/tcp
firewall-cmd --reload

image-20230903123202853

image-20230903123223865

  • 修改ssh服务默认端口

修改ssh默认端口之前需要禁用selinux

vim /etc/selinux/config

image-20230903124508229

vim /etc/ssh/sshd_config

image-20230903123711441

重启sshd服务

systemctl restart sshd.service

ssh服务默认是22端口,要想连接,需要设置防火墙规则运行2222端口通过

设置规则

 firewall-cmd --zone=public --permanent --add-port=2222/tcpfirewall-cmd --reload

image-20230903124156804

连接2222端口

image-20230903130340155

  • 端口转发
vim /etc/ssh/sshd_config

修改ssh连接端口为8888

在这里插入图片描述

systemctl restart sshd.service

设置规则

firewall-cmd --permanent --zone=public --add-forward-port=port=2222:proto=tcp:toport=8888:toaddr=127.0.0.1
  • --add-forward-port 端口转发
  • port 从哪个端口来
  • proto 哪个协议
  • toport到目的地的哪个端口
  • toaddr到目的地的哪个地址
firewall-cmd --reload

在这里插入图片描述

添加好端口转发规则后,是连不上的,从2222端口转发到8888端口,我们只开放了2222端口,并没有开放8888端口,需要再加一条规则

firewall-cmd --permanent --zone=public --add-port=8888/tcp
firewall-cmd --reload

image-20230903132507065

发现还是连接不上,最后发现不能 用127.0.0.1这个地址

firewall-cmd --permanent --zone=public --add-forward-port=port=2222:proto=tcp:toport=8888:toaddr=192.168.80.131firewall-cmd  --reload

image-20230903133426268

再次连接就成功了

image-20230903133501868

  • 移除端口转发
firewall-cmd --permanent --zone=public --remove-forward-port=port=2222:proto=tcp:toport=8888:toaddr=127.0.0.1firewall-cmd --reload

在这里插入图片描述

实验

image-20230903144305909

给Centos添加 一块网卡,划分到LAN区段

image-20230903143048472

手动配置 静态IP

然后ip a,查看新添加的网卡名称为ens36

cd /etc/sysconfig/network-scripts

cp ifcfg-ens33 ifcfg-ens36

vim ifcfg-ens36

修改如下:

image-20230903140628291

重启网卡

systemctl restart network.service

查看IP
在这里插入图片描述

然后再开启一台win7,,网卡划分到同一LAN区段

手动配置IP地址

image-20230903141431739

启动80端口

image-20230903141338991

image-20230903142549013

查看两台是否互通

image-20230903142154034

在这里插入图片描述

这个时候Centos就能够访问Win7的网站了

curl 10.1.1.2

在这里插入图片描述

首先要让Win11能够访问到Centos8080端口

firewall-cmd --permanent --zone=public --add-port=8080/tcp

端口转发,让8080端口,能访问到10.1.1.280端口

firewall-cmd --permanent --zone=public --add-forward-port=port=8080:proto=tcp:toport=80:toaddr=10.1.1.2

立即生效防火墙配置

firewall-cmd --reload

允许防火墙伪装IP

firewall-cmd --permanent --add-masquerade
 firewall-cmd --reload

image-20230903145217393

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

UE4 春节鞭炮

先搞个基类,一个鞭炮的 搞个鞭炮类,存多个鞭炮 在构造函数的位置先生成对应的鞭炮数 将鞭炮绑定到绳子上,随绳子摆动而一起摆动 在基类里面写爆炸事件 最后用Timer去调用

docker-compose 部署 Seata整合nacos,Postgresql 为DB存储

docker-compose 部署 Seata整合nacos,Postgresql 为DB存储 环境 详情环境可参考 https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E 我这里 <spring.cloud.alibaba-version>2021.1</spring.cloud.alibaba-version>所…

linux的make和makefile学习

linux的make和makefile学习 准备工作使用GNU链接库链接到math库编写复利程序 创建自己的库链接到主目录 不同的C标准系统调用write()获取头文件信息功能测试宏 准备工作 安装GCC和Make工具 安装中文输入法 参考&#xff1a;http://t.csdn.cn/eH0Ow sudo apt-get update sudo…

springboot使用logback配置彩色日志

springboot使用logback配置彩色日志 前言一、logback文件二、效果 前言 应该有很多同学发现&#xff0c;使用了logback以后&#xff0c;我们的控制台日志都变成灰色了&#xff0c;网络上搜到的logback配置大多数没有进行配色&#xff0c;所以会把springboot的默认配色方案给覆盖…

【python爬虫】10.指挥浏览器自动工作(selenium)

文章目录 前言selenium是什么怎么用设置浏览器引擎获取数据解析与提取数据自动操作浏览器 实操运用确认目标分析过程代码实现 本关总结 前言 上一关&#xff0c;我们认识了cookies和session。 分别学习了它们的用法&#xff0c;以及区别。 还做了一个项目&#xff1a;带着小…

数据结构 -作用及基本概念

为什么要使用数据结构 学习数据结构是计算机科学和软件工程领域中非常重要的一门课程。以下是学习数据结构的几个重要原因&#xff1a; 组织和管理数据&#xff1a;数据结构提供了一种组织和管理数据的方式。通过学习不同的数据结构&#xff0c;你可以了解如何有效地存储和操作…

Lesson6---案例:人脸案例

学习目标 了解opencv进行人脸检测的流程了解Haar特征分类器的内容 1 基础 我们使用机器学习的方法完成人脸检测&#xff0c;首先需要大量的正样本图像&#xff08;面部图像&#xff09;和负样本图像&#xff08;不含面部的图像&#xff09;来训练分类器。我们需要从其中提取特…

C++学习笔记总结练习:多态与虚函数

1 多态 多态分类 静态多态&#xff0c;是只在编译期间确定的多态。静态多态在编译期间&#xff0c;根据函数参数的个数和类型推断出调用的函数。静态多态有两种实现的方式 重载。&#xff08;函数重载&#xff09;模板。 动态多态&#xff0c;是运行时多态。通过虚函数机制实…

详细介绍如何基于ESP32实现低功耗的电子纸天气显示器--附完整源码

实现界面展示 这是一款天气显示器,由支持 wifi 的 ESP32 微控制器和 7.5 英寸电子纸(又名电子墨水)显示器供电。当前和预测的天气数据是从 OpenWeatherMap API 获取的。传感器为显示屏提供准确的室内温度和湿度。 该项目在睡眠时消耗约 14μA,在约 10 秒的清醒期…

MATLAB制图代码【第二版】

MATLAB制图代码【第二版】 文档描述 Code describtion: This code is version 2 used for processing the data from the simulation and experiment. Time : 2023.9.3 Author: PEZHANG 这是在第一版基础上&#xff0c;迭代出的第二版MATLAB制图代码&#xff0c;第二版的特点是…

不同路径 II【动态规划】

不同路径 II 一个机器人位于一个 m x n 网格的左上角 &#xff08;起始点在下图中标记为 “Start” &#xff09;。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角&#xff08;在下图中标记为 “Finish”&#xff09;。 现在考虑网格中有障碍物。那么从左上…

NOR型flash vs NAND型flash

FLASH是一种存储芯片&#xff0c;全名叫Flash EEPROM Memory&#xff0c;通过程序可以修改数据&#xff0c;即平时所说的“闪存”。 闪存可以在软件的控制下写入和擦写数据。其存储空间被分割成相对较大的可擦除单元&#xff0c;成为擦除块&#xff08;erase block&#xff09…

没有使用sniffer dongle在windows抓包蓝牙方法分享

网上很多文章都是介绍买一个sniffer dongle来抓蓝牙数据,嫌麻烦又费钱,目前找到一个好方法,不需要sniffer就可以抓蓝牙数据过程,现分享如下: (1)在我资源附件找到相关安装包或者查看如下链接 https://learn.microsoft.com/zh-cn/windows-hardware/drivers/bluetooth/testing-bt…

Doris架构中包含哪些技术?

Doris主要整合了Google Mesa(数据模型)&#xff0c;Apache Impala(MPP Query Engine)和Apache ORCFile (存储格式&#xff0c;编码和压缩)的技术。 为什么要将这三种技术整合? Mesa可以满足我们许多存储需求的需求&#xff0c;但是Mesa本身不提供SQL查询引擎。 Impala是一个…

Docker技术--Docker中的网络问题

1.docker中的网络通信 如果想要弄清楚docker中的网络通信问题,其实需要弄清楚这几个问题就可以:容器与容器之间的通信、容器与外部网络之间的通信、外部网络与容器之间的通信。 -a:容器与容器之间的通信,如下所示: 在默认情况下,docker使用网桥(Bridge模式)与NAT通信。这…

攻防世界-Caesar

原题 解题思路 没出现什么特殊字符&#xff0c;可能是个移位密码。凯撒密码加密解密。偏移12位就行。

MyBatis-Plus —— 初窥门径

前言 在前面的文章中荔枝梳理了MyBatis及相关的操作&#xff0c;作为MyBatis的增强工具&#xff0c;MyBatis-Plus无需再在xml中写sql语句&#xff0c;在这篇文章中荔枝将梳理MyBatis-Plus的基础知识并基于SpringBoot梳理MyBatis-Plus给出的两个接口&#xff1a;BaseMapper和ISe…

机器学习之 Jupyter Notebook 使用

&#x1f388; 作者&#xff1a;Linux猿 &#x1f388; 简介&#xff1a;CSDN博客专家&#x1f3c6;&#xff0c;华为云享专家&#x1f3c6;&#xff0c;Linux、C/C、云计算、物联网、面试、刷题、算法尽管咨询我&#xff0c;关注我&#xff0c;有问题私聊&#xff01; &…

容器技术Linux Namespaces和Cgroups

对操作系统了解多少&#xff0c;仅仅敲个命令吗 操作系统虚拟化&#xff08;容器技术&#xff09;的发展历程 1979 年&#xff0c;UNIX 的第 7 个版本引入了 Chroot 特性。Chroot 现在被认为是第一个操作系统虚拟化&#xff08;Operating system level virtualization&#x…

Linux系统编程5(线程概念详解)

线程同进程一样都是OS中非常重要的部分&#xff0c;线程的应用场景非常的广泛&#xff0c;试想我们使用的视频软件&#xff0c;在网络不是很好的情况下&#xff0c;通常会采取下载的方式&#xff0c;现在你很想立即观看&#xff0c;又想下载&#xff0c;于是你点击了下载并且在…