欢迎来到天天文库
浏览记录
ID:15959535
大小:166.00 KB
页数:41页
时间:2018-08-06
《linux-iptables配置》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、一iptables的基本理论1.规则(rules)规则(rules)其实就是网络管理员预定义的条件,规则一般的定义为“如果数据包头符合这样的条件,就这样处理这个数据包”。规则存储在内核空间的信息包过滤表中,这些规则分别指定了源地址、目的地址、传输协议(如TCP、UDP、ICMP)和服务类型(如HTTP、FTP和SMTP)等。当数据包与规则匹配时,iptables就根据规则所定义的方法来处理这些数据包,如放行(accept)、拒绝(reject)和丢弃(drop)等。配置防火墙的主要工作就是添加、修改和删除这些规则。2.链(chains)链(chains)是数据包传播的路径,每一条链其实就是众
2、多规则中的一个检查清单,每一条链中可以有一条或数条规则。当一个数据包到达一个链时,iptables就会从链中第一条规则开始检查,看该数据包是否满足规则所定义的条件。如果满足,系统就会根据该条规则所定义的方法处理该数据包;否则iptables将继续检查下一条规则,如果该数据包不符合链中任一条规则,iptables就会根据该链预先定义的默认策略来处理数据包。3.表(tables)表(tables)提供特定的功能,iptables内置了3个表,即filter表、nat表和mangle表,分别用于实现包过滤,网络地址转换和包重构的功能。(1).filter表主要用于过滤数据包,该表根据系统管理员预定
3、义的一组规则过滤符合条件的数据包。对于防火墙而言,主要利用在filter表中指定的规则来实现对数据包的过滤Filter表是默认的表,如果没有指定哪个表,iptables就默认使用filter表来执行所有命令,filter表包含了INPUT链(处理进入的数据包),RORWARD链(处理转发的数据包),OUTPUT链(处理本地生成的数据包)在filter表中只能允许对数据包进行接受,丢弃的操作,而无法对数据包进行更改(2).nat表 主要用于网络地址转换NAT,该表可以实现一对一,一对多,多对多等NAT工作,iptables就是使用该表实现共享上网的,NAT表包含了PREROUTING链(
4、修改即将到来的数据包),POSTROUTING链(修改即将出去的数据包),OUTPUT链(修改路由之前本地生成的数据包)(3).mangle表 主要用于对指定数据包进行更改,在内核版本2.4.18后的linux版本中该表包含的链为:INPUT链(处理进入的数据包),RORWARD链(处理转发的数据包),OUTPUT链(处理本地生成的数据包)POSTROUTING链(修改即将出去的数据包),PREROUTING链(修改即将到来的数据包)二.iptables的使用iptables的命令格式较为复杂,一般的格式如下:iptables[-t表]-命令匹配操作(1)表选项表选项用于指定命令应用于哪
5、个iptables内置表。(2)命令选项 命令选项用于指定iptables的执行方式,包括插入规则,删除规则和添加规则,如下表所示 命令说明-P或--policy 链名>定义默认策略-L或--list 链名>查看iptables规则列表-A或—append 链名>在规则列表的最后增加1条规则-I或--insert 链名>在指定的位置插入1条规则-D或--delete 链名>从规则列表中删除1条规则-R或--replace 链名>替换规则列表中的某条规则-F或--flush 链名>删除表中所有规则-Z或--zero 链名>将表中数据包计数器和流量计数器归零(3)匹配选项
6、 匹配选项指定数据包与规则匹配所具有的特征,包括源地址,目的地址,传输协议和端口号,如下表所示匹配说明-i或--in-interface 网络接口名>指定数据包从哪个网络接口进入,-o或--out-interface 网络接口名>指定数据包从哪个网络接口输出-p或---proto协议类型指定数据包匹配的协议,如TCP、UDP和ICMP等-s或--source 源地址或子网>指定数据包匹配的源地址--sport源端口号>
7、根据本规则的动作(accept,reject,log等),决定下一步执行的情况,后续执行一般有三种情况。1。一种是继续执行当前规则队列内的下一条规则。比如执行过Filter队列内的LOG后,还会执行Filter队列内的下一条规则。2。一种是中止当前规则队列的执行,转到下一条规则队列。比如从执行过accept后就中断Filter队列内其它规则,跳到nat队列规则去执行3。一种是中止所有规则队列的执行。iptab
此文档下载收益归作者所有