【Linux安全管理】Firewalld详解

2023-05-16

目录

1、与iptables不同

2、配置防火墙

3、firewalld区域概念

4、filewalld 配置生效

5、firewalld服务

firewalld 端口映射

富规则 rich-rule


1、与iptables不同

  • firewalld采用区域和服务管理,而不是链式规则
  • 动态管理规则,允许更新规则而不破坏原有会话与连接

2、配置防火墙

  • firewall-cmd 命令行模式 推荐使用
  • firewall-config(如果没装图形化界面就不行)
  • vi /etc/firewalld/firewalld.conf
# (查看状态)
#  firewall-cmd --state

#(更新配置)
# firewall-cmd --reload

3、firewalld区域概念

zone

  1. trusted 信任区域     默认允许所有流量传入
  2. public 公共区域    (默认区域)默认允许ssh 服务 dhcp 
  3. external 外部区域   默认允许ssh其余均拒绝
  4. home 家庭区域       有ssh, 预定于服务等
  5. internal 内部区域     默认允许ssh 服务 dhcp服务等
  6. work 工作区域         默认ssh
  7. dmz 隔离区              
  8. block 限制区域          默认拒绝所有流量传入
  9. drop 丢弃区域            默认丢弃所有流量传入

        工作原理

        管理数据包时:

         1、先根据数据包的源IP进行相应区域的防火墙规则匹配; 如果源地址关联到特定的区域,则按特定区域的规则执行;  如果未关联到特定的区域,则按默认区域的规则执行。

        2、根据传入的网络接口,进行相应区域的防火墙规则匹配; 如果源地址关联到特定的区域,则按特定区域的规则执行;  如果未关联到特定的区域,则按默认区域的规则执行。

        绑定源地址的区域规则> 网卡绑定的区域规则> 默认区域规则

4、filewalld 配置生效

运行时配置:

  • 不中断现有连接
  • 不能修改服务配置

永久配置

  • 不立即生效,除非重启或者重新加载配置
  • 不中断现有连接
  • 可以修改服务配置
  •  注意:添加--permanent选项,表示永久配置,但是需要重启firewalld或者重新加载--reload,如果 不带这个选项,则表示用于设置运行时配置,这些规则在系统重启,firewalld重启,或者重新加载后失 效,需要将运行时配置永久生效,则需要将运行时配置规则写入配置文件中,执行firewall-cmd -- runtime-to-permanent。

5、firewalld服务

# systemctl status firewalld

# systemctl start firewalld

# systemctl enable firewalld
# 显示所有可用区域
# firewall-cmd --get-zones

# 显示当前默认区域
# firewall-cmd --get-default-zone

# 设置默认区域
# firewall-cmd --set-default-zone=public

# 显示当前使用的区域和对应网卡
# firewall-cmd --get-active-zones

# 显示指定接口绑定的区域
# firewall-cmd --get-zone-of-interface=ens33

# 为指定接口绑定区域
# firewall-cmd --zone=dmz --add-interface=ens37

# 为指定的区域更改绑定的网络接口
# firewall-cmd --zone=dmz --change-interface=ens33

# 为指定的区域删除绑定的网络接口
# firewall-cmd --zone=dmz --remove-interface=ens37

# 查看默认区域设置
# firewall-cmd --list-all

# 查看指定的区域设置
# firewall-cmd --zone=dmz --list-all

# 显示指定区域可以访问的服务
# firewall-cmd --zone=public --list-services

# 显示系统预定义的服务名
# firewall-cmd --get-service

# 为指定区域添加允许访问的服务
# firewall-cmd --zone=public --add-service=http

# 为指定区域删除允许访问的服务
# firewall-cmd --zone=public --remove-service=http

# 添加多个服务
# firewall-cmd --zone=public --add-services={http,https,redis,ssh}

# 永久生效,运行时配置结束后统一执行
# firewall-cmd --runtime-to-permanent

