Linux系统-centos防火墙firewalld详解
Linux系统-centos7.6 防火墙firewalld详解
1 firewalld了解
CentOS 7.6默认的防火墙管理工具是firewalld,它取代了之前的iptables防火墙。firewalld属于典型的包过滤防火墙或称之为网络层防火墙,与iptables一样,都是用来管理防火墙的工具(属于用户态)来定义防火墙的各种规则功能,内部结构都指向netfilter这一强大的网络过滤子系统(属于内核态)以实现包过滤防火墙功能。
firewalld支持动态更新,同时支持IPv4和IPv6,可以通过字符管理工具(Firewall-cmd)和图形化管理工具(Firewall-config)进行管理。它还加入了“区域”(zone)的概念,将所有网络流量分为多个区域(zone),然后根据数据包的源IP地址或传入的网络接口条件等将流量传入相应区域,每个区域都定义了自己打开或者关闭的端口和服务列表。其中默认区域为public。
firewalld基于区域,根据不同的区域来设置不同的规则,从而保证网络的安全。与硬件防火墙的设置相类似。
此外,firewalld提供了支持网络区域所定义的网络链接以及接口安全等级的动态防火墙管理工具,这使得其成为动态的,允许创建、更改和删除规则,而无需在每次更改规则时重新启动防火墙守护程序。
2 firewalld相关命令
2.1 firewalld 启动,状态,开启
[root@zbx-server ~]# systemctl stop firewalld #关闭防火墙
[root@zbx-server ~]# systemctl status firewalld #查看防火墙状态
[root@zbx-server ~]# systemctl start firewalld #开启防火墙
2.2 查看防火墙的配置
[root@zbx-server ~]# firewall-cmd --state
running
[root@zbx-server ~]# firewall-cmd --list-all
public (active)target: defaulticmp-block-inversion: nointerfaces: ens33sources: services: ssh dhcpv6-clientports: protocols: masquerade: noforward-ports: source-ports: icmp-blocks: rich rules:
2.3开放和关闭防火墙端口
[root@zbx-server ~]# firewall-cmd --list-port #查看防火墙端口
[root@zbx-server ~]# firewall-cmd --permanent --add-port=8080/tcp #开放8080端口:--permanent 表示这个规则是永久的,即使重启系统也不会消失,如果你想要临时添加规则而不是永久的,可以去掉 --permanent 参数,这样规则只在当前会话中有效,
重启系统后会失效。;--add-port=80/tcp 表示添加一个允许TCP协议通过端口80的规则
success
[root@zbx-server ~]# firewall-cmd --list-ports #查看防火墙端口,没有生效,需要重新加载--reload才能生效
[root@zbx-server ~]# firewall-cmd --reload #--reload,需要重新加载才能生效
success
[root@zbx-server ~]# firewall-cmd --list-ports #查看防火墙端口
8080/tcp
[root@zbx-server ~]# firewall-cmd --permanent --remove-port=8080/tcp #移除防火墙端口
success
[root@zbx-server ~]# firewall-cmd --reload #重新加载防火墙,使配置生效
success
[root@zbx-server ~]# firewall-cmd --list-ports #查看防火墙端口
2.4 放开某个端口段
[root@zbx-server ~]# firewall-cmd --permanent --zone=public --add-port=1000-2000/tcp
success
[root@zbx-server ~]# firewall-cmd --reload
success
[root@zbx-server ~]# firewall-cmd --list-ports
1000-2000/tcp
2.5 开放和禁止某个IP访问
开放IP:192.168.142.90
禁止IP:10.10.10.8
[root@zbx-server ~]# firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address="192.168.142.90" accept'
success
[root@zbx-server ~]# firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address="10.10.10.8" drop'
success
[root@zbx-server ~]# firewall-cmd --reload
success
[root@zbx-server ~]# firewall-cmd --list-all
public (active)target: defaulticmp-block-inversion: nointerfaces: ens33sources: services: ssh dhcpv6-clientports: 1000-2000/tcpprotocols: masquerade: noforward-ports: source-ports: icmp-blocks: rich rules: rule family="ipv4" source address="192.168.142.90" acceptrule family="ipv4" source address="10.10.10.8" drop
移除以上规则
[root@zbx-server ~]# firewall-cmd --permanent --remove-rich-rule='rule family=ipv4 source address="192.168.142.90" accept'
success
[root@zbx-server ~]# firewall-cmd --permanent --remove-rich-rule='rule family=ipv4 source address="10.10.10.8" drop'
success
[root@zbx-server ~]# firewall-cmd --reload
success
[root@zbx-server ~]# firewall-cmd --list-all
public (active)target: defaulticmp-block-inversion: nointerfaces: ens33sources: services: ssh dhcpv6-clientports: 1000-2000/tcpprotocols: masquerade: noforward-ports: source-ports: icmp-blocks: rich rules: [root@zbx-server ~]#
2.6 放开某个IP段的访问
[root@zbx-server ~]# firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=10.0.0.0/24 accept'
success
[root@zbx-server ~]# firewall-cmd --reload
success
[root@zbx-server ~]# firewall-cmd --list-all
public (active)target: defaulticmp-block-inversion: nointerfaces: ens33sources: services: ssh dhcpv6-clientports: 1000-2000/tcpprotocols: masquerade: noforward-ports: source-ports: icmp-blocks: rich rules: rule family="ipv4" source address="10.0.0.0/24" accept
[root@zbx-server ~]#
2.7 放开某个IP的可访问某个端口
firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address="192.168.142.90" port protocol="tcp" port="22" accept'
2.8 如设置未生效,可尝试直接编辑规则文件,删掉原来的设置规则,重新载入一下防火墙即可
vi /etc/firewalld/zones/public.xml
3 ssh登录限制IP
在/etc/hosts.allow中添加允许ssh登陆的ip或者网段
sshd:183.242.4.225:allow或 sshd:192.168.0.0/24:allow
(其中 192.168.0.16 是你要允许登陆 ssh 的 ip, 或者是一个网段 192.168.0.0/24)

