linux 之iptables

news2024/11/25 10:11:07

1.iptables防火墙基本介绍

Linux系统的防火墙:IP信息包过滤系统,它实际上由两个组件 netfilter和 iptables 组成。

主要工作在网络层,针对IP数据包。体现在对包内的IP地址、端口、协议等信息的处理上。

iptables由软件包iptables提供的命令行工具,工作在用户空间,用来编写规则,写好的规则被送往netfilter,告诉内核如何去处理信息包。

2. 四表五链

 iptables是基于内核的防火墙,其中内置了raw、mangle、nat和 filter四个规则表。表中所有规则配置后,立即生效,不需要重启服务。

规则表的作用:容纳各种规则链。
规则链的作用:容纳各种防火墙规则。

四表

raw表∶ 确定是否对该数据包进行状态进行跟踪

mangle表∶为数据包设置标记

nat表∶ 负责网络地址转换,用来修改数据包中的源、目标IP地址或端口。(地址转换)

filter表;负责过滤数据包, 确定是否放行该数据包(过滤)。(是否允许流量通过)

五链

pre-routing : 路由选择前

post-routing 路由选择后

input 进入本机

output 出本机

forward 转发

数据包到达防火墙时,规则表之间的优先顺序:raw >mangle > nat > filter

3. iptables的配置

3.1 安装iptables,并且开启服务。

3.2 iptables防火墙的配置方法

使用iptables命令行管理

iptables  [-t 表名]  管理选项  [链名]  [匹配条件]  [-j 控制类型]

不指定表名时,默认指filter表

不指定链名时,默认指表内的所有链

除非设置链的默认策略,否则必须指定匹配条件

选项、链名、控制类型使用大写字母,其余均为小写

常用控制类型:

控制类型作用
ACCEPT允许数据包通过(默认)
DROP直接丢弃数据包,不给出任何回应信息
REJECT拒绝数据包通过,会给数据发送端一个响应信息
SNAT修改数据包的源地址
DNAT修改数据包的目的地址
MASQUERADE伪装成一个非固定公网IP地址
LOG日志添加备注

常用管理选项:

管理选项作用
-A在指定链的末尾追加(--append)一条新的规则
-I在指定链的开头插入(--insert)一条新的规则,未指定序号时默认作为第一条规则
-R修改、替换(--replace) 指定链中的某一条规则,可指定规则序号或具体内容
-P设置指定链的默认策略(--policy)
-D删除(--delete) 指定链中的某一条规则,可指定规则序号或具体内容
-F清空(--flush)指定链中的所有规则,若未指定链名,则清空表中的所有链
-L列出(--list) 指定链中所有的规则,若未指定链名,则列出表中的所有链
-n使用数字形式(--numeric) 显示输出结果,如显示IP地址而不是主机名
-v显示详细信息,包括每条规则的匹配包数量和匹配字节数
--line-numbers查看规则时,显示规则的序号

列出与清空

列出(filter)表中的所有链  iptables -nvL

清空(filter)表的规则

删除规则

删除默认filter表中INPUT链中第2条规则

添加规则

不允许其他主机ping本机192.168.66.10

不允许其他主机ping通本机,并且不给任何回应。

插入规则

设置默认规则

-P设置了DROP后,使用-F仅仅是清空链中的规则 并不会影响设置的默认规则,
如果使用-F,那么所有的规则清除后,则使用默认策略DROP,将会使远程连接
断连。使用重启服务器解决 systemctl restart iptables 或者重启服务器。

替换规则

规则替换前

4. 规则匹配

规则的匹配是 通用匹配  和  隐含匹配

通用匹配:

可直接使用,不依赖于其他条件或扩展,包括网络协议、IP地址、网络接口等条件。

  • 协议匹配:-p 协议名
  • 地址匹配:-s 源地址、-d 目的地址   可以是IP、网段、域名、空(任何地址)
  • 接口匹配:-i 入站网卡、-o出站网卡
