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

iptables 防火墙配置

文章目录

  • iptables 防火墙配置
    • 规则链的分类–五链
    • 处理的动作
    • iptables 常用参数和作用
    • iptables 防火墙配置
      • 查看规则链
      • 清空规则链
      • 设置默认规则将流入的流量丢弃
      • 允许ICMP协议流量通过
      • 删除默认策略
      • 允许所以流量通过
      • 设置将所有流入22端口的流量全部拒绝
      • 允许指定网段的22端口通过
      • 设置某个端口的流量全部拒绝(UDP,TCP)
      • 在input链中添加某个IP拒绝访问某个端口
      • 禁用指定的端口范围内的TCP数据包进入服务器
      • 保存规则

iptables 防火墙配置

防火墙就是堵和通的作用。

iptables :包过滤防火墙,是内核防火墙netfilter的管理工具。它可以让系统管理员根据自己的需求定义网络流量的过滤规则,以保护服务器和网络免受潜在的安全威胁。

防火墙是一种位于网络与主机之间的安全屏障,它可以监控和控制进出网络的数据流量。通过 iptables,管理员可以创建一系列规则来控制数据包的流动。每个规则由匹配条件(如源 IP 地址、目标 IP 地址、端口等)和操作指令组成。当数据包经过 Linux 内核时,iptables 会按照预先定义的规则集进行匹配和处理。根据规则的定义,iptables 可以允许、拒绝、丢弃或重定向数据包,以实现对流量的精确控制。

规则链的分类–五链

在进行路由选择前处理的数据包:PREROUTING

处理流入的数据包:INPUT

处理流出的数据包:OUTPUT

处理转发的数据包:FORWARD

在进行路由选择后处理的数据包:POSTROUTING

处理的动作

ACCEPT:允许流量通过。

REJECT:拒绝流量通过,(流量拒绝会通知,会返回流量的拒绝信息)

LOG:记录日志信息。

DROP:拒绝流量通过,丢弃 (直接把流量丢弃,不会返回任何值)

iptables 常用参数和作用

参数作用
-P设置默认策略
-F清空规则链
-L查看规则链
-A在规则链的末尾加入新的规则
-I num在规则链的头部加入新的规则
-D num删除某一条规则链
-s匹配来源的ip/MASK
-d配置目标地址
-i 网卡名称匹配这块网卡流入的数据
-o 网卡名称匹配这块网卡流出的数据
-p匹配协议,例如:TCP,UDP,ICMP
–dport num匹配目标端口号
–sport num匹配来源端口号
-j指定匹配到数据包后的动作,如 ACCEPT、DROP、REJECT等。

实验环境:redhat8 ip:192.168.188.186

在redhat8有iptables和firewalld,这里我们停掉firewalld。

systemctl stop firewalld		# 关闭firewalld防火墙systemctl status firewalld		# 查看firewalld防火墙状态

在这里插入图片描述

设置firewalld为开启不启动。

systemctl disable firewalld

image-20230910144541377

iptables 防火墙配置

查看规则链

iptables -L

image-20230910144941262

清空规则链

iptables -F

image-20230910145137370

由于我们没有配置规则链,所以本来就是空的。

设置默认规则将流入的流量丢弃

iptables -P INPUT DROP

image-20230910145629008

在输入命令后,发现无法输入命令了已经,因为我是通过SSH连接到redhat8中的,流量属于流入的流量,通过设置默认规则后,将流入的流量全部禁掉了,所以无法使用SSH连接了。

并且主机也无法使用ping命令ping通redhat8了。

image-20230910150011882

允许ICMP协议流量通过

iptables -I INPUT -p icmp -j ACCEPT

image-20230910150819617

source表示源,不管从任何地方来的ICMP协议都允许通过。

测试网络连通性,发现可以ping通。

image-20230910150844452

虽然可以ping通,但是SSH还是无法连接不,因为没有设置允许TCP协议流量通过。(SSH协议用的是TCP协议)

删除默认策略

iptables -D INPUT 1

image-20230910151252103

可以看到模式是DROP

说明1 表示规则的编号,这里指的是第 1 条规则。

允许所以流量通过

iptables -P INPUT ACCEPT

image-20230910151750375

