当前位置: 首页 > news >正文

iptables 与 firewalld 防火墙

iptables

iptables 是一款基于命令行的防火墙策略管理工具

四种防火墙策略

ACCEPT(允许流量通过)
流量发送方会看到响应超时的提醒,但是流量发送方无法判断流量是被拒绝,还是接收方主机当前不在线
REJECT(拒绝流量通过)
流量发送方会看到端口不可达的响应
LOG (记录日志信息)
DROP(拒绝流量通过)

iptables 中常用的参数以及作用

-P
设置默认策略
-F
清空规则链
-L
查看规则链
-A
在规则链的末尾加入新规则
-I num
在规则链的头部加入新规则
-D num
删除某一条规则
-s
匹配来源地址 IP/MASK ,加叹号“ ! ”表示除这个 IP
-d
匹配目标地址
-i 网卡名称
匹配从这块网卡流入的数据
-o 网卡名称
匹配从这块网卡流出的数据
-p
匹配协议,如 TCP UDP ICMP
--dport num
匹配目标端口号
--sport num
匹配来源端口号

实验:

把INPUT规则链的默认策略设置为拒绝

[root@linuxprobe~]# iptables -P INPUT DROP

向INPUT链中添加允许ICMP流量进入的策略

[root@linuxprobe~]# iptables -I INPUT -p icmp -j ACCEPT

将INPUT链设置为只允许指定网段的主机访问本机的22端口

[root@linuxprobe~]# iptables -I INPUT -s 192.168.10.0/24 -p tcp --dport 22 -j ACCEPT
[root@linuxprobe~]# iptables -A INPUT -p tcp --dport 22 -j REJECT

向INPUT规则链中添加拒绝所有人访问本机12345端口的策略规则

[root@linuxprobe~]# iptables -I INPUT -p tcp --dport 12345 -j REJECT
想让配置的防火墙策略永久生效,还要执行保存命令
[root@linuxprobe~]# iptables-save

firewalld

firewalld服务是默认的防火墙配置管理工具,它拥有 基于 CLI(命令行界面)和基于 GUI (图形用户界面)的两种管理方式。

firewalld 中常用的区域名称及策略规则

trusted
允许所有的数据包
home
拒绝流入的流量,除非与流出的流量相关;而如果流量与 ssh mdns ipp-client 、 smba-client、 dhcpv6-client 服务相关,则允许流量
internal
等同于 home 区域
work
拒绝流入的流量,除非与流出的流量相关;而如果流量与 ssh ipp-client dhcpv6-client 服务相关,则允许流量
public
拒绝流入的流量,除非与流出的流量相关;而如果流量与 ssh dhcpv6-client 服务相关, 则允许流量
external
拒绝流入的流量,除非与流出的流量相关;而如果流量与 ssh 服务相关,则允许流量
dmz
拒绝流入的流量,除非与流出的流量相关;而如果流量与 ssh 服务相关,则允许流量
block
拒绝流入的流量,除非与流出的流量相关
drop
拒绝流入的流量,除非与流出的流量相关

基于CLI(命令行界面)

firewall-cmd firewalld 防火墙配置管理工具的 CLI (命令行界面)版本,它的参数一般都是
以“长格式”来提供的。

firewall-cmd 命令中使用的参数以及作用

--get-default-zone
查询默认的区域名称
--set-default-zone=< 区域名称>
设置默认的区域,使其永久生效
--get-zones
显示可用的区域
--get-services
显示预先定义的服务
--get-active-zones
显示当前正在使用的区域与网卡名称
--add-source=
将源自此 IP 或子网的流量导向指定的区域
--remove-source=
不再将源自此 IP 或子网的流量导向某个指定区域
--add-interface=< 网卡名称>
将源自该网卡的所有流量都导向某个指定区域
--change-interface=<网卡名称>
将某个网卡与区域进行关联
--list-all
显示当前区域的网卡配置参数、资源、端口以及服务等信息
--list-all-zones
显示当前区域的网卡配置参数、资源、端口以及服务等信息
--add-service=< 服务名 >
设置默认区域允许该服务的流量
--add-port=< 端口号 / 协议 >
设置默认区域允许该端口的流量
--remove-service=< 服务名>
设置默认区域不再允许该服务的流量
--remove-port=< 端口号 / 协议>
设置默认区域不再允许该端口的流量
--reload
让“永久生效”的配置规则立即生效,并覆盖当前的配置规则
--panic-on
开启应急状况模式
--panic-off
关闭应急状况模式
使用 firewalld 配置的防火墙策略默认为 运行时(Runtime)模式 ,又称为当前生效模式,而且会随着系统的重启而失效。如果想让 配置策略一直存在,就需要使用 永久(Permanent)模式 了,方法就是在用 firewall-cmd 命令 正常设置防火墙策略时添加--permanent 参数
Runtime:当前立即生效,重启后失效。
Permanent:当前不生效,重启后生效。

 实验

