详解iptables防火墙

防火墙Firewalld(iptables) 要掌握iptables的四表五链,数据包的匹配流程;学会编写防火墙规则;要了解两个策略的原理;了解一下firewalld的9个区域以及配置方法 阅读详情

1.Linux包过滤防火墙概述

netfilter
	位于linux内核中的包过滤功能体系
	称为linux防火墙的"内核态”
iptables
	位于/sbin/iptables,用来管理防火墙规则的工具
	称为lilnux防火墙的“用户态”
————上述2种称呼都可以表示Linux防火墙

包过滤的工作层次

​ 主要是网络层,针对IP数据包

​ 体现在对包内的IP地址,端口等信息的处理上

在这里插入图片描述

2.iptables的表、链结构

规则链
	规则的作用:对数据包进行过滤或处理
	链的作用:容纳各种防火墙规则
	链的分类依据:处理数据包的不同时机
默认包括5种规则链
	INPUT:处理入站数据包
	OUTPUT:处理出战数据包
	FORWARD:处理转发数据包
	POSTROUTING链:在进行路由选择后处理数据包
	PREROUTING链:在进行路由选择前处理数据包
规则链之间的顺序(重要)
	入站:prerouting-->input
	出站 :output->postrouting
	转发:prerouting->forward->postrouting
规则链内部各防火墙规则之间的顺序
	按顺序依次检查,匹配即停止(log策略例外)
	若找不到相匹配的规则,则按该链的默认策略处理

在这里插入图片描述

规则表
作用及划分依据
	表的作用:容纳各种规则链
	表的划分依据:防火墙规则的作用相似
默认包括4个规则表
	raw表:确认是否对该数据包进行状态跟踪
	mangle表:为数据包设置标记
	nat表:修改数据包中的源、目标IP地址或端口
	filter表:确定是否放行该数据包(过滤)
规则表之间的顺序(重要)
	raw--->mangle-->nat--->filter
表名称功能
filter表用来对数据包过滤,根据具体的规则要求决定如何处理一个数据包filter表对应的内核模块为iptable_filter,表内包含一个连,即INPUT,FORWARD,OUTPUT
nat表nat(网络地址转换)表主要用来修改数据包的ip地址,端口信息,nat表对应的内核模块为iptable_nat,表内包包含三个链,即PREROUTING,postrouting,output
mangle表用来修改数据包的TOS(服务类型)TTL(生存周期),或者为数据包设置Mark标记,已实现流量整形,策略路由等高级应用,mangle表对应的内核模块为iptable_mangle,表内包含五个链,即prerouting,postrouting,input,output,forward
raw表是自1.2.9以后版本的iptables新增的表,主要用来决定是否对数据包进行状态跟踪,raw表对应的内核模块为iptable_raw,表内包含两个链,即output,prerouting

在这里插入图片描述

其中,input ,output链主要用在“主机型防火墙”中,即主要针对服务器本机进行保护的防火墙;而forward, prerouting.postrouting链 多用在“网络型防火墙”中,如使用linux防火墙作为网关服务器,在公司内网与internet之间进行安全控制。

如图所示:
在这里插入图片描述

数据包过滤的匹配流程

数据包过滤的匹配流程示意图
在这里插入图片描述

3.iptables安装

centos 7默认安装的是firewalld防火墙,若想要使用iptables防火墙,必须先关闭firewalld防火墙

关闭firewalld防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
安装iptables防火墙
yum -y install iptables-services
设置iptables开机自启动
systemctl start iptables.service
systemctl enable iptables.services
永久关闭核心防护
vi /etc/selinux/conf
SELINUX=disabled

4.iptables的基本语法

1.语法构成

iptables [-t 表名] 选项 [链名] [条件] [-i 控制类型]
例如:iptables -t filter -I INPUT -p(阻止ping测试) icmp -j REJECT
注意事项
	不指定表名时,默认指filter表
	不指定链接=名时,默认指定表内所有链
	除非设置链的默认策略,否则必须指定匹配条件
	选项,链名,控制类型使用大写字母,其余均为小写
