iptables 深入分析

Posted linengier

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iptables 深入分析相关的知识,希望对你有一定的参考价值。

四表五链
四表:filter , nat, manager, raw
五链: 五个HOOK点的链接,pre_rout, foward, post_rout, in ,out

问题:
内核如何匹配,内核使能

iptable 命令转换,和内核交互
libiptc库和内核交互


最终是转换到hook点的处理函数上来.

match模块被添加到系统的链表中
当iptables 调用命令,会把这个过滤规则添加到过滤表中.

在每个HOOK点用操作表组成了操作链,分别调用表中的匹配和过滤函数.


内和match注册:
xt_register_match


filter表分析


match 模块查找
do_command4
command_match
xtables_find_match


表的插入
insert_entry
iptc_insert_entry <libiptc.h>


libiptc和内核交互
http://blog.chinaunix.net/uid-29732842-id-4975834.html
get_socket
set_socket

 

网络命名空间相关

struct netns_ipv4
#ifdef CONFIG_NETFILTER
struct xt_table *iptable_filter;
struct xt_table *iptable_mangle;
struct xt_table *iptable_raw;
struct xt_table *arptable_filter;
#ifdef CONFIG_SECURITY
struct xt_table *iptable_security;
#endif
struct xt_table *nat_table;
#endif































以上是关于iptables 深入分析的主要内容,如果未能解决你的问题,请参考以下文章

用一个实例深入理解iptables的SNAT/DNAT

iptables基本命令到深入

深入研究iptables防火墙基础

深入理解 netfilter 和 iptables

深入理解 netfilter 和 iptables

深入研究 Iptables 和 Netfilter 架构