zoukankan      html  css  js  c++  java
  • netfilter 学习摘要

    netfilter 子系入口在L3,完成后把数据包发往L4
    netfilter 主要功能:
    数据包选择(iptables)
    数据包过滤
    网络地址转换(NAT)
    数据包操纵(在路由选择之前或之后修改数据包头的内容)
    连接跟踪
    网络统计信息收集
    常见框架
    IPVS:一种传输层负载均衡解决方案。
    IP sets: 一个由用户空间工具ipset和内核部分 组成的框架。
    iptables:linux防火墙,为netfilter提供管理层。

    A:  NF_INET_PRE_ROUTING:位于方法ip_rcv() 中,这是所有入站数据包遇到的第一个挂接点,处于路由选择子系统查找之前。
        涉及功能(优先级顺序): Conntrack(-200) 、 mangle(-150) 、 DNAT(-100) 
    B:  NF_INET_LOCAL_IN :这个挂在点位于ip_local_deliver()中,对于所有发送给当前主机的入站数据包,经过prerouting执行后,都到达这里。
        涉及功能:mangle(-150) 、 filter(0) 、 SNAT(100) 、 Conntrack(INT_MAX-1) 
    C:  NF_INET_FORWARD: 这个挂载点位于ip_forward(),对于所有要转发的数据包,经过prerouting 并执行后,都到这个挂载点。
        涉及功能:mangle(-150) 、 filter(0)

    D:  NF_INET_LOCAL_OUT:这个挂载点位于_ip_local_out(),当主机生成的所有出站数据包都在经过这个挂载点后到达postrouting.

        涉及功能: Conntrack(-200) 、 mangle(-150) 、 DNAT(-100) 、 filter(0) 
    E:  NF_INET_POST_ROUTING: 这个挂载点位于ip_output(),所有要转发的数据包经过forward后到达这个挂载点,当主机生成的数据包经过local_out后将到达这个挂载点。
        涉及功能:mangle(-150)、SNAT(100)、Conntrack(INT_MAX)

    在同一挂接点,优先级越低的回调函数越先被调用。

  • 相关阅读:
    python发送邮件
    常用的排序算法
    关于前端ajax请求url为何添加一个随机数
    RabbitMQ消息队列
    shell编程基本语法和变量
    第70课 展望:未来的学习之路(完结)
    第69课 技巧:自定义内存管理
    第68课 拾遗:让人迷惑的写法
    第67课 经典问题解析五
    第66课 C++中的类型识别
  • 原文地址:https://www.cnblogs.com/okshall/p/9496290.html
Copyright © 2011-2022 走看看