这样SSH就可以连接了

image-20230910152141826

设置将所有流入22端口的流量全部拒绝

iptables -A INPUT -p tcp --dport 22 -j REJECT

image-20230910153138656

命令执行后,SSH就无法连接了。

查看配置的规则

image-20230910153356076

允许指定网段的22端口通过

iptables -I INPUT -s 192.168.188.0/24 -p tcp --dport 22 -j ACCEPT

该命令的含义是进入22端口所有的TCP流量只能允许192.168.188.0网段通过。

image-20230910154457295

注意防火墙的匹配规则是从上往下进行匹配的

说明:流量进入后,先匹配第一个规则,查看是否属于192.168.188.0该网段的,如果属于则同意通过。如果不是192.168.188.0该网段的,就会拒绝所有,也就是匹配到了第二个规则。这里设置的效果和白名单一样。

设置某个端口的流量全部拒绝(UDP,TCP)

iptables -A INPUT -p tcp --dport 80 -j REJECT
iptables -A INPUT -p udp --dport 80 -j REJECT

image-20230910155854397

在input链中添加某个IP拒绝访问某个端口

iptables -A INPUT -p tcp -s 192.168.188.1 --dport 8080 -j REJECT

image-20230910160545834

这样192.168.188.1这个ip地址就无法访问8080端口。

在redhat8中部署http服务

python3 -m http.server 8080

image-20230910161115976

然后在真实机中无法访问

image-20230910161150043

在新开启的kali中可以访问

image-20230910161231173

禁用指定的端口范围内的TCP数据包进入服务器

iptables -A INPUT -p tcp --dport 8000:9000 -j REJECT

image-20230910161912096

保存规则

在重启虚拟机后设置的规则都会消失,所以我们需要保存设置好的规则。

在Redhat8中使用的命令

iptables-save

在Centos7/Redhat7中使用的命令

service iptables save

相关文章:

iptables 防火墙配置

文章目录 iptables 防火墙配置规则链的分类–五链处理的动作iptables 常用参数和作用iptables 防火墙配置查看规则链清空规则链设置默认规则将流入的流量丢弃允许ICMP协议流量通过删除默认策略允许所以流量通过设置将所有流入22端口的流量全部拒绝允许指定网段的22端口通过设置…...

面试官:我们深入聊聊Java虚拟机吧

哈喽!大家好,我是奇哥,一位专门给面试官添堵的职业面试员 文章持续更新,可以微信搜索【小奇JAVA面试】第一时间阅读,回复【资料】更有我为大家准备的福利哟! 文章目录 前言面试Java虚拟机内存模型垃圾收集器…...

【电源专题】案例:异常样机为什么只在40%以下电量时与其他样机显示电量差异10%,40%以上电量差异却都在5%以内。

本案例发生在一个量产产品的测试中,因为产品带电池,所以需要测试产品对于电池电量显示的精确程度。产品使用的是最简单的开路电压查表法进行设计。 案例测试报告的问题在于不同样机之间电量百分比存在差异,大部分是在3%~4%之间。但在7.2V电压时,能够差异10%左右。 在文章:…...

React 全栈体系(七)

第四章 React ajax 一、理解 1. 前置说明 React本身只关注于界面, 并不包含发送ajax请求的代码前端应用需要通过ajax请求与后台进行交互(json数据)react应用中需要集成第三方ajax库(或自己封装) 2. 常用的ajax请求库 jQuery: 比较重, 如果需要另外引入不建议使用axios: 轻…...

NVIDIA 显卡硬件支持的精度模式

很多炼丹师不知道自己英伟达显卡支持哪些精度模式,本文整理了NVIDIA官网的数据,为你解开疑惑。 1. 首先了解CUDA计算能力及其支持的精度模式; 2. 查看自己显卡(或其它NVIDIA硬件)的计算能力值为多少。 表1 CUDA计算…...

【Java|golang】210. 课程表 II---拓扑排序

一、拓扑排序的定义&#xff1a; 先引用一段百度百科上对于拓扑排序的定义&#xff1a; 对一个有向无环图 ( Directed Acyclic Graph 简称 DAG ) G 进行拓扑排序&#xff0c;是将 G 中所有顶点排成一个线性序列&#xff0c;使得图中任意一对顶点 u 和 v &#xff0c;若边 <…...

