iptables简介1及常用命令

简介: 第一章:简述iptables是一个用户态工具,用于操作linux内核部分的netfilter模块(包过滤),用来完成防火墙相关的工作。linux的netfilter工作于2层(开启bridge-nf时刻)和3层(ip层),可以对ip包,二层数据链路包进行操作;而市面上还有一种防火墙是应用层防火墙,可以对应用层包进行检查(过滤)。

第一章:简述

iptables是一个用户态工具,用于操作linux内核部分的netfilter模块(包过滤),用来完成防火墙相关的工作。linux的netfilter工作于2层(开启bridge-nf时刻)和3层(ip层),可以对ip包,二层数据链路包进行操作;而市面上还有一种防火墙是应用层防火墙,可以对应用层包进行检查(过滤)。所以linux iptables只能作为一个基础防火墙。


作为用户态工具,iptables是firewalld和iptables(服务)的底层接口。


img_0da4050d69447487d0227dc9082c0f0c.png
图1-1

iptables用户态工具包含了一下详细包:iptables——ip v4 包过滤

ip6table——ip v6

arptables——arp

ebtables——ethnet包过滤,用于bridge

同时iptables也可以作为linux netfilter内核模块的代称在内核里是x_tables实现,在linux3.13以后内核用nftables替代了x_tables实现。x_tables实现的包过滤,也被称为Xtables架构。

1.1 基础概念

在iptables里被提的最多的是“四表五链”这样一个概念。

表(table):不同的表象征着不同的包处理的目的。例如我们有:filter、nat、mangle、raw 四个表,表示包过滤有如上所述四个目的。

规则:是由管理员定义的包匹配规则,当包匹配发生以后,就执行规则定义的target。

匹配(match):规则命中的条件。常规匹配、conntrack匹配,phydev匹配、addrtype匹配、state匹配等等。

Target:就是包匹配以后执行的动作。常见的动作有:accept、drop、reject、snat、dnat、log、masqurade、log、return、queue。

链(chain):指的是包过滤的锚点,也就是说包过滤在内核协议栈的哪些地方生效。链里保存有一系列的有先后次序决定优先级的规则。

五链指的是:prerouting,forwarding,input,output 和postrouting这五个链。

它们具体的位置如下图:


img_410a6bd4e23459740292ece052d3936e.png
图1-2

图1-2 中input表示数据包被送给本地应用之前;output表示来自上层发送的报文。Prerouting 是在包进入协议栈以后第一个过滤点,forward是包被转发时候的过滤点,Postrouting是包被转发完毕或者包被output处理之后需要发送出去的时候的过滤点。IN表示送入到协议栈的包,OUT表示送出协议栈的包。这就是著名的“五链”。

在图1-2中同时列出了四表在五链中的使用。

对于接收自网络的包其iptable表链处理流程图如下(在没有brdige时刻)


img_55414a2f9a294b841c229f24d5d93375.png
图1-3

对于从本机发出去的数据包,流向是


img_be8910baeb708c4efeb142f0a5acf9a4.png
图1-4

图1-4中的nat output用于处理防火墙自身发出的包

2、iptables常用调试命令

IPTables -t table-name -nL 显示某个表的所有链的信息

IPTables -t table-name -nL -Z 显示某个表所有链信息的时刻将包计数器清零

IPTables -t table-name -nL -v 显示某个表包计数器的情况。

iptables -S 将iptables所有链全部打印出来,以iptables-save的格式打印

目录
相关文章
|
2月前
|
人工智能 Linux API
OpenClaw 知识库搭建攻略:QMD/向量库/知识图谱三方案+阿里云+本地部署+千问/Coding Plan配置
随着OpenClaw V2026.3.22模块化框架正式成熟,本地知识库与RAG能力已经成为AI智能体从“简单对话”走向“专业可靠”的关键分水岭。单纯依靠大模型上下文已经无法满足长期使用、专业问答、资料检索、低Token消耗的需求。
3035 1
|
存储 安全 算法
|
网络协议 Unix Linux
Centos下nfs+rpcbind实现服务器之间的文件共享
Centos下nfs+rpcbind实现服务器之间的文件共享
792 0
|
监控 网络协议 NoSQL
五分钟带你读懂 TCP全连接队列(图文并茂)
今天有个小伙伴跑过来告诉我有个奇怪的问题需要协助下,问题确实也很奇怪。客户端调用RT比较高并伴随着间歇性异常Connection reset出现,而服务端CPU 、线程栈等看起来貌似都很正常,而且服务端的RT很短
9579 0
五分钟带你读懂 TCP全连接队列(图文并茂)
|
2月前
|
人工智能 搜索推荐 API
OpenClaw(Clawdbot)保姆级图文教程(阿里云/本地部署+API配置+集成4大搜索引擎Skill+避坑指南)
OpenClaw的核心价值之一,在于通过模块化的Skill(技能插件)拓展信息检索能力——ClawHub平台汇聚的5700+技能中,搜索类Skill以“打破信息茧房、高效整合资源”成为新手必备。其中,Find Skills、Multi Search Engine、Tavily Search、EvoMap四大核心搜索技能,覆盖“技能发现、多引擎检索、AI优化搜索、协作共享”全场景,无需复杂配置即可实现全网信息精准抓取,让OpenClaw从“对话AI”升级为“信息检索专家”。
4598 0
|
关系型数据库 MySQL 网络安全
Mysql8.0 开启 SSL加密 mysql_ssl_rsa_setup
Mysql8.0 开启 SSL加密 mysql_ssl_rsa_setup
2528 0
|
运维 监控 安全
|
网络协议 Linux 网络安全
Iptables 命令完整指南
【8月更文挑战第20天】
5694 0
Iptables 命令完整指南
|
存储 C语言 开发者
【C语言】格式化输出占位符及其标志字符详解(基于ISO/IEC 9899:2024)
在C语言中,格式化输出通过 `printf` 函数等格式化输出函数来实现。格式说明符(占位符)定义了数据的输出方式,标准ISO/IEC 9899:2024(C23)对这些格式说明符进行了详细规定。本文将详细讲解格式说明符的组成部分,包括标志字符、宽度、精度、长度修饰符和类型字符,并适当增加表格说明。
1391 6
|
网络协议 安全 网络安全
DDoS攻击有哪些常见形式?
【10月更文挑战第13天】DDoS攻击有哪些常见形式?
1518 14