iptables -A FORWARD ! -p icmp -j ACCEPT
iptables -A INPUT -s 192.168.91.101 -j DROP
iptables -I INPUT -i ens33 -s 192.168.91.0/24 -j DROP

iptables -I INPUT -p icmp -j DROP
iptables -A FORWARD ! -p icmp -j ACCEPT           //感叹号”!”表示取反

隐含扩展

要求以特定的协议匹配作为前提,包括端口、TCP标记、ICMP类 型等条件。

[root@localhost ~]#iptables -A INPUT -p tcp  --sport 10000:30000 -j REJECT 
#10000到30000 全部被拒


TCP标记匹配: --tcp-flags TCP标记:SYN,RST,ACK,SYN
[root@localhost ~]#iptables -I INPUT -i ens33 -p tcp --tcp-flags FIN,RST,ACK SYN -j ACCEPT
[root@localhost ~]#iptables -A INPUT -p icmp --icmp-type 8 -j DROP         
#禁止其它主机ping本机

[root@localhost ~]#iptables -A INPUT -p icmp --icmp-type 0 -j ACCEPT 
#允许本机ping其它主机      iptables -A INPUT -p icmp -j DROP

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1267787.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

诊所电子处方范例之配方模板如何添加到处方中操作教程

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 前言 诊所门诊在开电子处方的时候,如果能使用模板一键导入,则可以节…

8个程序员常用的开发工具,各位老铁请收好!

Chat GPT的升级节奏让人们越来越惊讶的同时,也让大家感觉到了压力,在如此快节奏的互联网世界中,开发人员需要不断学习与更新知识,保持领先地位并高效地交付高质量软件。 无论是集成开发环境 (IDE)、版本控制系统、测试工具、协作…

二阶常系数非齐次线性微分方程:类型二

或 (1) (2) 欧拉公式 (3) 设(3)有特解 是(1)的特解 是(2)的特解 例 : 解 所以其通解为 这是属于上一篇提到的第一种情况 其特解 即 简化 -2a1 a-1/2 原方程特解为 原方程通解为 解法二 将 或 改写为 设是特征方程的k重根&a…

VR特警野外武装仿真虚拟训练实操教学保证训练效果

特警VR模拟仿真训练软件的优势主要体现在以下几个方面: 真实感和沉浸感:通过VR技术,特警可以在虚拟环境中体验真实的训练场景,如人质解救、反恐行动等。这种真实感和沉浸感可以帮助特警更好地理解和适应实际情况,提高训…

双指针算法(题目与答案讲解)

文章目录 题目移动零复写零两数之和N数之和(>2个数) 答案讲解移动零复写零两数之和N数之和 题目 力扣 移动零 1、移动零:题目链接 复写零 2、复写零:题目链接 两数之和 3、两数之和题目链接 N数之和(>2个数) 4、N数之和(三个数、四个数) 三个数:题目链接 四个数题目链接…

el-table合并行

需求: 1、”用户任务“中的”代码“需要按照升序进行排列; 2、”用户任务“中连续的”会签“是共用一个序号,并且序号进行合并 效果 解决方法 列表排序一般是前端传值,后端进行排序。由于后端返回的表格列表没有 序号indexNum …

【华为数通HCIP | 网络工程师】821刷题日记-BFD和VRRP 及重点(2)

个人名片: 🐼作者简介:一名大三在校生,喜欢AI编程🎋 🐻‍❄️个人主页🥇:落798. 🐼个人WeChat:hmmwx53 🕊️系列专栏:🖼️…

jmeter多个接口测试

针对接口文档,进行对应接口设计,多个接口设计用例需要使用事物控制器。 1.通过登录接口提取sign值 发送一个登录请求,然后通过正则表达式提取该sign值 正则表达式的使用,我稍后会在下一个博文中详细说明,这边就不多说…

算法中的时间复杂度,空间复杂度

一、前言 算法(Algorithm)是指用来操作数据、解决程序问题的一组方法。对于同一个问题,使用不同的算法,也许最终得到的结果是一样的,但在过程中消耗的资源和时间却会有很大的区别 衡量不同算法之间的优劣主要是通过时…

