-
2004-05-05
iptables学习手札(一)简介与基础 - [谈技术]
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
iptables简介与基础 防火墙系统可分为包过滤型、应用级网关(也叫代理服务器型防火墙)和电路级防火墙三种基本类型。Linux提供的防火墙软件包内置于Linux内核中,是一种基于包过滤型的防火墙实现技术。其中心思想是根据网络层IP包头中的源地址、目的地址及包类型等信息来控制包的流向。更彻底的过滤则是检查包的源端口、目的端口以及连接状态等信息。 iptables iptables是一个管理内核包过滤的工具,可以加入、插入或删除核心包过滤表格中的规则。实际上真正来执行这些过滤规则的是Netfilter。Netfiler是Linux核心中一个通用架构,它提供一系列的表(tables),每个表由若干链(chains)组成,而每条链中可以由一条或数条规则(rule)组成,如下: |---...... |---ipchains1 |---rule1 |---table1---| | | |---ipchains2 --- |---rule2 netfilter--|---table2 | | |---...... |---...... 相对于2.4内核提供的IP链来说,iptables实现的不仅仅是包过滤功能,而是通过Netfilter实现一整套框架结构,在这个框架之上实现包过滤、NAT等模块功能,从而提供更好的可扩展性和灵活性。 系统缺省的表为filter表,该表包含了INPUT链、OUTPUT链和FORWORD链。每一条链中可以定义一条和数条规则,每一条规则都以如下格式定义:条件/处理方式。 当一个数据包到达一个链时,系统就会从第一条规则开始检查,看是否符合该规则所定义的条件。如果满足,系统将规则该条规则所定义的方法处理该数据包;如果不满足,则会继续检查下一条规则。如果该数据包不符合该链中任一条规则,系统则会根据该链预先定义的策略(policy)来处理该数据包。(一般时deny)。 Netfilter框架能够在内核2.3.5及以上版本中实现。编译内核的时候,应该将Netfilter相关的项目编译进去。这些项目一般在“Networking options”子项下。在“IP:Netfilter Configuration ---->”选中所有选项。 编译成功后,这些模块文件都位于目录/lib/modules/2.4.0/kernel/net/ipv4/netfilter中。成功安装iptables后,必须先载入相关模块:#modprobe iptables_tables iptable_filter模块会在运行时自动载入。
http://joecen.yourblog.org/logs/168593.html
收藏到:Del.icio.us





