在Linux下建立防火墙和QoS需要用到两个包:netfilter和iproute。它们为内核集成的过滤框架,iproute包含几个工具,Linux用户可以用之定制高级路由及流量整形。
本章介绍贯穿全局的工具,不过netfilter和iproute内涵非常丰富,只能做一定的介绍。更多内容请参考相应网站:netfilter、iproute
netfilter/iptables
netfilter是Linux内核的重要部分,用于处理安全、packet mangling等。netfilter的前端即iptables,它告诉内核在IP包在到达、经过或离开时用户希望如何处理。
netfiler最广泛的应用就是包过滤及网络地址转换,其实还能用它处理更多事务,如packet mangling第7层过滤。
netfilter的工作原理大体如下:
● 用户用iptables指示内核对流经Linux机器的IP包需要如何处理
● Linux机器分析所有滤过的包的IP头部
● 如果在头部找到匹配的规则,将按规则处理
看起来好像很简单,其实过程要复杂的多。netfilter有几个表,每个包含一些默认规则,被称为链。加载到内核的默认表为过滤表,包含如下链:
● INPUT:目标为本机的包要应用的规则
● FORWARD:由本机路由到别的IP地址的包要应用的规则
● OUTPUT:由本机生成的包要应用的规则
加载netfilter的NAT和mangle模块后,nat和mangle表将自动加载,其预定义表将在第4章详细介绍。
下面是包如何经过表及表里的链的示意图:
此图显示出NAT和mangle模块加载进内核后包是如何经过表及表里的链的。包到达Linux机器后,立刻分析mangle表里的PREROUTING链,此时只要mangle表支持,可以对IP包做各种修改(比如TOS字节修改,标识包等),直到进入路由步骤。
接着,包进入nat表的pre-routing链,此处可以做DNAT及端口重定向等。
本章介绍贯穿全局的工具,不过netfilter和iproute内涵非常丰富,只能做一定的介绍。更多内容请参考相应网站:netfilter、iproute
netfilter/iptables
netfilter是Linux内核的重要部分,用于处理安全、packet mangling等。netfilter的前端即iptables,它告诉内核在IP包在到达、经过或离开时用户希望如何处理。
netfiler最广泛的应用就是包过滤及网络地址转换,其实还能用它处理更多事务,如packet mangling第7层过滤。
netfilter的工作原理大体如下:
● 用户用iptables指示内核对流经Linux机器的IP包需要如何处理
● Linux机器分析所有滤过的包的IP头部
● 如果在头部找到匹配的规则,将按规则处理
看起来好像很简单,其实过程要复杂的多。netfilter有几个表,每个包含一些默认规则,被称为链。加载到内核的默认表为过滤表,包含如下链:
● INPUT:目标为本机的包要应用的规则
● FORWARD:由本机路由到别的IP地址的包要应用的规则
● OUTPUT:由本机生成的包要应用的规则
加载netfilter的NAT和mangle模块后,nat和mangle表将自动加载,其预定义表将在第4章详细介绍。
下面是包如何经过表及表里的链的示意图:
此图显示出NAT和mangle模块加载进内核后包是如何经过表及表里的链的。包到达Linux机器后,立刻分析mangle表里的PREROUTING链,此时只要mangle表支持,可以对IP包做各种修改(比如TOS字节修改,标识包等),直到进入路由步骤。
接着,包进入nat表的pre-routing链,此处可以做DNAT及端口重定向等。
0 comment(s)



2008/07/12 11:17 ..by
内文分页: [1] 