量子芯片:引领计算技术的新篇章

量子芯片:引领计算技术的新篇章 引言 随着量子计算的飞速发展,量子芯片作为量子计算机的核心组件,日益受到人们的关注。量子芯片的出现,不仅有望推动计算技术的革新,更将在信息安全、药物研发、金融投资等领域掀起巨大的变革。在本篇博客中,我们将深入探讨量子芯片的原理…

windows环境下载安装Nginx并配置防火墙

1、下载Nginx Nginx官网 下载稳定版 2、下载之后,解压 3、启动Nginx,命令:start nginx 最小化该窗口 主要,不要关闭,如果关闭,表示nginx服务关闭了 4、测试是否启动成功 在浏览器中输入http://localhos…

2023.11.26使用opencv调节图片亮度

2023.11.26使用opencv调节图片亮度 测试一些opencv对图片的处理效果,方法比较简单,找出所有像素点,然后将RGB三色的亮度分别进行调节即可,同类可以进行像素级的处理。测试结果和项目代码如下: 使用OpenCV调节图拍亮…

测试必会+面试必问--fiddler参数详解

Fidder抓包是作为测试必须掌握的一项技能。 这篇详细介绍(保姆级)Fiddler在测试中常用的功能。 全文较长(6000字),建议先收藏,需要时再食用。 一、界面简介 先看一下完整的Fiddler界面布局 Fiddler界面…

微信发红包,有哪些测试点

1、功能 1.在红包钱数,和红包个数的输入框中只能输入数字 2.红包里最多和最少可以输入的钱数 200 0.01 3.拼手气红包最多可以发多少个红包 100 3.1超过最大拼手气红包的个数是否有提醒 4.当红包钱数超过最大范围是不是有对应的提示 5.当发送的红包个数超过…

Kubernetes技术与架构-安全性

本文主要从不同层面与多个维度描述Kubernetes技术与架构的安全性。 云原生的安全性 从系统分层架构的角度分析,自底向上,云原生的安全性主要包括云、集群、容器以及代码四个层面,简称云原生4C安全,其架构图如下所示:…

express+multer实现简单的文件上传功能

expressmulter实现简单的文件上传功能 1.安装multer和uuid依赖 cnpm install -S uuid multer2.添加multer的配置文件 在config文件夹下添加uploa.js文件,内容如下: // 引入multer const multer require(multer) // uuid : 用于生成不重复的由英文组…

第20 章 多线程

20.1线程简介. 20.2创建线程 2.1继承Thread类 Thread 类是java.lang包中的一个类,从这个类中实例化的对象代表线程,程序员启动一个新线程需要建立Thread 实例。Thread类中常用的两个构造方法如下: public Thread():创建一个新的线程对象。 public Threa…

BTCPay Server:免费、安全、开源的比特币支付处理器 | 开源日报 No.90

MunGell/awesome-for-beginners Stars: 58.0k License: NOASSERTION 这个项目是一个收集开源项目的列表,旨在帮助初学者找到可以贡献代码的机会。该列表按编程语言分类,并列出了每个项目以及其标签 (如 “good-first-issue”、“beginner” 等)。主要功…

宇宙中可能存在的另外一种生命体-硅基生命

本文提到的所有图片有燧原曜图平台生成提供 概念 碳基:生命的组织架构由碳元素组成(地球的生命)硅基:生命的组织架构由硅元素组成 引言 费米悖论 中提到有存在外星文明的可能,但它们迄今为止还无法和我们接触三体人…

【Java】文件路径-绝对路径与相对路径

1、绝对路径与相对路径 先来看一下绝对路径和相对路径的定义: 绝对路径是指完整的描述文件位置的路径就是绝对路径。如Windows系统中的D:\Project\data\test.txt,MAC系统中的/Users/liuwenwen/Desktop/Project/test.txt 相对路径是指相对于当前文件位置…