关于Linux防火墙iptables

   学习新知识、新技术,首先,要知道了解它“有什么用?能解决什么问题?”;而后,再学习“如何去应用它”,这样我们在遇到问题时,才能对症下药,应用自如。所以,学习Linux的防火墙iptables也不例外,在学习如何应用iptables之前,先来了解一下与它相关的一些概念知识。

   一、netfilter

   netfilter是内嵌于Linux内核(2.4.x和更高版本)中的包过滤软件框架,与之相关的软件就是iptables。

   netfilter是一个内置于Linux内核中的监测点集合,这些检测点允许内核模块在网络协议栈中注册回掉函数,当数据包流经协议栈中的检测点时,调用注册的回掉函数。

   二、iptables

   iptables内嵌于netfilter框架中,能够实现包过滤,网络地址[端口]转换(NA[P]T)及其他包处理功能。它是Linux 2.2.x ipchains和Linux 2.0.x ipfwadmin的升级版。

   iptables是用户空间的命令行程序,用于配置Linux 2.4.x和更高版本的包过滤规则集,它是面向系统管理员的。定义的规则都是由分类器(或者匹配规则)和相关操作如DROP、ACCEPT、REJECT(或者转到自定义链处理)。

   三、框架构成

   netfilter,iptables,连接状态跟踪(ip_conntrack,nf_conntrack)和NAT构成了框架的主要部分。

   四、主要特性  

  • 无状态包过滤 (IPv4 and IPv6)

  • 有状态包过滤 (IPv4 and IPv6)

  • NAT/NAPT (IPv4 and IPv6)

  • 灵活性和可扩展性

  • 第三方扩展支持


   五、netfilter/iptables用处

  • 创建基于有状态和无状态包过滤的internet防火墙

  • 部署高可用的有状态和无状态防火墙集群

  • 使用NAT和IP地址伪装来实现公网IP地址共享上网

  • 使用NAT部署透明代理

  • 辅助tc(流量整形)和iptable2创建复杂的QoS和策略路由器

  • 对数据包做深入处理,如修改IP包头的TOS/DSCP/ECN位值

*****用图说话*****

   下图解释了Kernel、NETFILTER、SHELL、IPTABLES packet、IPTABLES tools之间的关系。

112417652.jpg

*****原汁原味,扩展阅读*****

   *ipchains:http://people.netfilter.org/~rusty/ipchains/

   *ipfwadm:http://www.xos.nl/resources/ipfwadm/

   *tc:http://www.turbolinux.com.cn/turbo/wiki/doku.php?id=traffic-control:tc%E6%B5%81%E9%87%8F%E7%AE%A1%E7%90%86%E7%AE%80%E4%BB%8B

   *iproute2:http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2

――欢迎拍砖指正――

你可能感兴趣的:(linux,iptables,Netfilter,tc,iproute2)