数据包的常见的控制类型
	ACCEPT:允许通过
	DROP: 直接丢弃,不给出任何回应
	REJECT:拒绝通过,必要时会给出提示
	LOG: 记录日志信息,然后传给下一条规则继续匹配

2.添加,查看,删除规则等基本操作

iptables命令的常用管理选项

选项名功能及特点
-A在指定的末尾添加(append)一条新的规则
-D删除(delete)指定链中的某一条过着,可指定规则序号或具体内容
-I在指定链中插入(insert)一条新的规则。未指定序号时默认作为第一条规则
-R修改,替换(replace)指定链中的某一条规则,可指定规则序号或具体内容
-L列出(list)指定链中的所有规则,若未指定链名,则列出表中的所有链
-F清空(flush)指定链中所有规则,若未指定链名,则清空表中所有链
-P设置链的默认则略(policy)
-n使用数字形式(numeric)显示输出结果,如显示ip地址而不是主机名

添加新的规则

-A: 在链的末尾追加一条规则
-I :在链的开头(或指定序号)插入一条规则
例如:
iptables -t filter -A INPUT -p tcp -j ACCEPT
iptables -I INPUT -p udp -j ACCEPT
iptables -I INPUT 2 -p icmp -j ACCEPT // -p 用来指定协议 ,2用来指定行数

查看规则

选项功能
-L列出所有的规则条目
-n以数字形式显示地址,端口等信息
-v以更详细的方式显示规则信息
–line-numbers查看规则时,显示规则的序号

​ 例如:查看filter表input链里面的所有语句

删除,清空规则

-D:删除链内指定序号(或内容)的一条规则
-F:清空所有规则
删除一条规则使用管理选项 -D
	例如:若要删除filter表input链中的第三条规则,可以执行以下操作

iptables -D INPUT 3
iptables -n -L INPUT //确认删除效果

清空指定链或表中的所有防火墙规则,使用管理选项 -F
	例如 :要清空filter表INPUT
	iptables -t filter -n -L INPUT
	清空所有表的所有链
	iptables -F 
	iptables -t nat -F 
	iptables -t mangle -F 
	iptables -t raw -F
	
表的优先级:raw > mangle > nat > filter

设置默认策略

-P:为指定的链设置默认规则
例如:清空所有默认策略要么是ACCEPT,要么是DROP表的所有链
iptables -t filter -P FORWARD DROP
iptables -P OUTPUT ACCEPT
注意:不指定表默认跟的是前面一个表
注意:当使用管理选项-f清空链时,默认策略不受影响,因此若要修改默认策略,必须通过管理选项-P重新进行设置,另外,默认策略不参与链内规则德顺序编排,因此其他规则之前或之后设置并无区别。

5.规则的匹配条件

在编写防火墙规则时,匹配条件设设置骑着决定性的作用,只有清晰,准确的设置好匹配条件,防火墙才知道要对符合什么条件的数据包进行处理,避免误杀,对于同一条防火墙规则,可以指定多个匹配条件,表示这些条件必须都满足规则才会生效,根据数据包的各种特征,结合iptables的模块结构,匹配条件的设置包括三大类:通用匹配,隐含匹配,显式匹配。

通用匹配
	可直接使用,不依赖于其他条件或扩展
	包括网络协议,ip地址,网络接口等条件
隐含匹配
	要求以特定的协议匹配作为前提
	包括端口,tcp标记,icmp类型条件等
显式匹配
	要求以“-m扩展模块”的形式明确指出类型
	包括多端口,mac地址,ip范围,数据包状态等条件

常见的通用匹配条件
	协议匹配:-p 协议名
	地址匹配:-s 源地址(入站),-d目的地址(出站)
	接口匹配:-i入站网卡,-o出站网卡

例如:在input末尾插入一条规则入站ens33源地址为 私有网址段都不允许通过
iptables -AINPUT -i ens33 -s 192.168.1.1/16 -j DROP
iptables -A INPUT -i ens33 -s 10.0.0./8 -j DROP
iptables -A INPUT -i ens33 -s 192.168.0.0/12 -j DROP
以上是不允许私有网段访问
iptables -I INPUT -p icmp -j DROP //在input开头插入一条规则允许icmp可访问
iptables -A FORWORD !-p icmp -j ACCEPT //在input末尾插入一条规则 ,取反,只要不是icmp就允许通过