# 永久生效,需要在设置时加--permanent选项,但是并不是运行时生效,需要重启启动firewalld或者重
新reload
# firewall-cmd --permanent --zone=public --add-services=http
# firewall-cmd --reload 或者 systemctl restart firewalld

# 显示指定域中允许访问的端口
# firewall-cmd --zone=public --list-port

# 位指定域中添加允许访问的端口
# firewall-cmd --zone=public --add-port=22/tcp --add-port=80-100/tcp

#位指定域中删除允许访问的端口
# firewall-cmd --zone=public --remove-port=22/tcp --remove-port=80-100/tcp

如果执行命令显示success但是效果没有出现,使用firewall-cmd --reload

firewalld 端口映射

# 设置禁止来源IP为192.168.100.134的ip地址访问
# firewall-cmd --add-source=192.168.100.134/24 --zone=drop --类似于iptables中
DROP
# firewall-cmd --add-source=192.168.100.134/24 --zone=block --类似于iptables中
REJECT

# 设置允许来源IP为192.168.100.134的ip地址访问
# firewall-cmd --add-source=192.168.100.134/24 --zone=trusted

# 地址转发端口映射
# firewall-cmd --zone=public --add-forward-port=port=80:proto=tcp:toport=8080


# firewall-cmd --zone=public --remove-forward-port=port=80:proto=tcp:toport=80:toaddr=192.168.100.134
(在访问添加了这个规则的ip的数据包会转发到192.168.100.134的80端口)

        当你修改了http配置文件(改端口为8080,并且重启了httpd),也添加了转发端口映射,查看服务也有http服务,为什么curl还是不通?

          因为没对外没有提供相应的8080端口;


            虽然系统起的是8080端口,但是对外来说我们的端口是80端口,必须通过80端口连进来,在、才能经过映射访问到8080端口;

        所以没添加8080端口,却访问了8080端口是不行的;


   

         如果添加了8080端口,直接用8080端口进行httpd访问,而不是通过连接80端口再经端口映射转发从8080端口进行访问;

富规则 rich-rule

        只用firewalld的服务以及端口进行配置的时候限制比较多;为了解决这一问题,所以用富规则;

# 查看帮助手册
# man 5 firewalld.richlanguage


# 列出富规则
# firewall-cmd --list-rich-rule


# 添加富规则
# firewall-cmd --zone=public --add-rich-rule 'rule family="ipv4" source
address="192.168.100.134" accept'
(添加富规则,允许192.168.100.134访问)

# firewall-cmd --zone=public --add-rich-rule 'rule family="ipv4" source
address="192.168.100.134" port port=22 protocol=tcp reject'
(拒绝来自这个ip的22端口的访问)


