Summary of my study

 
  1.  iptables & netfilter framework
           iptables & netfilter 是集成于Linux内核当中的具有高扩展性的IP数据包的处理框架,是Linux防火墙的框架基础
    • iptables : 对应于内核当中的每个match和target,用户态都提供一个对应的共享库用于实现对内核空间的模块的控制。iptables主要依靠sockopt 实现于netfilter框架的通信,对于netfilter将数据包传送给iptables的实现主要依靠netlink来实现用户态与内核态的通信, 其中iptables在2.6中更名为xtables。
    • match(struct xt_match)
内核态的match模块主要用于实现对流经系统的数据包的匹配工作,该部分主要用于对数据包进行分析,找到满足条件的数据包,返回值为true表示匹配成功,否则进行链中下一规则的匹配。match过程中不应对数据包惊醒任何的改动;
return false and 置 *hotdrop = 1,系统将立即丢弃该数据包;
    • target(struct xt_target)
                    对match中匹配到的数据包进行操作,并根据要求对数据包进行标记和处理;
                    return :
                            NF_ACCEPT
                            NF_DROP
                            NF_STOLEN
                            NF_QUEUE
                            NF_REPEAT
                            NF_STOP
                            XT_CONTINUE           
    • conntrack :跟踪流经系统的数据包的状态信息,通过对数据包连接状态的处理,就可以在根据连接的状态对连接中的后续数据包进行统一的处理;典型的连接状态清参看内核中nf_conntrack_ftp的实现。
                    struct nf_conntrack_helper
                    struct nf_conn
                    union nf_conntrack_help
                    struct nf_conntrack_tuple
                    struct nf_conntrack_expect
                    nf_ct_conntrack_expect_related
    • hook
  1. 内核推后执行任务机制
  • kthread
  • workqueue
  • softirq
  • tasklet
  • hard interrupt

  1. 用户态<->内核态通信

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值