STM32CubeMX systick bug?

发觉用新版&#xff08;V6.9.1&#xff09;的它生成代码&#xff0c;会有问题。可能是 BUG。具体如下&#xff1a; 一个简单的点灯程序&#xff0c;用 Keil MDK 5.38a&#xff08;compiler version 6&#xff09;编译。 如果在变量前&#xff0c;不加上关键字“volatile”&am…...

徐亦达机器学习:Kalman Filter 卡尔曼滤波笔记 (一)

P ( x t P(x_t P(xt​| x t − 1 ) x_{t-1}) xt−1​) P ( y t P(y_t P(yt​| x t ) x_t) xt​) P ( x 1 ) P(x_1) P(x1​)Discrete State DM A X t − 1 , X t A_{X_{t-1},X_t} AXt−1​,Xt​​Any π \pi πLinear Gassian Kalman DM N ( A X t − 1 B , Q ) N(AX_{t-1}B,Q)…...

Java和vue的包含数组组件contains、includes

List<String> tempList Arrays.asList("10018","1007","10017","1012"); if(tempList.contains(initMap.get("asset_type_id").toString())){// todo 计算运营终点桩号-起点桩号BigDecimal diffSum collectNum(col…...

OpenCV_CUDA_VS编译安装

一、OpenCV 我这里是下载的OpenCV4.5.4&#xff0c;但是不知道到在vs里面build时一直报错&#xff0c;后面换了4.7.0的版本测试&#xff0c;安装成功。 Release OpenCV 4.5.4 opencv/opencv GitHub 这个里面有官方预编译好的OpenCV库&#xff0c;可以直接食用。 扩展包&am…...

基于减法优化SABO优化ELM(SABO-ELM)负荷预测(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…...

记录第一个启动代码的诞生

核使用R52&#xff0c;参考汇编模板&#xff0c;一步一步来实现。 首先是ld文件&#xff0c;这个没啥好说的&#xff0c;主要是关注给vector_table划一块地址、stack地址&#xff0c;如下&#xff1a; .text.intvec :{_vectors_start .;KEEP(*(.text.intvec))_vectors_end .;…...

基于STM32的简化版智能手表

一、前言 本文的OLED多级菜单UI为一个综合性的STM32小项目&#xff0c;使用多传感器与OLED显示屏实现智能终端的效果。项目中的多级菜单UI使用了较为常见的结构体索引法去实现功能与功能之间的来回切换&#xff0c;搭配DHT11&#xff0c;RTC&#xff0c;LED&#xff0c;KEY等器…...

揭秘弹幕游戏制作

最近好多人问弹幕游戏&#xff0c;甚至是招人的也要DOTS做弹幕游戏... 实际上目前的弹幕游戏绝大多数应该和DOTS没有半点关系&#xff0c;别忘了DOTS这项技术渲染问题还没能够被合理解决呢 所以目前用的全都是GPU Instance这项技术&#xff0c;于是乎我决定下场写这篇帖子&am…...

2327. 知道秘密的人数;1722. 执行交换操作后的最小汉明距离;2537. 统计好子数组的数目

2327. 知道秘密的人数 核心思想&#xff1a;动态规划&#xff0c;每天的人可以分为三种&#xff0c;可分享秘密的人&#xff0c;不可分享秘密的人&#xff0c;忘记秘密的人。定义f[i]为第i天可分享秘密的人&#xff0c;那么第(idelay ,iforget)天&#xff0c;会增加f[i]个可分…...

【TCPDF】使用TCPDF导出PDF文件

目录 一、安装TCPDF类库 二、安装字体 三、使用TCPDF导出PDF文件 目的&#xff1a;PHP通过TCPDF类库导出文件为PDF。 开发语言及类库&#xff1a;ThinkPHP、TCPDF 效果图如下 一、安装TCPDF类库 在项目根目录使用composer安装TCPDF&#xff0c;安装完成后会在vendor目录下…...

MacBook苹果电脑重装、降级系统

1、下载balenaEtcher镜像启动盘制作工具 https://tails.net/etcher/balenaEtcher-portable.exe 2、选择从文件烧录选择下载好的Mac 镜像文件 百度网盘 请输入提取码&#xff08;Mac OS 10.10-12版本镜像文件&#xff09; 第二步选择目标磁盘&#xff0c;这里需要准备一块1…...

Java 解决long类型数据在前后端传递失真问题

问题&#xff1a;雪花算法的id长度为19位&#xff0c;前端能够接收的数字最多只能是16位的&#xff0c;因此就会造成精度丢失&#xff0c;得到的ID不是真正的ID。 解决&#xff1a; 在拦截器中加入Long类型转换&#xff0c;返回给前端string package io.global.iot.common.c…...

IDEA的快捷键大全

快捷键 说明 IntelliJ IDEA 的便捷操作性&#xff0c;快捷键的功劳占了一大半&#xff0c;对于各个快捷键组合请认真对待。IntelliJ IDEA 本身的设计思维是提倡键盘优先于鼠标的&#xff0c;所以各种快捷键组合层出不穷&#xff0c;对于快捷键设置也有各种支持&#xff0c;对…...

简单记一下Vue router 路由中使用 vue-i18n 进行标题国际化

引入状态管理和国际化文件 import store from ../store import i18n from /configs/i18n使用状态管理设置路由当前国际化选项 // 使用状态管理 i18n.locale store.state.setStore.i18n??zh路由中使用i18n { path: /login, name: login, component: LoginPage, meta: { ti…...

【网络】每天掌握一个Linux命令 - iftop

在Linux系统中&#xff0c;iftop是网络管理的得力助手&#xff0c;能实时监控网络流量、连接情况等&#xff0c;帮助排查网络异常。接下来从多方面详细介绍它。 目录 【网络】每天掌握一个Linux命令 - iftop工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景…...

mongodb源码分析session执行handleRequest命令find过程

mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程&#xff0c;并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令&#xff0c;把数据流转换成Message&#xff0c;状态转变流程是&#xff1a;State::Created 》 St…...

(二)TensorRT-LLM | 模型导出(v0.20.0rc3)

0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述&#xff0c;后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作&#xff0c;其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...

大语言模型如何处理长文本?常用文本分割技术详解

为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...

【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例

文章目录 ★ position 的五种类型及基本用法 ★ 一、position 属性概述 二、position 的五种类型详解(初学者版) 1. static(默认值) 2. relative(相对定位) 3. absolute(绝对定位) 4. fixed(固定定位) 5. sticky(粘性定位) 三、定位元素的层级关系(z-i…...

SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现

摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序&#xff0c;以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务&#xff0c;提供稳定高效的数据处理与业务逻辑支持&#xff1b;利用 uniapp 实现跨平台前…...

CSS设置元素的宽度根据其内容自动调整

width: fit-content 是 CSS 中的一个属性值&#xff0c;用于设置元素的宽度根据其内容自动调整&#xff0c;确保宽度刚好容纳内容而不会超出。 效果对比 默认情况&#xff08;width: auto&#xff09;&#xff1a; 块级元素&#xff08;如 <div>&#xff09;会占满父容器…...

tauri项目,如何在rust端读取电脑环境变量

如果想在前端通过调用来获取环境变量的值&#xff0c;可以通过标准的依赖&#xff1a; std::env::var(name).ok() 想在前端通过调用来获取&#xff0c;可以写一个command函数&#xff1a; #[tauri::command] pub fn get_env_var(name: String) -> Result<String, Stri…...

[论文阅读]TrustRAG: Enhancing Robustness and Trustworthiness in RAG

TrustRAG: Enhancing Robustness and Trustworthiness in RAG [2501.00879] TrustRAG: Enhancing Robustness and Trustworthiness in Retrieval-Augmented Generation 代码&#xff1a;HuichiZhou/TrustRAG: Code for "TrustRAG: Enhancing Robustness and Trustworthin…...

ubuntu22.04 安装docker 和docker-compose

首先你要确保没有docker环境或者使用命令删掉docker sudo apt-get remove docker docker-engine docker.io containerd runc安装docker 更新软件环境 sudo apt update sudo apt upgrade下载docker依赖和GPG 密钥 # 依赖 apt-get install ca-certificates curl gnupg lsb-rel…...