# 删除富规则
# firewall-cmd --zone=public --remove-rich-rule 'rule family="ipv4" source
address="192.168.100.134" forward-port port=80 protocol=tcp to-port=8080 '

 请求连接时被拒绝;

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Linux安全管理】Firewalld详解 的相关文章

  • 【C语言】冒泡排序算法和冒泡排序的时间复杂度

    提示 xff1a 冒泡排序算法是非常重要的算法 xff0c 一定要熟练掌握 思路可以参考一位大佬博主的博客 xff1a 帅地 介绍的十分详细 xff0c 理解了之后 xff0c 可以参考我的代码 xff0c 是入门级别的 xff0c 比较好
  • Vbox遇到“Destination host unreachable“问题的解决之法

    在上一篇 虚拟机的网络配置与连接 中 xff0c 有讲述到Vmware遇到Destination host unreachable 问题的解决之法 xff0c 而这一篇文章我将说到Vbox的遇到 34 Destination host un
  • 以太网链路聚合与VRRP

    文章目录 一 以太网链路聚合1 1 链路聚合的含义以及作用1 2 链路聚合的配置 二 VRRP2 1 VRRP概述2 2VRRP术语2 3 VRRP工作原理2 4 VRRP的基本配置2 5VRRP总结 三 总结 一 以太网链路聚合 1 1
  • Ubuntu 20.04 系统迁移

    一 前言 现实工作中需要在Intel NUC上装一个Ubuntu 20 04系统 xff0c 并运行ROS以及相关的很多功能包 xff0c 但如果直接安装新新系统 xff0c 之前的大量环境变量要重新去配置 xff0c 所以考虑说将原先的U
  • 电大计算机考试答案

    中央电大计算机基础考试题库大全 基础知识 单选题 1 自计算机问世至今已经经历了四个时代 xff0c 划分时代的主要依据是计算机的 A 规模 B 性能 C 功能 D 构成元件答案 D 2 当前的计算机一般被认为是第四代计算机 xff0c 它
  • 用opencv识别颜色并输出坐标

    1首先安装opencv pip install opencv python 参考https blog csdn net qq 42114833 article details 128648458 spm 61 1001 2014 3001
  • ROS开发(ubuntu)笔记·1

    学习网址 xff1a Introduction GitBook autolabor com cn b站 xff1a 奥特学园 ROS机器人入门课程 ROS理论与实践 零基础教程 哔哩哔哩 bilibili 创建一个ROS Workspace
  • ROS通信机制~话题通信(Publisher&Subscriber)·笔记2

    系列文章目录 xff1a ROS开发 xff08 ubuntu xff09 笔记 1 嘻 嘻的博客 CSDN博客 ROS通信机制 服务通信 server amp client 笔记3 嘻 嘻的博客 CSDN博客 话题通信 理论模型 xff1
  • SDL2.0在linux/ubuntu系统中更新使用指导

    前言 个人喜好原因 xff0c 写OpenGL的程序都喜欢用SDL做框架 xff0c 没有Qt那么臃肿 xff0c 也没有glut那么坑跌 在不失灵活性的情况下保持了自己的轻量 SDL2 0在今年很早的时候时候就发布了 xff0c 几天就来
  • Tensorflow-gpu安装教程(window11和window10一样)

    1 安装最新版Pycharm xff08 最常见的编译器 xff09 下载官网 xff1a https www jetbrains com pycharm 可以安装到D盘 xff0c 版本免费社区版就行 xff0c 推荐装最新版 2 安装最
  • T265 安装(Realsense SDK和Realsense-ros)

    一 写在前面 硬件配置 xff1a Jeston xavier NX 机载电脑 xff0c 板载6002E 设备如图 xff1a T265双目摄像头 二 Realsense SDK和Realsense ros的介绍 在我看来 xff0c R
  • SysTick 定时器的使用

    手册说明 代码模块 SysTick h ifndef SysTick H define SysTick H include 34 system h 34 void SysTick Init u8 SYSCLK void delay us u
  • FreeRTOS互斥量的实验

    互斥量又称互斥信号量 xff08 本质是信号量 xff09 xff0c 是一种特殊的二值信号量 xff0c 它和 信号量不同的是 xff0c 它支持互斥量所有权 递归访问以及防止优先级翻转的特性 xff0c 用于实现对临界资源的独占式处理
  • FreeRTOS cpu利用率简单介绍

    1 CPU 利用率简介 CPU 使用率其实就是系统运行的程序占用的 CPU 资源 xff0c 表示机器在某段时 间程序运行的情况 xff0c 如果这段时间中 xff0c 程序一直在占用 CPU 的使用权 xff0c 那么可 以认为 CPU
  • 直播的推流与拉流如何在uniapp中实现?

    直播的推流和拉流是实现直播功能的两个关键步骤 xff0c 下面是它们的实现方式 xff1a 推流 xff1a 1 采集视频和音频数据 xff1a 使用摄像头和麦克风等设备 xff0c 采集视频和音频数据 2 编码数据 xff1a 将采集到的
  • Windows下GCC安装和使用

    GCC是由GNU开发的编程语言译器 最近复现代码时需要编译源文件 xff0c 总是报错 xff0c 后来查验报错原因后 xff0c 是由于电脑没能安装GCC C 语言编译器用于把源代码编译成最终的可执行程序 但是本人不是很懂编译原理 xff
  • AUTOSAR——AUTOSAR基础

    一 AUTOSAR AUTOSAR全称为 AUTomotive Open System ARchitecture xff0c 译为 汽车开放系统体系结构 二 AUTOSAR核心思想 1 xff09 提倡 在标准上合作 xff0c 在实现上竞
  • 麦克纳姆轮(麦轮)原理

    一 麦轮原理 麦克纳姆轮 xff1a 简称麦轮 xff0c 由轮毂和围绕轮毂的辊子组成 辊子 xff1a 没有动力的从动小滚轮 麦克纳姆轮辊子轴线和轮毂轴线夹角是45度 A轮 xff08 左旋 xff09 与B轮 xff08 右旋 xff0
  • 数据结构——二叉树的先中后序遍历

    本节内容为Bilibili王道考研 数据结构 P43 P45视频内容笔记 目录 一 二叉树的先中后序遍历 1 先中后序遍历 2 举例 3 先中后序遍历和前中后缀的关系 4 代码实现 5 求遍历序列 6 应用 xff1a 求树的深度 二 二叉
  • Ubuntu下使用sshfs/fusemount挂载/卸载远程目录到本地

    Ubuntu下使用sshfs挂载远程目录到本地 访问局域网中其他Ubuntu机器 在不同机器间跳来跳去 很是麻烦 如果能够把远程目录映射到本地无疑会大大方面使用 xff0c 就像Windows下的网络映射盘一样 在Linux的世界无疑也会有