查看firewalld服务当前所使用的区域。

[root@linuxprobe~]# firewall-cmd --get-default-zone
public

查询指定网卡在firewalld服务中绑定的区域。

[root@linuxprobe~]# firewall-cmd --get-zone-of-interface=ens160
public

把网卡默认区域修改为external,并在系统重启后生效。

[root@linuxprobe~]# firewall-cmd --permanent --zone=external --change-interface=ens160
The interface is under control of NetworkManager, setting zone to 'external'.
success
[root@linuxprobe~]# firewall-cmd --permanent --get-zone-of-interface=ens160
external

把firewalld服务的默认区域设置为public。

[root@linuxprobe~]# firewall-cmd --set-default-zone=public
Warning: ZONE_ALREADY_SET: public
success
[root@linuxprobe~]# firewall-cmd --get-default-zone
public
[root@linuxprobe~]# firewall-cmd --get-zone-of-interface=ens160
externa

启动和关闭firewalld防火墙服务的应急状况模式。

[root@linuxprobe~]# firewall-cmd --panic-on
success
[root@linuxprobe~]# firewall-cmd --panic-off
success

查询SSH和HTTPS协议的流量是否允许放行。

[root@linuxprobe~]# firewall-cmd --zone=public --query-service=ssh
yes
[root@linuxprobe~]# firewall-cmd --zone=public --query-service=https
no

把HTTPS协议的流量设置为永久允许放行,并立即生效。

[root@linuxprobe~]# firewall-cmd --permanent --zone=public --add-service=https
success
[root@linuxprobe~]# firewall-cmd --zone=public --query-service=https
no

把HTTP协议的流量设置为永久拒绝,并立即生效。

[root@linuxprobe~]# firewall-cmd --permanent --zone=public --remove-service=http
Warning: NOT_ENABLED: http
success
[root@linuxprobe~]# firewall-cmd --reload
success

把访问8080和8081端口的流量策略设置为允许,但仅限当前生效。

[root@linuxprobe~]# firewall-cmd --zone=public --add-port=8080-8081/tcp
success
[root@linuxprobe~]# firewall-cmd --zone=public --list-ports
8080-8081/tcp

把原本访问本机888端口的流量转发到22端口,要且求当前和长期均有效。

firewall-cmd --permanent =-zone=<区域>,--add-forward-port=port=<源端口号>:proto=
<协议>:toport=<目标端口号>:toaddr=<目标IP地址>

[root@linuxprobe~]# firewall-cmd --permanent --zone=public --add-forward-port=port=888:proto=tcp:toport=22:toaddr=192.168.10.10
success
[root@linuxprobe~]# firewall-cmd --reload
success


富规则的设置

富规则也叫复规则,表示更细致、更详细的防火墙策略配置,它可以针对系统服务、端口号、源地址和目标地址等诸多信息进行更有针对性的策略配置。它的优先级在所有的防火墙策略中也是最高的。
拒绝
192.168.10.0/24 网段的所有用户访问本机的 ssh 服务( 22 端口):
[root@linuxprobe~]# firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="192.168.10.0/24" service name="ssh" reject"
success
[root@linuxprobe~]# firewall-cmd --reload
success
在客户端使用 ssh 命令尝试访问 192.168.10.10 主机的 ssh 服务( 22 端口):
[root@client A~]# ssh 192.168.10.10
Connecting to 192.168.10.10:22...
Could not connect to '192.168.10.10' (port 22): Connection failed.

基于 GUI(图形用户界面)

firewall-config是 firewalld 防火墙配置管理工具的 GUI(图形用户界面)版本,几 乎可以实现所有以命令行来执行的操作

#yum install firewall-config   #下载工具
#firewall-config       #使用

linux系统中firewalld防火墙管理工具firewall-config:

http://t.csdnimg.cn/26a6yicon-default.png?t=N7T8http://t.csdnimg.cn/26a6y

相关文章:

iptables 与 firewalld 防火墙

iptables iptables 是一款基于命令行的防火墙策略管理工具 四种防火墙策略&#xff1a; ACCEPT&#xff08;允许流量通过&#xff09; 流量发送方会看到响应超时的提醒&#xff0c;但是流量发送方无法判断流量是被拒绝&#xff0c;还是接收方主机当前不在线 REJECT&#xff08…...

