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

news2024/11/29 8:53:18

文章目录

    • 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/tcp
 firewall-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.131

firewall-cmd  --reload

image-20230903133426268

再次连接就成功了

image-20230903133501868

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

firewall-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.coloradmin.cn/o/967627.html

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

相关文章

卡特兰数和算法

在组合数学中,卡特兰数是一系列自然数,出现在各种组合计数问题中,通常涉及递归定义的对象。它们以比利时数学家尤金查尔斯卡特兰(Eugne Charles Catalan)的名字命名。 卡特兰数序列是1, 1, 2, 5, 14, 42......&#xf…

AAC之处理码流分析工具(三十六)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药. 更多原创,欢迎关注:Android…

websocket基础

下面就以代码来进行说明 1&#xff0c;先导入websocket依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId></dependency> 2.编写websocket相关bean管理配置 Config…

牛客网刷题

牛客网刷题-C&C 2023年9月3日15:58:392023年9月3日16:37:01 2023年9月3日15:58:39 2023年9月3日16:37:01 整型常量和实型常量的区别

一、了解[mysql]索引底层结构和算法

目录 一、索引1.索引的本质2.mysql的索引结构 二、存储引擎1.MyISAM2.InnoDB3.为什么建议InnoDB表要建立主键并且推荐int类型自增&#xff1f;4.innodb的主键索引和非主键索引&#xff08;二级索引&#xff09;区别5.联合索引 一、索引 1.索引的本质 索引:帮助mysql高效获取数…

01-为什么阿里巴巴强制要求使用包装类型定义属性?【Java面试题总结】

1.为什么阿里巴巴强制要求使用包装类型定义属性&#xff1f; 我认为主要有以下几个方面的原因&#xff1a; 默认值问题&#xff1a;使用基本数据类型定义属性时&#xff0c;如果没有给属性赋初始值&#xff0c;会使用默认值&#xff08;如 int 的默认值为 0&#xff09;&…

C++:初识类与this指针

文章目录 前言一、类类的定义和实例化类的访问限定符类的作用域计算类的大小 二、类的成员函数的this指针总结 个人主页 &#xff1a; 个人主页 个人专栏 &#xff1a; 《数据结构》 《C语言》《C》 前言 一、类 类的定义和实例化 注意类定义结束时后面分号( ; )不能省略。 类…

基于粒子群算法的考虑需求响应的风-光-柴-储容量优化配置

目录 文章摘要&#xff1a; 研究背景&#xff1a; 考虑柔性负荷的风、光、柴、储微电网模型&#xff1a; 储能配置模型&#xff1a; 粒子群算法&#xff1a; 运行结果&#xff1a; 1. 全年运行效果展示&#xff1a; 2. 典型日运行效果&#xff1a; Matlab代码数据分享…

博客系统自动化测试项目实战(测试系列9)

目录 前言&#xff1a; 1.博客前端页面测试用例图 2.测试用例的代码实现 2.1登录页面的测试 2.2博客列表页面的测试 2.3写博客测试 2.4博客详情页面的测试 2.5已发布博客的标题和时间的测试 2.6注销用户的测试 结束语&#xff1a; 前言&#xff1a; 之前小编给大家讲…

js实现点击查看全部/收起功能

在上一篇文章实现用js截取文本后&#xff0c;我的另一个需求也迎刃而解了。需求就是一段长文本需要溢出隐藏&#xff0c;然后点击全部时显示全部文本&#xff0c;点击收起又回到溢出隐藏的状态。实现的效果如下图&#xff1a; 实现的思路时点击全部时使用这条数据的原文本&…

04-过滤器和拦截器有什么区别?【Java面试题总结】

过滤器和拦截器有什么区别&#xff1f; 运行顺序不同&#xff1a;过滤器是在 Servlet 容器接收到请求之后&#xff0c;但在 Servlet被调用之前运行的&#xff1b;而拦截器则是在Servlet 被调用之后&#xff0c;但在响应被发送到客户端之前运行的。 过滤器Filter 依赖于 Servle…

【优先级队列】

文章目录 基于无序数组实现基于有序数组的实现基于堆的实现合并多个有序链表-力扣 23 题 基于无序数组实现 要点 入队保持顺序&#xff0c;在数组尾部插入即可出队前找到优先级最高的出队&#xff0c;相当于一次选择排序 基于有序数组的实现 要点 入队后排好序&#xff0c…

企业架构LNMP学习笔记8

1、 运维人员需要考虑安全性、稳定性。 安装&#xff1a; 解压进入到目录&#xff1a; shell > tar zxf php-7.2.12.tar.gz shell > cd php-7.2.12 安装依赖软件&#xff1a; yum -y install libxml2-devel libjpeg-devel libpng-devel freetype-devel curl-devel op…

企业应用系统 PHP项目支持管理系统Dreamweaver开发mysql数据库web结构php编程计算机网页

一、源码特点 PHP 项目支持管理系统是一套完善的web设计系统 应用于企业项目管理&#xff0c;从企业内部的各个业务环境总体掌握&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。 php项目支撑管理系统2 二、功能介绍 (1)权限管理&#xff1…

Android 使用OpenCV实现实时人脸识别,并绘制到SurfaceView上

1. 前言 上篇文章 我们已经通过一个简单的例子&#xff0c;在Android Studio中接入了OpenCV。 之前我们也 在Visual Studio上&#xff0c;使用OpenCV实现人脸识别 中实现了人脸识别的效果。 接着&#xff0c;我们就可以将OpenCV的人脸识别效果移植到Android中了。 1.1 环境说…

一个基于YAPI接口生产代码的开源工具

前后端分离的开发模式是一种趋势&#xff0c;但如果缺少好的开发工具跟管理模式&#xff0c;会使得前后端开发人员相互等待&#xff0c;扯皮等问题。从而影响项目的交付进度。 通过实践摸索&#xff0c;YAPI是一款很适合前后端分离开发的协助工具。它以项目为维度&#xff0c;可…

arduino仿真 SimulIDE1.0仿真器

SimulIDE 是一个开源的电子电路模拟器&#xff0c;支持模拟各种电子元器件的行为&#xff0c;可以帮助电子工程师和爱好者进行电路设计和测试。以下是 SimulIDE 的安装和使用说明&#xff1a; 安装 SimulIDE SimulIDE 可以在 Windows、Linux 和 Mac OS X 等操作系统上安装。您…

取证工具prodiscover的基本操作

前言提醒 取证工具ProDiscover在网上讲解操作的文章实在太少&#xff0c;一是prodiscover是用于磁盘取证的工具&#xff0c;本身比较小众比不上其他的编程软件能用到的地方多&#xff0c;二是这个工具是用来恢复提取磁盘中被删除的文件&#xff0c;是比较隐晦的软件。 需要注…

CSAPP的Lab学习——AttackLab

文章目录 前言一、阶段一攻击二、阶段二攻击三、阶段三攻击四、阶段四攻击五、阶段五攻击总结 前言 一个本硕双非的小菜鸡&#xff0c;备战24年秋招。刚刚看完CSAPP&#xff0c;真是一本神书啊&#xff01;遂尝试将它的Lab实现&#xff0c;并记录期间心酸历程。 代码下载 官方…

【AWS实验】 配置中转网关及对等连接

文章目录 实验概览目标实验环境任务 1&#xff1a;查看网络拓扑并创建基准任务 2&#xff1a;创建中转网关任务 3&#xff1a;创建中转网关挂载任务 4&#xff1a;创建中转网关路由表任务 4.1&#xff1a;创建路由表关联任务 4.2&#xff1a;创建路由传播 任务 5&#xff1a;更…