随机推荐

  • 反向代理解决跨域问题

    为什么会产生跨域 js采用的是同源策略 同源策略是指浏览器的一项安全策略 xff0c 浏览器只允许js代码请求和当前所在服务器域名 xff0c 端口号协议相同的数据接口上的数据 xff0c 这就是同源策略 也就是说当协议 xff0c 域名
  • C++ auto关键字 和 基于范围的for循环 语法糖

    目录 auto关键字基于范围的for循环 auto关键字 在C 43 43 11中 xff0c 规定了一个关键字 xff1a auto 下面看一下auto的用法 xff1a span class token keyword int span
  • ubuntu下ROS2-foxy中安装serial串口包

    1 新开一个终端 ctrl 43 alt 43 t 2 因为ros2中还没有集成serial串口包 xff0c 所以需要第三方下载对应serial串口包 xff0c 新建一个文件夹 xff0c 包名字为第三方库 mkdir Third pa
  • 简单输出一个数组

    简单输出一个数组 xff0c 对于数组 xff0c 我想每一个初始C语言的人 xff0c 刚刚经历过了for循环的喜悦 xff0c switch的喜庆 xff0c for循环的挣扎 因此 xff0c 数组应运而来 xff0c 当头一击 xf
  • 详解strstr函数:查找子字符串函数及其模拟实现

    详解strstr函数 xff1a 在一个字符串中查找另一共字符串是否存在 xff01 对于strstr查找子字符串 xff0c 笔者如果不是对C语言学习的更加深入 xff0c 可能还是不知道有这个函数 xff01 xff01 xff01 之
  • 51--定时器/计数器,串口,中断的巧妙关系

    目录 什么是中断 什么是定时器计数器 什么是串口 开始 直接配置中断 中断 43 定时器 计数器 串口 43 中断 总结 中断查询次序号 xff1a 什么是中断 中断是为使单片机具有对外部或内部随机发生的事件实时处理而设置的 xff0c 中
  • 字符串查找函数Strstr函数的实现(详细易懂)

    首先 xff0c 字符串查找函数是在目的字符串中查找源字符串的首次出现的具体位置 xff0c 若找到了便返回该位置的地址 xff0c 若没有找到 xff0c 则返回空指针NULL char strstr const char arr1 co
  • ROS安装与Rviz的摄像头视频采集与标定

    文章目录 一 ROS的安装与配置1 添加 ROS 软件源 xff0c 将下列命令输入到 Ubuntu 的终端执行2 添加密钥 xff0c 将下列命令输入到 Ubuntu 的终端执行3 安装desktop full4 初始化rostep5 设
  • ros2的基本使用/基础知识——ros2节点

    1 节点是什么 每个节点只负责单独的模块 xff08 例如 xff1a 控制车轮转动 xff1b 从激光雷达处获得数据 xff1b 处理激光雷达的数据 xff1b 负责定位 xff09 照相机 地盘 控制 2 节点之间如何交互 xff1f
  • SSH秘钥登录配置与系统日志管理

    配置 sshd 服务 SSH xff08 Secure Shell xff09 是一种能够以安全的方式提供远程登录的协议 xff0c 也是目前远程管理 Linux 系统 的首选方式 在此之前 xff0c 一般使用 FTP 或 Telnet
  • 关于Ubuntu中Could not get lock /var/lib/dpkg/lock解决方案

    问题现象 xff1a root 64 gvt NUC6CAYH apt get install net tools E Could not get lock var lib dpkg lock frontend open 11 Resour
  • vscode报错vue/multi-word-component-names处理

    vue multi word component names是用于检测当前的组件名称是否使用驼峰或多单词命名 错误截图如下 xff1a 1 可以修改 eslintrc js文件的配置 module exports 61 root true
  • Android SDK的安装步骤

    1 Android SDK下载 https www androiddevtools cn 2 解压Android SDK压缩包 放在没有中文的目录里面 3 打开Android sdk windows文件夹 xff0c 双击SDK manag
  • Apollo control之PID算法

    Apollo studio 官网 xff1a Apollo开发者社区 baidu com 目录 1 PID简介 2 PID调参思路 3 代码 4 解决积分饱和的方法 4 1 IC 积分遇限削弱法 4 2 BC 反馈抑制抗饱和 1 PID简介
  • TCP通信模型(C语言实现)

    大家好 xff0c 我是练习编程时长两年半的个人练习生昆工第一ikun xff0c 今天我们来分享TCP通信模型 xff0c 并且用C语言实现它 目录 一 我们将实现三个示例功能 xff1a 二 TCP服务器搭建流程 xff08 1 xff
  • 场景文本识别中的字符感知采样与校正(Character-Aware Sampling and Rectification for Scene Text Recognition)

    摘要 由于形状和纹理变化较大 xff0c 曲面场景文本识别在多媒体社会中是一项具有挑战性的任务 以前的方法通过等距离采样提取和校正文本行来解决这一问题 xff0c 这忽略了字符级别信息并导致字符失真 为了解决这个问题 xff0c 本文提出了
  • MyBatisPlus中的likeLeft和likeRight

    在使用MyBatisPlus来匹配身份证后6位时遇到了likeLeft和likeRight的问题 xff1a likeLeft时匹配最左边还是匹配最右边 xff1f 所以来一个简单的测试 xff08 通过打印 成功 失败 来判断 xff09
  • 计算机网络第一章总结

    目录 1 1计算机网络再信息时代中的作用 1 2互联网的概述 1 2 1网络 xff0c 互联网和因特网 1 2 2互联网基础结构的三个阶段 1 2 3互联网的标准化工作 1 3互联网的组成 1 3 1三种交换方式 1 4计算机网络的类别
  • Expression #3 of SELECT list is not in GROUP BY clause and contains nonaggregated column……报错的解决办法

    问题原因 xff1a 这个报错是执行有GROUP BY的语句时出现的 原因是MySQL启用了默认的only full group by SQL模式 导致GROUP BY语句报错 解决办法 xff1a 打开mysql的安装目录找到my ini
  • 【Linux安全管理】Firewalld详解

    目录 1 与iptables不同 2 配置防火墙 3 firewalld区域概念 4 filewalld 配置生效 5 firewalld服务 firewalld 端口映射 富规则 rich rule 1 与iptables不同 firew