Taskflow:异步任务(Asynchronous Tasking)

简单使用 tf::Executor 提供了异步执行Task的操作tf::Executor::async&#xff0c;并返回Future&#xff0c;用于保留该函数调用的结果。 #include <taskflow/taskflow.hpp>void print_str(char const* str) {std::cout << str << std::endl; }int main() …...

学习鸿蒙基础(9)

目录 一、鸿蒙国际化配置 二、鸿蒙常用组件介绍 三、鸿蒙像素单位介绍 四、鸿蒙布局介绍 1、Row与Column线性布局 2、层叠布局-Stack 3、弹性布局 4、栅格布局 5、网格布局 一、鸿蒙国际化配置 base目录下为默认的string。en_US对应美国的。zh_CN对应中国的。新增一个s…...

spring boot的小数位丢失.00 或者.0

1、背景 在使用spring boot时&#xff0c;前端的界面展示的数据是2 &#xff0c;在数据库中存储的是小数。但是导出Excel的时候数据是 2.00 。奇了怪了为啥会不一样&#xff0c;数据都是一样的没有做过处理。 2、排查问题 经过层层的debug 发现数据库返回的数据是2.00&#x…...

nginx如何清理页面缓存

在 Nginx 中&#xff0c;清理页面缓存通常涉及配置缓存头以控制缓存行为&#xff0c;或者使用外部工具或机制来清除缓存。以下是一些建议来管理和清理 Nginx 的页面缓存&#xff1a; 配置缓存头&#xff1a; Nginx 本身不直接提供缓存机制&#xff0c;但可以通过配置 proxy_cac…...

深度学习pytorch——经典卷积网络之ResNet(持续更新)

错误率前五的神经网络&#xff08;图-1&#xff09;&#xff1a; 图-1 可以很直观的看到&#xff0c;随着层数的增加Error也在逐渐降低&#xff0c;因此深度是非常重要的&#xff0c;但是学习更好的网络模型和堆叠层数一样简单吗&#xff1f;通过实现表明&#xff08;图-2&…...

react 面试题(2024 最新版)

1. 对 React 的理解、特性 React 是靠数据驱动视图改变的一种框架&#xff0c;它的核心驱动方法就是用其提供的 setState 方法设置 state 中的数据从而驱动存放在内存中的虚拟 DOM 树的更新 更新方法就是通过 React 的 Diff 算法比较旧虚拟 DOM 树和新虚拟 DOM 树之间的 Chan…...

JVM(三)——字节码技术

三、字节码技术 1、类文件结构 一个简单的 HelloWorld.java package com.mysite.jvm.t5; // HelloWorld 示例 public class HelloWorld {public static void main(String[] args) {System.out.println("hello world");} }执行 javac -parameters -d . HellowWorld.…...

HarmonyOS 应用开发之Stage模型绑定FA模型ServiceAbility

本小节介绍Stage模型的两种应用组件如何绑定FA模型ServiceAbility组件。 UIAbility关联访问ServiceAbility UIAbility关联访问ServiceAbility和UIAbility关联访问ServiceExtensionAbility的方式完全相同。 import common from ohos.app.ability.common; import hilog from o…...

高效解决Visual Studio无法识别到自定义头文件

文章目录 问题解决方案 问题 说明你没有好好配置项目属性 解决方案 把头文件都集中存放到一个文件夹里 之后我会持续更新&#xff0c;如果喜欢我的文章&#xff0c;请记得一键三连哦&#xff0c;点赞关注收藏&#xff0c;你的每一个赞每一份关注每一次收藏都将是我前进路…...

[数据集][目标检测]道路行人车辆坑洞锥形桶检测数据集VOC+YOLO格式6275张4类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;6275 标注数量(xml文件个数)&#xff1a;6275 标注数量(txt文件个数)&#xff1a;6275 标注…...

风险与收益

风险与收益 影响资产需求的主要因素财富总量预期收益率资产的流动性影响流动性的主要因素 风险 如何降低风险系统风险和非系统风险机会集合与有效集合资产组合理论 影响资产需求的主要因素 影响资产需求的主要因素包括&#xff1a;财富总量、预期收益率、资产的流动性和风险。…...

linux服务器安装mysql8

1.下载MYSQL 近几天在linux服务器已安装过2次mysql8&#xff0c;亲测有效&#xff0c;没有遇到任何问题&#xff0c;文档已写的很清楚&#xff0c;按步骤来即可。如果按文档有遇到要使用yum命令的话&#xff0c;需要服务器开通外网。 1.1官网下载 进入官网下拉到最后&#x…...

亚信安全荣获2023年度5G创新应用评优活动两项大奖

