Linux iptables基础知识和规则原理讲解
什么是iptables?
iptables是Linux下功能强大的应用层防火墙工具,但了解其规则原理和基础后,配置起来也非常简单。
什么是Netfilter?
说到iptables必然提到Netfilter,iptables是应用层的,其实质是一个定义规则的配置工具,而核心的数据包拦截和转发是Netfiler。
Netfilter是Linux操作系统核心层内部的一个数据包处理模块。
iptables和Netfilter关系图:
在这张图可以看出,Netfilter作用于网络层,数据包通过网络层会经过Netfilter的五个挂载点(Hook point):PRE_ROUTING、INPUT、OUTPUT、FORWARD、POST_ROUTING。
任何一个数据包,只要经过本机,必将经过这五个挂载点的其中一个。
iptables规则原理
iptables的规则组成,又被称为四表五链:
四张表 + 五个挂载点 + 规则<br><br>四张表:filter表、nat表、mangle表、raw表<br><br>五个挂载点:PRE_ROUTING、INPUT、OUTPUT、FORWARD、POST_ROUTING
具体来说,就是iptables每一条允许/拒绝或转发等规则必须选择一个挂载点,关联一张表。
规则代表了对数据包的具体操作,挂载点代表了操作的位置,表代表了作用的目的。
iptables的四张表
现在用的比较多的表是前两个:
1、filter 用于过滤;
2、nat 用于地址转换;
3、mangle 修改数据包;
4、raw 一般是为了不再让iptables做数据包的链接跟踪处理,跳过其他表,提高性能;
数据包在规则表、挂载点的匹配流程图
以下这张图是数据包经过挂载点的流程图,在每个挂载点可以看到有哪些表可以用于定义规则:
对于filter表一般只能做在3个链上:INPUT、FORWARD、OUTPUT;
对于nat表一般也只能做在3个链上:PREROUTING、OUTPUT、POSTROUTING。
相关文章
- 然 Ubuntu 提供了优秀的图形化软件管理工具,我们绝大多数时间并不需要使用命令行来管理 Snap 软件包,但命令行拥有更强的功能和灵活性,学会如何使用可以帮你更好地掌控系2024-10-18
Flatpak和Snapcraft怎么选? Linux软件包管理系统优缺点对比
Linux 软件的打包和分发方式在过去几年中也取得了长足地进展,本文将探讨 Flatpak 和 Snapcraft 之间的关键差异,它们各自的优/缺点,以期望帮助用户找到更适合自己的一款2024-10-18linux服务器重启命令哪个好用? Linux服务器重启命令汇总
在 Linux 系统中,最严谨的重启命令是 shutdown -r now,该命令直接将系统重启,而不进行任何清理或准备工作,确保系统彻底重启,但也有很多其他命令,详细如下文介绍2024-10-17教你如何在Linux中使用apt命令? Linux APT命令实战教程
apt是一个软件包管理工具,apt命令相当强大,要是在Ubuntu和Debian系统中使用,可以用来对软件进行安装等操作,需要超级管理员(root)权限进行操作2024-09-29apt 和 apt-get有什么区别? Linux包管理解密
为什么 Debian 系 Linux 发行版同时拥有apt和apt-get这两个雷同的命令?他们之间有什么区别?详细请看下文介绍2024-09-29- Linux圈曝出严重远程代码执行RCE漏洞,已存在10多年,几乎影响所有GNU/Linux发行版,目前尚未有修复补丁,不过可以缓解,解决方案如下2024-09-27
- 在Linux系统中,分区管理是非常重要的一项工作,在使用Linux系统的过程中,有时候我们需要删除某个分区来释放存储空间或重新规划硬盘空间,那么,如何在Linux系统上删除分2024-09-14
深度操作系统deepin 25开发计划公布: 2025 年 01 月发布
deepin 25 计划发布时间为 2025 年01 月,此版本的主要目标是修复 deepin 23 中的遗留问题,提升系统稳定性2024-09-14- FDISK是一个用于硬盘分区的工具,特别是在较早的操作系统版本中,如Windows 98和早期的Linux系统中,FDISK是进行硬盘分区的主要工具,这里就为大家分享一下linux系统中使用2024-08-29
黑神话悟空怎么下载安装? 深度操作系统deepin23黑神话悟空安装教程
deepin23系统想要体验《黑神话:悟空》游戏,该怎么下载安装呢?下面我们就来看看详细的图文教程2024-08-22
最新评论