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

iptables 防火墙配置
查看规则链
iptables -L

清空规则链
iptables -F

由于我们没有配置规则链,所以本来就是空的。
设置默认规则将流入的流量丢弃
iptables -P INPUT DROP

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

允许ICMP协议流量通过
iptables -I INPUT -p icmp -j ACCEPT

source表示源,不管从任何地方来的ICMP协议都允许通过。
测试网络连通性,发现可以ping通。

虽然可以ping通,但是SSH还是无法连接不,因为没有设置允许TCP协议流量通过。(SSH协议用的是TCP协议)
删除默认策略
iptables -D INPUT 1

可以看到模式是DROP
说明:1 表示规则的编号,这里指的是第 1 条规则。
允许所以流量通过
iptables -P INPUT ACCEPT

这样SSH就可以连接了

设置将所有流入22端口的流量全部拒绝
iptables -A INPUT -p tcp --dport 22 -j REJECT

命令执行后,SSH就无法连接了。
查看配置的规则

允许指定网段的22端口通过
iptables -I INPUT -s 192.168.188.0/24 -p tcp --dport 22 -j ACCEPT
该命令的含义是进入22端口所有的TCP流量只能允许192.168.188.0网段通过。

注意:防火墙的匹配规则是从上往下进行匹配的。
说明:流量进入后,先匹配第一个规则,查看是否属于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

在input链中添加某个IP拒绝访问某个端口
iptables -A INPUT -p tcp -s 192.168.188.1 --dport 8080 -j REJECT

这样192.168.188.1这个ip地址就无法访问8080端口。
在redhat8中部署http服务
python3 -m http.server 8080

然后在真实机中无法访问

在新开启的kali中可以访问

禁用指定的端口范围内的TCP数据包进入服务器
iptables -A INPUT -p tcp --dport 8000:9000 -j REJECT