近日&#xff0c;“关于2023 年度5G 创新应用评优活动评选结果”正式公布&#xff0c;亚信安全凭借在5G安全领域的深厚积累和创新实践&#xff0c;成功荣获“5G技术创新的优秀代表”和“5G应用创新的杰出实践”两项大奖。 面向异构安全能力的5G安全自动化响应系统 作为5G技术创…...

linux之忘记root密码

一&#xff0c;开机到如下地方按下e进入紧急模式 然后再如下位置输入init/bin/bash 然后Ctrlx 二&#xff0c; 修改密码 以上操作分别为 1&#xff09;&#xff0c;重新挂载根目录 mount -o remount,rw / 2&#xff09;&#xff0c;修改密码 passwd root 3&#xff09;&a…...

jspm智能仓储系统

开发语言&#xff1a;Java 框架&#xff1a;ssm 技术&#xff1a;JSP JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09; 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;eclipse/myeclip…...

深入理解数据结构(3):栈和队列详解

文章主题&#xff1a;顺序表和链表详解&#x1f331;所属专栏&#xff1a;深入理解数据结构&#x1f4d8;作者简介&#xff1a;更新有关深入理解数据结构知识的博主一枚&#xff0c;记录分享自己对数据结构的深入解读。&#x1f604;个人主页&#xff1a;[₽]的个人主页&#x…...

单例设计模式(3)

单例模式&#xff08;3&#xff09; 实现集群环境下的分布式单例类 如何理解单例模式中的唯一性&#xff1f; 单例模式创建的对象是进程唯一的。以springboot应用程序为例&#xff0c;他是一个进程&#xff0c;可能包含多个线程&#xff0c;单例代表在这个进程的某个类是唯一…...

将jupyter notebook文件导出为pdf(简单有效)

1.打开jupyter notebook笔记&#xff1a; 2.点击file->print Preview 3.在新打开的页面右键打印 4.另存为PDF 5.保存即可 6.pdf效果 &#xff08;可能有少部分图片显示不了&#xff09; 网上也有其他方法&#xff0c;比如将其转换为.tex再转为PDF等&#xff0c;但个人觉…...

使用INSERT INTO ... ON DUPLICATE KEY UPDATE批量插入更新导入excel数据的实践场景应用

INSERT INTO ... ON DUPLICATE KEY UPDATE 是 MySQL 中的一个非常有用的语法&#xff0c;它允许你在插入新记录时&#xff0c;如果记录的唯一键&#xff08;如主键或唯一索引&#xff09;已存在&#xff0c;则执行更新操作而不是插入。这可以帮助你避免在插入数据时产生的重复键…...

AJAX-项目优化(目录、基地址、token、请求拦截器)

目录管理 基地址存储 在utils/request.js配置axios请求基地址 作用&#xff1a;提取公共前缀地址&#xff0c;配置后axios请求时都会baseURLurl 填写API的公共前缀后&#xff0c;将js文件导入到html文件中 <script src"../../utils/request.js"></script&…...

SQLite中的动态内存分配(五)

返回&#xff1a;SQLite—系列文章目录 上一篇&#xff1a;SQLite中的原子提交&#xff08;四&#xff09; 下一篇:自己编译SQLite或将SQLite移植到新的操作系统&#xff08;六&#xff09; ​概述 SQLite使用动态内存分配来获得 用于存储各种对象的内存 &#xff08;例如…...

快速上手Spring Cloud 十一:微服务架构下的安全与权限管理

快速上手Spring Cloud 一&#xff1a;Spring Cloud 简介 快速上手Spring Cloud 二&#xff1a;核心组件解析 快速上手Spring Cloud 三&#xff1a;API网关深入探索与实战应用 快速上手Spring Cloud 四&#xff1a;微服务治理与安全 快速上手Spring Cloud 五&#xff1a;Spring …...

如何简化多个 if 的判断结构

多少算太多&#xff1f; 有些人认为数字就是一&#xff0c;你应该总是用至少一个三元运算符来代替任何单个 if 语句。我并不这样认为&#xff0c;但我想强调一些摆脱常见的 if/else 意大利面条代码的方法。 我相信很多开发人员很容易陷入 if/else 陷阱&#xff0c;不是因为其…...

发掘服务器硬件优势:怎样有效管理、维护、更新

1. 概述 服务器是许多信息技术的核心&#xff0c;通过提供计算和存储资源&#xff0c;以用于企业和机构的数据处理和存储。服务器硬件也是服务器的核心组成部分&#xff0c;在服务器架构和配置中扮演着重要角色。 服务器硬件的优势&#xff1a; - 提供更高的性能和处理能力。…...