在/etc/hosts.deny添加不允许ssh登陆的IP
sshd:ALL

相关文章:
Linux系统-centos防火墙firewalld详解
Linux系统-centos7.6 防火墙firewalld详解 1 firewalld了解 CentOS 7.6默认的防火墙管理工具是firewalld,它取代了之前的iptables防火墙。firewalld属于典型的包过滤防火墙或称之为网络层防火墙,与iptables一样,都是用来管理防火墙的工具&a…...
零基础都可以本地部署Deepseek R1
文章目录 一、硬件配置需求二、详细部署步骤1. 安装 Ollama 工具2. 部署 DeepSeek-R1 模型3. API使用4. 配置图形化交互界面(可选)5. 使用与注意事项 一、硬件配置需求 不同版本的 DeepSeek-R1 模型参数量不同,对硬件资源的要求也不尽相同。…...
通过Ollama本地部署DeepSeek R1以及简单使用的教程(超详细)
本文介绍了在Windows环境下,通过Ollama来本地部署DeepSeek R1。该问包含了Ollama的下载、安装、安装目录迁移、大模型存储位置修改、下载DeepSeek以及通过Web UI来对话等相关内容。 1、🥇下载Ollama 首先我们到Ollama官网去下载安装包,此处我…...
css实现长尾箭头(夹角小于45度的)
1. 长尾夹角小于45度的箭头 代码 //h5<div class"singleArrow"></div>//css .singleArrow {width: 150px;height: 1px;position: relative;background-color: #15ff00;/* transform: rotate(-40deg); */ /* 旋转角度 */}.singleArrow::after{ // 成品-有…...
封装descriptions组件,描述,灵活
效果 1、组件1,dade-descriptions.vue <template><table><tbody><slot></slot></tbody> </table> </template><script> </script><style scoped>table {width: 100%;border-collapse: coll…...
OC-Block
关于OC中的block作为属性时,为什么要要用copy修饰 property (nonatomic, copy) void (^completionBlock)(void);很多文章包括AI都会给出类似结论 Block 默认分配在栈上,如果没有 copy,当方法退出后,Block 会被销毁。使用 copy 修…...
关于知识蒸馏的概念原理以及常见方法
1. 概念与原理 知识蒸馏的基本定义 知识蒸馏(Knowledge Distillation) 是一种将模型压缩与迁移学习结合的技术:它利用预先训练好的大模型(通常参数量大、精度高、计算开销大)指导一个更轻量(参数量小、推理速度快)的学生模型进行训练,从而在保持模型精度的同时显著减少…...
C++轻量级桌面GUI库FLTK
C轻量级桌面GUI库FLTK Screenshots - Fast Light Toolkit (FLTK) 这里写个备忘录,可以参考一下....
C++20导出模块及使用
1.模块声明 .ixx文件为导入模块文件 math_operations.ixx export module math_operations;//模块导出 //导出命名空间 export namespace math_ {//导出命名空间中函数int add(int a, int b);int sub(int a, int b);int mul(int a, int b);int div(int a, int b); } .cppm文件…...
PID 算法简介(C语言)
一、简介: PID是比例、积分、微分三个环节的组合,用来进行反馈控制。每个部分都有对应的系数,也就是Kp、Ki、Kd。PID 算法实现这三个部分的计算,然后综合起来得到控制输出。 二、PID控制器结构体: PID控制器结构体:包含PID参数(Kp, Ki, Kd);存储积分项和上一次误差;…...
Java中的继承及相关概念
在 Java 中,继承是一种允许一个类继承另一个类的特性。通过继承,子类可以获取父类的属性和方法,这有助于减少代码冗余并提高代码的可维护性。以下是关于文件内容的相关分析和知识点总结: 一、继承的核心概念 1.继承的语法 Java …...
语言月赛 202308【小粉兔做麻辣兔头】题解(AC)
》》》点我查看「视频」详解》》》 [语言月赛 202308] 小粉兔做麻辣兔头 题目描述 粉兔喜欢吃麻辣兔头,麻辣兔头的辣度分为若干级,用数字表示,数字越大,兔头越辣。为了庆祝粉兔专题赛 #1 的顺利举行,粉兔要做一些麻…...
云原生后端|实践?
云原生(Cloud Native)是一种构建和运行应用程序的方法,它充分利用云计算的优势,包括弹性、可扩展性、高可用性和自动化运维。云原生后端开发通常涉及微服务架构、容器化、持续集成/持续部署(CI/CD)、服务网…...
GrassWebProxy
GrassWebProxy第一版: using System; using System.Collections.Generic; using System.Linq; using System.Net.Sockets; using System.Net; using System.Text; using System.Threading; using System.Threading.Tasks; using System.IO; using Newtonsoft.Json;…...
6.Python函数:函数定义、函数的类型、函数参数、函数返回值、函数嵌套、局部变量、全局变量、递归函数、匿名函数
1. 函数定义 Python函数通过def关键字定义。一个函数通常包括函数名、参数列表和函数体。 def greet(name):return f"Hello, {name}!"2. 函数的类型 Python中的函数主要有以下几种类型: 普通函数:具有明确的输入参数和返回值。递归函数&am…...
青少年编程与数学 02-008 Pyhon语言编程基础 22课题、类的定义和使用
青少年编程与数学 02-008 Pyhon语言编程基础 22课题、类的定义和使用 一、类类的定义和使用示例 二、定义1. 类定义语法2. 属性和方法3. 构造器和初始化4. 实例化5. 类变量和实例变量6. 类方法和静态方法7. 继承8. 多态总结 三、使用1. 创建类的实例2. 访问属性3. 调用方法4. 修…...
CosyVoice /F5-TTS /GPT-SoVITS /Fish-Speech 开源语音克隆与文本转语音(TTS)项目的对比整理
四个主流开源语音克隆与文本转语音(TTS)项目的对比整理,基于公开资料与实测反馈总结: 项目CosyVoice F5-TTS GPT-SoVITS Fish-Speech 核心技术双向流式语音合成,支持离线与流式一体化建模基于流匹配的ConvNeXt文本表示…...
MySQL基于binlog和gtid主从搭建方案
MySQL基于binlog和gtid主从搭建方案 一.主库配置 1.1 确认 binlog 是否开启 SHOW VARIABLES LIKE %log_bin%; 1.2 创建日志目录并设置权限 mkdir -p /opt/mysql/log_bin chown -R mysql:mysql /usr/local/mysql chmod -R 755 /usr/local/mysql 1.3 修改 my.cnf 配置文件 …...
5 计算机网络
5 计算机网络 5.1 OSI/RM七层模型 5.2 TCP/IP协议簇 5.2.1:常见协议基础 一、 TCP是可靠的,效率低的; 1.HTTP协议端口默认80,HTTPSSL之后成为HTTPS协议默认端口443。 2.对于0~1023一般是默认的公共端口不需要注册,1024以后的则需…...
Vim跳转文件及文件行结束符EOL
跳转文件 gf 从当前窗口打开那个文件的内容,操作方式:让光标停在文件名上,输入gf。 Ctrlo 从打开的文件返回之前的窗口 Ctrlwf 可以在分割的窗口打开跳转的文件,不过在我的实验不是次次都成功。 统一行尾格式 文本文件里存放的…...
基于Uniapp开发HarmonyOS 5.0旅游应用技术实践
一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架,支持"一次开发,多端部署",可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务,为旅游应用带来…...
el-switch文字内置
el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...
【Go】3、Go语言进阶与依赖管理
前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课,做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程,它的核心机制是 Goroutine 协程、Channel 通道,并基于CSP(Communicating Sequential Processes࿰…...
论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)
笔记整理:刘治强,浙江大学硕士生,研究方向为知识图谱表示学习,大语言模型 论文链接:http://arxiv.org/abs/2407.16127 发表会议:ISWC 2024 1. 动机 传统的知识图谱补全(KGC)模型通过…...
Matlab | matlab常用命令总结
常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...
CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云
目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...
Java 二维码
Java 二维码 **技术:**谷歌 ZXing 实现 首先添加依赖 <!-- 二维码依赖 --><dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.5.1</version></dependency><de…...
return this;返回的是谁
一个审批系统的示例来演示责任链模式的实现。假设公司需要处理不同金额的采购申请,不同级别的经理有不同的审批权限: // 抽象处理者:审批者 abstract class Approver {protected Approver successor; // 下一个处理者// 设置下一个处理者pub…...
springboot整合VUE之在线教育管理系统简介
可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生,小白用户,想学习知识的 有点基础,想要通过项…...
Python 训练营打卡 Day 47
注意力热力图可视化 在day 46代码的基础上,对比不同卷积层热力图可视化的结果 import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms from torch.utils.data import DataLoader import matplotlib.pypl…...