保存规则
在重启虚拟机后设置的规则都会消失,所以我们需要保存设置好的规则。
在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---拓扑排序
一、拓扑排序的定义: 先引用一段百度百科上对于拓扑排序的定义: 对一个有向无环图 ( Directed Acyclic Graph 简称 DAG ) G 进行拓扑排序,是将 G 中所有顶点排成一个线性序列,使得图中任意一对顶点 u 和 v ,若边 <…...
STM32CubeMX systick bug?
发觉用新版(V6.9.1)的它生成代码,会有问题。可能是 BUG。具体如下: 一个简单的点灯程序,用 Keil MDK 5.38a(compiler version 6)编译。 如果在变量前,不加上关键字“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,XtAny π \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,但是不知道到在vs里面build时一直报错,后面换了4.7.0的版本测试,安装成功。 Release OpenCV 4.5.4 opencv/opencv GitHub 这个里面有官方预编译好的OpenCV库,可以直接食用。 扩展包&am…...
基于减法优化SABO优化ELM(SABO-ELM)负荷预测(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
记录第一个启动代码的诞生
核使用R52,参考汇编模板,一步一步来实现。 首先是ld文件,这个没啥好说的,主要是关注给vector_table划一块地址、stack地址,如下: .text.intvec :{_vectors_start .;KEEP(*(.text.intvec))_vectors_end .;…...
基于STM32的简化版智能手表
一、前言 本文的OLED多级菜单UI为一个综合性的STM32小项目,使用多传感器与OLED显示屏实现智能终端的效果。项目中的多级菜单UI使用了较为常见的结构体索引法去实现功能与功能之间的来回切换,搭配DHT11,RTC,LED,KEY等器…...
揭秘弹幕游戏制作
最近好多人问弹幕游戏,甚至是招人的也要DOTS做弹幕游戏... 实际上目前的弹幕游戏绝大多数应该和DOTS没有半点关系,别忘了DOTS这项技术渲染问题还没能够被合理解决呢 所以目前用的全都是GPU Instance这项技术,于是乎我决定下场写这篇帖子&am…...
2327. 知道秘密的人数;1722. 执行交换操作后的最小汉明距离;2537. 统计好子数组的数目
2327. 知道秘密的人数 核心思想:动态规划,每天的人可以分为三种,可分享秘密的人,不可分享秘密的人,忘记秘密的人。定义f[i]为第i天可分享秘密的人,那么第(idelay ,iforget)天,会增加f[i]个可分…...
【TCPDF】使用TCPDF导出PDF文件
目录 一、安装TCPDF类库 二、安装字体 三、使用TCPDF导出PDF文件 目的:PHP通过TCPDF类库导出文件为PDF。 开发语言及类库:ThinkPHP、TCPDF 效果图如下 一、安装TCPDF类库 在项目根目录使用composer安装TCPDF,安装完成后会在vendor目录下…...
MacBook苹果电脑重装、降级系统
1、下载balenaEtcher镜像启动盘制作工具 https://tails.net/etcher/balenaEtcher-portable.exe 2、选择从文件烧录选择下载好的Mac 镜像文件 百度网盘 请输入提取码(Mac OS 10.10-12版本镜像文件) 第二步选择目标磁盘,这里需要准备一块1…...
Java 解决long类型数据在前后端传递失真问题
问题:雪花算法的id长度为19位,前端能够接收的数字最多只能是16位的,因此就会造成精度丢失,得到的ID不是真正的ID。 解决: 在拦截器中加入Long类型转换,返回给前端string package io.global.iot.common.c…...
IDEA的快捷键大全
快捷键 说明 IntelliJ IDEA 的便捷操作性,快捷键的功劳占了一大半,对于各个快捷键组合请认真对待。IntelliJ IDEA 本身的设计思维是提倡键盘优先于鼠标的,所以各种快捷键组合层出不穷,对于快捷键设置也有各种支持,对…...
简单记一下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…...
基于大模型的 UI 自动化系统
基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...
大型活动交通拥堵治理的视觉算法应用
大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动(如演唱会、马拉松赛事、高考中考等)期间,城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例,暖城商圈曾因观众集中离场导致周边…...
TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案
一、TRS收益互换的本质与业务逻辑 (一)概念解析 TRS(Total Return Swap)收益互换是一种金融衍生工具,指交易双方约定在未来一定期限内,基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...
Java面试专项一-准备篇
一、企业简历筛选规则 一般企业的简历筛选流程:首先由HR先筛选一部分简历后,在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如:Boss直聘(招聘方平台) 直接按照条件进行筛选 例如:…...
docker 部署发现spring.profiles.active 问题
报错: org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...
GitHub 趋势日报 (2025年06月06日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...
Vue 模板语句的数据来源
🧩 Vue 模板语句的数据来源:全方位解析 Vue 模板(<template> 部分)中的表达式、指令绑定(如 v-bind, v-on)和插值({{ }})都在一个特定的作用域内求值。这个作用域由当前 组件…...
实战设计模式之模板方法模式
概述 模板方法模式定义了一个操作中的算法骨架,并将某些步骤延迟到子类中实现。模板方法使得子类可以在不改变算法结构的前提下,重新定义算法中的某些步骤。简单来说,就是在一个方法中定义了要执行的步骤顺序或算法框架,但允许子类…...
从零开始了解数据采集(二十八)——制造业数字孪生
近年来,我国的工业领域正经历一场前所未有的数字化变革,从“双碳目标”到工业互联网平台的推广,国家政策和市场需求共同推动了制造业的升级。在这场变革中,数字孪生技术成为备受关注的关键工具,它不仅让企业“看见”设…...
渗透实战PortSwigger Labs指南:自定义标签XSS和SVG XSS利用
阻止除自定义标签之外的所有标签 先输入一些标签测试,说是全部标签都被禁了 除了自定义的 自定义<my-tag onmouseoveralert(xss)> <my-tag idx onfocusalert(document.cookie) tabindex1> onfocus 当元素获得焦点时(如通过点击或键盘导航&…...