SD卡备份和烧录ubuntu20.04镜像

设备及系统&#xff1a;nuc幻影峡谷工控机&#xff0c;ubuntu20.04&#xff0c;树莓派4B&#xff0c;SD卡读卡器 一、确定SD卡设备号的两种方法 方法1&#xff1a; 将有ubuntu镜像的SD卡插入读卡器&#xff0c;再将读卡器插入电脑主机&#xff0c;在 工具 中打开 磁盘&#…...

短视频账号矩阵系统/开发 -- -- -- 蒙太奇算法上线

短视频账号矩阵系统&#xff0c;短视频矩阵系统开发3年技术之路&#xff0c;目前已经在技术竞品出沉淀出来&#xff0c;近期技术迭代的新的功能同步喽&#xff1a; php7.4版本&#xff0c;自研框架&#xff0c;有开发文档&#xff0c;类laravel框架 近期剪辑迭代的技术算法&am…...

Docker Stack(堆栈) 部署多服务集群,多服务编排

1、Docker Stack简介 Docker Stack(堆栈) 是在 Swarm 上管理服务堆栈的工具。而在以前文章docker swarm集群搭建 介绍的 Docker Swarm 只能实现对单个服务的简单部署&#xff0c;于是就引出了Docker Stack。 上面我们介绍到 docker-compose&#xff1a;可以在一台机器上使用…...

全国青少年软件编程(Scratch)等级考试二级考试真题2023年12月——持续更新.....

青少年软件编程(图形化)等级考试试卷(二级) 分数:100 题数:37 一、单选题(共25题,共50分) 1.在制作推箱子游戏时,地图是用数字形式储存在电脑里的,下图是一个推箱子地图,地图表示如下: 第一行(111111) 第二行(132231) 第三行(126621) 第四行( ) 第五行(152…...

python基础——异常捕获【try-except、else、finally】

&#x1f4dd;前言&#xff1a; 这篇文章主要介绍一下python基础中的异常处理&#xff1a; 1&#xff0c;异常 2&#xff0c;异常的捕获 3&#xff0c;finally语句 &#x1f3ac;个人简介&#xff1a;努力学习ing &#x1f4cb;个人专栏&#xff1a;C语言入门基础以及python入门…...

wordpress仿链家/郑州seo技术顾问

我浏览了一个关于使用Tkinter的教程&#xff0c;看到了以下代码&#xff1a;>>> from Tkinter import *>>> winTk()这将生成一个标题为Tk的框&#xff0c;而没有其他内容。但是&#xff0c;当我尝试此代码时&#xff0c;不会出现这样的框。我没有发现任何错误…...

利用已有网站 制作/安卓优化大师hd

话说C语言是很多语言学习的基础&#xff0c;理解并掌握好了C语言的一些语法规则&#xff0c;对于以后学习或者说自学其他语言&#xff0c;可以节省不少的时间。下面我们就来了解C语言程序当中的结构体知识点。结构体的定义形式如下&#xff1a;struct 结构体名{结构体成员}&…...

网站制作网站建设单位/seo运营经理

我们在使用 Redis 的时候&#xff0c;会需要获取以某个字符串开头的所有 key 批量获取 key 根据前缀获取 key 代码如下&#xff1a; /*** 根据前缀获取所有的key* 例如&#xff1a;pro_**/ public Set<String> getListKey(String prefix) {Set<String> keys r…...

wordpress设置固定链接/推广公司产品

使用LINQ to SQL设计器设计Northwind数据库的五个类&#xff08;Product&#xff0c;Category&#xff0c;Customer&#xff0c;Order和OrderDetail&#xff09;的时候&#xff0c;每个类中的属性都映射了相应数据库中表的列&#xff0c;每个类的实例则代表了数据库表中的一条记…...

营销型网站建设软件/免费网站推广群发软件

工作回顾前几天&#xff0c;我在公园里进行了一次冲刺回顾。 阳光普照&#xff0c;我们所有人都在努力完成积压工作&#xff0c;因此&#xff0c;这对每个人的努力都是一种不错的回报。 在户外举行回顾展也可以使它充满活力和热情&#xff0c;而这在小房间里很难找到。 我以前…...

他达拉非副作用/泉州百度关键词优化

前言 锁是一种用来控制多线程访问共享资源的工具。通常&#xff0c;锁可以独占共享资源&#xff1a;同一时间只有一个线程可以获得锁&#xff0c;并且所有访问共享资源的线程都必须首先获得锁。前面我们介绍过了synchronized&#xff0c;使用synchronized的方法和代码块作用域…...