iptables & netfilter 概述
2014-04-24 09:30
441 查看
1. iptables
位于用户空间工具,用于编写规则,规则下发到netfilter。
iptables演进:
Linux 2.0 --- ipfwadm
Linux 2.2 --- ipchains
Linux 2.4 --- iptables/netfilter
2. netfilter
位于内核中,一种框架(framework)
具有5个钩子点(hook function),或者理解为5条规则链(chains)
5条链:INPUT、OUTPUT、FORWARD、PREROUTING、POSTROUTING
5个钩子函数: NF_IP_LOCAL_IN、NF_IP_LOCAL_OUT、NF_IP_FORWARD、NF_IP_PRE_ROUTING、NF_IP_POST_ROUTING
2.1 报文流向
① 到本机
PREROUTING -> INPUT
② 转发
PREROUTING -> FORWARD -> POSTROUTING
③ 本机发出
OUTPUT -> POSTROUTING
2.2 tables
利用5条规则链,linux内核可以实现多种功能,主要有 raw、mangle、nat、filter
每条链可以实现上述功能中的多个,每种功能的规则是分开存放的,可以理解为不同的表(table)
每条链可实现的功能,或者下挂表如下:
PREROUTING raw/mangle/nat
FORWARD mangle/filter
POSTROUTING mangle/nat
INPUT mangle/filter
OUTPUT raw/mangle/nat/filter
各功能(table)优先级排序亦为 raw/mangle/nat/filter
或者,从功能的角度考虑,各功能实现需要依赖的链(chains):
① raw
PREROUTING / OUTPUT
② mangle 修改报文、附加数据
PREROUTING / FORWARD / POSTROUTING / INPUT / OUTPUT
③ nat 源NAT、目的NAT
PREROUTING / POSTROUTING / OUTPUT
④ filter 包过滤
FORWARD / INPUT / OUTPUT
位于用户空间工具,用于编写规则,规则下发到netfilter。
iptables演进:
Linux 2.0 --- ipfwadm
Linux 2.2 --- ipchains
Linux 2.4 --- iptables/netfilter
2. netfilter
位于内核中,一种框架(framework)
具有5个钩子点(hook function),或者理解为5条规则链(chains)
5条链:INPUT、OUTPUT、FORWARD、PREROUTING、POSTROUTING
5个钩子函数: NF_IP_LOCAL_IN、NF_IP_LOCAL_OUT、NF_IP_FORWARD、NF_IP_PRE_ROUTING、NF_IP_POST_ROUTING
2.1 报文流向
① 到本机
PREROUTING -> INPUT
② 转发
PREROUTING -> FORWARD -> POSTROUTING
③ 本机发出
OUTPUT -> POSTROUTING
2.2 tables
利用5条规则链,linux内核可以实现多种功能,主要有 raw、mangle、nat、filter
每条链可以实现上述功能中的多个,每种功能的规则是分开存放的,可以理解为不同的表(table)
每条链可实现的功能,或者下挂表如下:
PREROUTING raw/mangle/nat
FORWARD mangle/filter
POSTROUTING mangle/nat
INPUT mangle/filter
OUTPUT raw/mangle/nat/filter
各功能(table)优先级排序亦为 raw/mangle/nat/filter
或者,从功能的角度考虑,各功能实现需要依赖的链(chains):
① raw
PREROUTING / OUTPUT
② mangle 修改报文、附加数据
PREROUTING / FORWARD / POSTROUTING / INPUT / OUTPUT
③ nat 源NAT、目的NAT
PREROUTING / POSTROUTING / OUTPUT
④ filter 包过滤
FORWARD / INPUT / OUTPUT
相关文章推荐
- 洞悉linux下的Netfilter&iptables:什么是Netfilter?
- netfilter & iptables 概述
- (一)洞悉linux下的Netfilter&iptables:什么是Netfilter?
- 洞悉linux下的Netfilter&iptables:什么是Netfilter?
- iptables & physdev-is-in & physdev-is-out -- net.bridge.bridge-nf-call-iptables对Netfilter中数据包的影响
- (一)洞悉linux下的Netfilter&iptables:什么是Netfilter?
- (一)洞悉linux下的Netfilter&iptables:什么是Netfilter?
- (一)洞悉linux下的Netfilter&iptables:什么是Netfilter?
- 一)洞悉linux下的Netfilter&iptables:什么是Netfilter? 2
- (一)洞悉linux下的Netfilter&iptables:什么是Netfilter?
- 洞悉linux下的Netfilter&iptables:什么是Netfilter? 分类: Linux 2015-05-17 22:01 42人阅读 评论(0) 收藏
- (一)洞悉linux下的Netfilter&iptables:什么是Netfilter?
- (一)洞悉linux下的Netfilter&iptables:什么是Netfilter?
- (一)洞悉linux下的Netfilter&iptables:什么是Netfilter?
- (一)洞悉linux下的Netfilter&iptables:什么是Netfilter?
- 洞悉linux下的Netfilter&iptables:什么是Netfilter? 分类: Linux 2015-05-17 22:01 43人阅读 评论(0) 收藏
- (一)洞悉linux下的Netfilter&iptables:什么是Netfilter?
- (一)洞悉linux下的Netfilter&iptables:什么是Netfilter?
- 洞悉linux下的Netfilter&iptables:什么是Netfilter?
- 洞悉linux下的Netfilter&iptables:什么是Netfilter?