Chinaunix首页 | 论坛 | 博客
  • 博客访问: 250654
  • 博文数量: 93
  • 博客积分: 3001
  • 博客等级: 中校
  • 技术积分: 1050
  • 用 户 组: 普通用户
  • 注册时间: 2009-07-11 13:20
文章分类

全部博文(93)

文章存档

2011年(1)

2009年(92)

我的朋友

分类: LINUX

2009-07-11 13:49:25

iptables的基本理论

1.规则(rules

规则(rules)其实就是网络管理员预定义的条件,规则一般的定义为如果数据包头符合这样的条件,就这样处理这个数据包。规则存储在内核空间的信息包过滤表中,这些规则分别指定了源地址、目的地址、传输协议(如TCPUDPICMP)和服务类型(如HTTPFTPSMTP)等。当数据包与规则匹配时,iptables就根据规则所定义的方法来处理这些数据包,如放行(accept)、拒绝(reject)和丢弃(drop)等。配置防火墙的主要工作就是添加、修改和删除这些规则。

2.链(chains

链(chains)是数据包传播的路径,每一条链其实就是众多规则中的一个检查清单,每一条链中可以有一条或数条规则。当一个数据包到达一个链时,iptables就会从链中第一条规则开始检查,看该数据包是否满足规则所定义的条件。如果满足,系统就会根据该条规则所定义的方法处理该数据包;否则iptables将继续检查下一条规则,如果该数据包不符合链中任一条规则,iptables就会根据该链预先定义的默认策略来处理数据包。

3.表(tables

表(tables)提供特定的功能,iptables内置了3个表,即filter表、nat表和mangle表,分别用于实现包过滤,网络地址转换和包重构的功能。

1).filter

主要用于过滤数据包,该表根据系统管理员预定义的一组规则过滤符合条件的数据包。对于防火墙而言,主要利用在filter表中指定的规则来实现对数据包的过滤

Filter表是默认的表,如果没有指定哪个表,iptables就默认使用filter表来执行所以命令,filter表包含了INPUT(处理进入的数据包),RORWARD(处理转发的数据包),OUTPUT(处理本地生成的数据包)在filter表中只能允许对数据包进行接受,丢弃的操作,而无法对数据包进行更改

2).nat

     主要用于网络地址转换NAT,该表可以实现一对一,一对多,多对多等NAT 工作,iptables就是使用该表实现共享上网的,NAT表包含了PREROUTING(修改即将到来的的数据包),POSTROUTING(修改即将出去的数据包),OUTPUT(修改路由之前本地生成的数据包)

3).mangle

      主要用于对指定数据包进行更改,在内核版本2.4.18 后的linux版本中该表包含的链为:INPUT(处理进入的数据包),RORWARD(处理转发的数据包),OUTPUT(处理本地生成的数据包)POSTROUTING(修改即将出去的数据包),PREROUTING(修改即将到来的的数据包)

二.iptables的使用

iptables的命令格式较为复杂,一般的格式如下:

iptables [-t] -命令 匹配 操作

1)表选项

表选项用于指定命令应用于哪个iptables内置表。

2)命令选项

       命令选项用于指定iptables的执行方式,包括插入规则,删除规则和添加规则,如下表所示

  

命令

说明

-P--policy  <链名>

定义默认策略

-L--list  <链名>

查看iptables规则列表

-A—append  <链名>

在规则列表的最后增加1条规则

-I--insert  <链名>

在指定的位置插入1条规则

-D--delete  <链名>

从规则列表中删除1条规则

-R--replace  <链名>

替换规则列表中的某条规则

-F--flush  <链名>

删除表中所有规则

-Z--zero  <链名>

将表中数据包计数器和流量计数器归零

 

(3) 匹配选项

        匹配选项指定数据包与规则匹配所具有的特征,包括源地址,目的地址,传输协议和端口号,如下表所示

匹配

说明

-i--in-interface  <网络接口名>

指定数据包从哪个网络接口进入,如ppp0eth0eth1

-o--out-interface  <网络接口名>

指定数据包从哪块网络接口输出,如ppp0eth0eth1

-p---proto协议类型  <

指定数据包匹配的协议,如TCPUDPICMP

-s--source  <源地址或子网>

指定数据包匹配的源地址

--sport <源端口号>

阅读(478) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:端口转发

给主人留下些什么吧!~~