对iptables和netfilter概念的总结
2015-05-23 15:16
127 查看
参考资料:
http://w.gdu.me/wiki/Linux/iptables_forward_internetshare.html
http://www.cnblogs.com/peteryj/archive/2011/07/24/2115602.html
一、iptables和netfilter
1、什么是iptables?
iptables:iptables是linux系统下网络数据包过滤的配置工具,是操作netfilter用的(要求linux版本号为2.4以上)。
2、什么是netfilter?
netfilter是Linux 2.4.x引入的一个子系统,它作为一个通用的、抽象的框架,提供一整套的hook函数的管理机制,使得诸如数据包过滤、网络地址转换(NAT)和基于协议类型的连接跟踪成为了可能。
3、iptables和netfilter的对比
netfilter是数据包到达网络接口时,说明网卡如何处理这个包。而iptables是进行改变或控制这个数据包的操作。
二、细节
1、数据包从进入到离开系统的流程
如图1。数据包从进入到离开系统,要经过PreRoute,Input,Forward,Output,PostRoute这五个阶段。每个阶段中包括了一些节点,每个节点就是一个过滤时机。当数据包行进到某个节点时,系统就是检测对应节点的过滤规则并进行过滤。
图1
2、netfilter对包的处理流程
图2
3、netfilter的表
netfilter内部分为三个表: filter,nat和mangle,而每个表又有不同的操作链。
filter表:防火墙功能。
nat表:实现地址转换和端口转发功能。
mangle表:进行一些自定义的操作。
4、几个链的功能:
PREROUTING(DNAT):在这个链里面我们对包的操作是改变目的地址(或端口),这个链要放在路由(routing)之前,因为若让系统选好路之后再改变目的地址,那么选路就可能是错的。
FORWARD:分支转折。如果包的目的地是本机ip,那么包向上走,走入INPUT链处理,然后进入LOCAL PROCESS,如果非本地,那么就进入FORWARD链进行过滤
POSTROUTING:修改源ip地址。因为 internet上的N多个路由节点不会转发私有地址的数据包
总结:怎么控制包?
对包的控制是由我们在不同的链上面添加不同的规则来实现的。
附:iptables使用指南
https://www.frozentux.net/iptables-tutorial/cn/iptables-tutorial-cn-1.1.19.html#MANGLETABLE
http://w.gdu.me/wiki/Linux/iptables_forward_internetshare.html
http://www.cnblogs.com/peteryj/archive/2011/07/24/2115602.html
一、iptables和netfilter
1、什么是iptables?
iptables:iptables是linux系统下网络数据包过滤的配置工具,是操作netfilter用的(要求linux版本号为2.4以上)。
2、什么是netfilter?
netfilter是Linux 2.4.x引入的一个子系统,它作为一个通用的、抽象的框架,提供一整套的hook函数的管理机制,使得诸如数据包过滤、网络地址转换(NAT)和基于协议类型的连接跟踪成为了可能。
3、iptables和netfilter的对比
netfilter是数据包到达网络接口时,说明网卡如何处理这个包。而iptables是进行改变或控制这个数据包的操作。
二、细节
1、数据包从进入到离开系统的流程
如图1。数据包从进入到离开系统,要经过PreRoute,Input,Forward,Output,PostRoute这五个阶段。每个阶段中包括了一些节点,每个节点就是一个过滤时机。当数据包行进到某个节点时,系统就是检测对应节点的过滤规则并进行过滤。
图1
2、netfilter对包的处理流程
图2
3、netfilter的表
netfilter内部分为三个表: filter,nat和mangle,而每个表又有不同的操作链。
filter表:防火墙功能。
nat表:实现地址转换和端口转发功能。
mangle表:进行一些自定义的操作。
4、几个链的功能:
PREROUTING(DNAT):在这个链里面我们对包的操作是改变目的地址(或端口),这个链要放在路由(routing)之前,因为若让系统选好路之后再改变目的地址,那么选路就可能是错的。
FORWARD:分支转折。如果包的目的地是本机ip,那么包向上走,走入INPUT链处理,然后进入LOCAL PROCESS,如果非本地,那么就进入FORWARD链进行过滤
POSTROUTING:修改源ip地址。因为 internet上的N多个路由节点不会转发私有地址的数据包
总结:怎么控制包?
对包的控制是由我们在不同的链上面添加不同的规则来实现的。
附:iptables使用指南
https://www.frozentux.net/iptables-tutorial/cn/iptables-tutorial-cn-1.1.19.html#MANGLETABLE
相关文章推荐
- Netfilter和iptables学习总结
- netfilter及iptables基本概念
- netfilter模块及iptables基本概念
- Linux学习记录(16)netfilter以及iptables概念及操作
- iptables用法总结
- java基础知识,一些概念的区别总结
- WebService学习总结(二)——WebService相关概念介绍
- JVM调优总结(一)-- 一些概念
- 黑马程序员-------------多线程中的(线程、线程组、线程池、以及Java的设计模式)概念及方法的总结
- iptables语法总结
- Maven学习总结(21)——Maven常用的几个核心概念
- linux设备驱动归纳总结(一)内核的相关基础概念【转】
- 【C#小知识】C#中一些易混淆概念总结(四)---------解析Console.WriteLine() 分类: C# 2014-02-05 17:18 1060人阅读 评论(0) 收藏
- 【C#小知识】C#中一些易混淆概念总结(五)---------继承
- JVM基础概念总结:数据类型、堆与栈
- 防火墙之iptables基本概念
- [置顶] WebService学习总结(1)——WebService相关概念
- Android屏幕density, dip等相关概念总结
- WebService学习总结(一)——WebService的相关概念
- 慕客网学习总结:mysql数据库的数据表操作以及约束的概念