常用的隐含匹配条件

端口匹配:--sport 源端口,--dport目的端口
icmp类型匹配:--icmp-typeICMP类型
例如:
iptables -A FORWARD -s 192.168.4.0/24 -p udp --dport 53 -j ACCEPT //允许4.0访问内网的
iptables -A INPUT -p tcp --dport 20:21 -j ACCEPT

ICMP类型匹配
编写iptables规则时使用“--icmp-type ICMP 类型”的形式,针对的协议为icmp,用来
检查icmp数据包类型(--icmp-type),ICMP类型使用字符串或数字代码表示,如“E”

常用的显式

匹配条件
多端口匹配:-m multiport --sports 源端口列表
	-m multiport --dports 目的端口列表

ip范围匹配: -m iprange --src-range ip范围
MAC地址匹配:-m mac --mac-souece mac地址

状态匹配: -m state --state 连接状态
例如:连接状态
iptables -A INPUT -p tcp -m multiport -dport 25.90.110.143 -j ACCEPT
iiptables -A FORWARD -p tcp -m iprange --src-range 192.168.4.21-
192.168.4.28 -j ACCEPT
iptables -A INPUT -m mac --mac-source 00:0c;29:c0:55:3f -j DROP

常用管理选项汇总

类别条件类型用法
通用匹配协议匹配-p协议名
通用匹配地址匹配-s 源地址,-d 目的地址
通用匹配接口匹配-i 入站网卡 , -o 出站网卡
隐含匹配端口匹配–sport源端口,–dport 目的端口
隐含匹配ICMP类型匹配–icmp-type ICMP类型
显式匹配多端口匹配-m multiport --sport l --dports端口列表
显式匹配ip范围匹配-m iprange --src-range IP范围
显式匹配mac地址匹配-m mac --mac-source MAC地址
显式匹配状态匹配-m state --state 连接状态
类别选项用途
添加新的规则-A在链的末尾追加一条规则
添加新的规则-I在链的开头(或指定序号)插入一条规则
查看规则列表-L列出所有的规则条目
查看规则列表-n以数字形式显示地址,端口等信息
查看规则列表-v以更详细的方式显示规则信息
查看规则列表–line-numbers查看规则时,显示规则序号
删除,清空规则-D删除链内指定序号(或内容)的一条规则
删除,清空规则-F清空所有规则
设置默认策略-P为指定的链设置默认规则
iptables防火墙详解、相关命令示例 解析Linux系统中的iptables防火墙,概念(工作层次,链、表结构,匹配流程以及示意图)和iptables的命令示例 阅读详情

相关推荐

Linux iptables/Netfilter 防火墙 详解

Linux iptables/Netfilter 防火墙详解防火墙的概念1、安全技术2、防火墙的分类3、网络层防火墙4、应用层防火墙iptables 基本认识1、iptables 概念2、Netfilter 组件3、三种报文流向4、iptables 的组成4.1 五表(table)4.2 五链(chain)4.3 五表五链的对应关系(常用是 raw 和 filter)4.4 通过 CLI 查看五表...

weixin_44983653的博客 1528

iptables防火墙

你可以不喜欢我说的话,不喜欢我的样子,不喜欢我的性格,不喜欢我的一切都没关系,但请你别来指责我,没有按你喜欢的方式存在,因为我本来就不是为你而准备的。

陌上花开,静待绽放! 1192

LabVIEW状态机实战:用STM32+DHT11搭建温湿度监测系统(附完整VI源码)

本文详细介绍了如何利用LabVIEW状态机模式与STM32微控制器、DHT11温湿度传感器构建温湿度监测系统。通过硬件选型、状态机设计、LabVIEW程序实现及系统优化等环节,提供了一套完整的解决方案,并附有VI源码,助力开发者快速实现嵌入式温湿度监测应用。

weixin_42549723的博客 521

防火墙iptables

由软件包iptables提供的命令行工具,工作在用户空间,用来编写规则,写好的规则被送往netfilter,告诉内核如何去处理信息包和netfilter的适配性好#查看有没有安装 iptables --version。

m0_71593537的博客 3180

用PyCharm+Scrapy打造你的第一个爬虫:从安装到实战(附完整代码)

本文详细介绍了如何使用PyCharm和Scrapy框架从零开始构建高效网络爬虫。通过环境配置、项目创建、核心爬虫逻辑编写到数据处理与存储的完整流程,帮助Python开发者快速掌握爬虫开发技巧,并附有实战代码示例。特别适合想要学习Scrapy框架和提升爬虫技能的开发者。

weixin_29038345的博客 868

manimgl安装

安装manimgl

happytree001的博客 707

【运维知识进阶篇】iptables防火墙详解(iptables执行过程+表与链概述+iptables命令参数+配置filter表规则+NAT表实现共享上网、端口转发、IP映射)

这篇文章给大家介绍下iptables防火墙,防火墙大致分三种,分别是硬件、软件和云防火墙。硬件的话部署在企业网络的入口,有三层路由的H3C、华为、Cisco(思科),还有深信服等等;软件的话一般是开源软件,写在网站内部,最常见的有iptables(写入Linux内核)和firewalld(CentOS7有的),云防火墙就是阿里云业务的防火墙安全组等等。

吾日三省吾身,想出类拔萃,要把知识学牢,学全,学深,学广。 1万+

家用电器维修必备:手把手教你用双向可控硅改造单相电机调速(附电路图)

本文提供了一份详细的家用电器维修指南,手把手教你如何利用双向可控硅为核心元件,为单相交流电机(如风扇、排气扇)实现平滑的无级调速改造。内容涵盖核心原理、安全须知、元件选型(如BT136、DB3)、电路图解析、分步搭建教程以及常见故障排查方法,旨在帮助维修爱好者和DIY用户安全、成功地完成这一实用且富有成就感的项目。

read5的博客 838

iptables防火墙详解

自定义链可以方便的管理不同的规则,方便后期规则的修改,但是需要注意的是,自定义链并不能直接使用,而是需要被默认链引用才能够使用。

Shawn的个人博客 4197

算法策略 | MACD跨周期短线交易策略开发(股指+商品双版)

量化策略开发,高质量社群,交易思路分享等相关内容

松鼠宽客的博客 2539

从零开始用QP框架开发STM32:事件驱动编程实战指南(附状态机设计技巧)

本文详细介绍了如何使用QP框架在STM32上实现事件驱动编程,包括状态机设计技巧和嵌入式开发实践。通过对比传统前后台系统和RTOS,展示了QP框架在资源占用、实时性和代码可维护性方面的优势,并提供了从环境搭建到高级状态机设计的完整指南。

h6i7j8的博客 1173

iptables 防火墙详解

Netfilter:Linux 内核的一个子系统,集成在内核中,是防火墙功能的实际实现者,工作在内核空间。它提供了一套框架,允许对网络数据包进行过滤、修改(NAT)等操作。iptables:是一个用户空间的命令行工具,用于设置、维护和检查 Linux 内核中 Netfilter 的防火墙规则表。它是用户与 Netfilter 交互的接口。简单来说,Netfilter 是引擎,iptables 是方向盘和仪表盘。iptables 哪个几个组成 netfiter内核态 iptables 用户态。

jstjx__ml的博客 1107

115网页版VR模式终于能用了!电脑直接播放vr视频沉浸感满满 115vr播放 无需vr头盔播放vr视频 在线vr播放器 115网盘360度视频播放方法 115全景视频播放教程

油猴 + 脚本让你网页端直接开启 VR 模式支持 360 视频拖动视角,非常沉浸适合电脑设备直接用无需vr头盔也能轻松畅看vr视频,希望也能帮到你。如果你也被 115 的限制搞烦了,不妨试试这招。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 5714

防火墙之iptables详解

1、iptables 五链四表 1.1、iptables提供的链(chain) 1.2、iptables提供的表(table) 1.3、链和表的关系 1.4、规则匹配执行动作(target) 2、iptables 常用命令 2.1、查看指定表table的规则 2.2、查看指定链chain下指定表table的规则 2.3、常见例子 2.4、清空iptables的所有规则 2.5、增加规则 2.6、删除规则 2.7、修改规则 2.8、保存规则 3、常见命令参数介绍

michael_linux的博客,一个小小小学生。滴水穿石,步步为营,只为那刹那芳华。 1809

真题库系列之 CCF GESP 2025年12月认证 Python 1级真题含正确答案与解析

学生通过计算机基础知识的学习,了解计算机的构成与操作,以及计算机的发 展历程。通过编程基础知识以及语句的掌握,可以独立完成简单功能的顺序结构、 分支结构、循环结构的程序。

iCloudEnd的博客 319

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

防火墙iptables详解

防火墙详解 基本概念 什么是防火墙?路由策略和策略路由/ipsec vpn gre hdlc ppp 硬件 iDS+ 在计算中,防火墙是基于预定安全规则来监视和控制传入和传出网络流量的网络安全系统。该计算机流入流出的所有网络通信均要经过此防火墙。防火墙对流经它的网络通信进行扫描,这样能够过滤掉一些攻击,以免其在目标计算机上被执行。防火墙还可以关闭不使用的端口。而且它还能禁止特定端口的流出通信,封锁特洛伊木马。最后,它可以禁止来自特殊站点的访问,从而防止来自不明入侵者的所有通信。 防火墙分为软件防火墙和硬件防

weixin_54246834的博客 2626

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Linux防火墙之iptables详解

包过滤防火墙:针对IP及端口2个条件进行数据包的安全过滤,不考虑其他任何因素状态防火墙:包括包过滤防火墙的所有功能,同时追踪数据包的每一个工作状态,如下图所示:重点多了一个状态检查表表可以看作为了特定功能而实现的规则的分类,其目的就是为了便于实现不同的功能及目的。如filter表,实现包过滤功能,做出“通行”或“阻止”的行为,而不对数据包做任何的修改;nat表用于地址转换,转换源地址–SNAT,或转换目标地址–DNAT,五表分别为:INPUTForwardOUTPUTPREROUTING。

weixin_48864579的博客 424

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

iptables防火墙的完美详解

Linux包过滤防火墙概述 netfilter 位于Linux内核中的包过滤功能体系 称为Linux防火墙的“内核态” iptables 位于/sbin/iptables,用来管理防火墙规则的工具 称为Linux防火墙的“用户态” 包过滤的工作层次 主要是网络层,针对IP数据包 体现在对包内的IP地址、端口等信息的处理上 iptables的表、链结构 规则链 规则的作用:对数据包进行过滤或处理 链的作用:容纳各种防火墙规则 链的分类依据:处理数据包的不同时机 默认包括5种规则链 INPU

m0_50854537的博客 1426

Linux iptables 防火墙技术详解

在现代互联网环境中,企业通过部署各类应用系统(Web服务、电子邮件系统、FTP服务器、数据库系统等)为用户提供网络服务。为确保这些服务器的安全性,过滤不必要的访问请求和防御恶意入侵,防火墙技术成为关键的基础设施。规则表:内核空间容器,按规则功能划分为四个表规则链:表内子容器,按数据处理时机划分为五种链规则:具体的过滤或处理指令链名称处理数据包类型功能描述INPUT入站数据包处理目标IP为本机的数据包OUTPUT出站数据包处理本机发出的数据包FORWARD转发数据包。

zjl999666999的博客 1163

Linux 防火墙 iptables 详解

防火墙是一种计算机网络安全设备,用于保护计算机和网络不受未经授权访问。它通过控制网络上进出数据流的流量,来控制通信的访问。当阻止外部网络访问或从内部网络到外部网络的访问时,防火墙就会发挥作用。防火墙可分为软件防火墙和硬件防火墙两种类型。其中,软件防火墙是一种安装在操作系统上的防火墙,如 iptables、Firewalld 和 UFW 等,而硬件防火墙是一种独立于计算机和操作系统之外的设备,如 Cisco ASA 和 Juniper SRX。

兴趣是最好的老师,勤能补拙 5260
上一篇: 详解Firewalld防火墙
下一篇: 本文详解Shell编程如何实现免交互
tanwenlong01
博客等级 码龄6年 26粉丝 104原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值