iptables详解

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

iptables防火墙iptables防火墙(一)iptables的表、链结构数据包控制的匹配流程添加、查看、删除规则规则的匹配条件Linux防火墙基础基本语法、控制类型编写防火墙规则netfilter位于Linux内核中的包过滤功能体系称为Linux防火墙的“内核态”iptables位于/sbin/iptables,用来管理防火墙规则的工具称为Linux防火墙的“用户态”——上述2种称呼都可以表示Linux防火墙Linux包过滤防火墙概述2-1包过滤的工作层次主要是网络层,针对IP数据包体现在对包内的IP地址、端口等信息的处理上Linux包过滤防火墙概述2-2链路层网络层传输层应用代理链路层网络层传输层应用层链路层网络层传输层应用层外部网络网络层防火墙受保护网络netfilter是Linux核心中的一个通用架构,它提供了一系列的“表”(tables),每个表由若干“链”(chains)组成,而每条链可以由一条或数条“规则”(rules)组成。实际上,netfilter是表的容器,表是链的容器,而链又是规则的容器。1.规则(rules)规则(rules)其实就是网络管理员预定义的条件,规则一般的定义为“如果数据包头符合这样的条件,就这样处理这个数据包”。规则存储在内核空间的信息包过滤表中,这些规则分别指定了源地址、目的地址、传输协议(如TCP、UDP、ICMP)和服务类型(如HTTP、FTP和SMTP)等。当数据包与规则匹配时,iptables就根据规则所定义的方法来处理这些数据包,如放行(accept)、拒绝(reject)和丢弃(drop)等。配置防火墙的主要工作就是添加、修改和删除这些规则。2.链(chains)链(chains)是数据包传播的路径,每一条链其实就是众多规则中的一个检查清单,每一条链中可以有一条或数条规则。当一个数据包到达一个链时,iptables就会从链中第一条规则开始检查,看该数据包是否满足规则所定义的条件。如果满足,系统就会根据该条规则所定义的方法处理该数据包;否则iptables将继续检查下一条规则,如果该数据包不符合链中任一条规则,iptables就会根据该链预先定义的默认策略来处理数据包。数据包传递过程中,不同的情况下所要遵循的规则组合形成了链。规则链可以分为以下两种。●内置链(Build-inChains)。●用户自定义链(User-DefinedChains)。规则链规则的作用:对数据包进行过滤或处理链的作用:容纳各种防火墙规则链的分类依据:处理数据包的不同时机默认包括5种规则链INPUT:处理入站数据包OUTPUT:处理出站数据包FORWARD:处理转发数据包POSTROUTING链:在进行路由选择后处理数据包PREROUTING链:在进行路由选择前处理数据包iptables的表、链结构3-13.表(tables)表(tables)提供特定的功能,iptables内置了3个表,即filter表、nat表和mangle表,分别用于实现包过滤,网络地址转换和包重构的功能。(1).filter表主要用于过滤数据包,该表根据系统管理员预定义的一组规则过滤符合条件的数据包。对于防火墙而言,主要利用在filter表中指定的规则来实现对数据包的过滤。Filter表是默认的表,如果没有指定哪个表,iptables就默认使用filter表来执行所有命令。(2).nat表主要用于网络地址转换NAT(3).mangle表主要用于对指定数据包进行更改规则表表的作用:容纳各种规则链表的划分依据:防火墙规则的作用相似默认包括3个规则表mangle表:为数据包设置标记nat表:修改数据包中的源、目标IP地址或端口filter表:确定是否放行该数据包(过滤)iptables的表、链结构3-2默认的表、链结构示意图iptables的表、链结构3-3filter表第1条规则第2条规则第3条规则……INPUT链……FORWARD链……OUTPUT链mangle表PREROUTING链……POSTROUTING链……INPUT链……OUTPUT链……FORWARD链……raw表PREROUTING链……OUTPUT链……nat表PREROUTING链……POSTROUTING链……OUTPUT链……规则表之间的顺序manglenatfilter规则链之间的顺序入站:PREROUTINGINPUT出站:OUTPUTPOSTROUTING转发:PREROUTINGFORWARDPOSTROUTING规则链内的匹配顺序按顺序依次检查,匹配即停止(LOG策略例外)若找不到相匹配的规则,则按该链的默认策略处理数据包过滤的匹配流程2-1匹配流程示意图数据包过滤的匹配流程2-2本机的应用进程mangle:POSTROUTINGmangle:FORWARDraw:PREROUTINGraw:OUTPUTmangle:INPUT转发数据流向入站数据流向网络A网络Bmangle:PREROUTINGnat:PREROUTINGnat:POSTROUTINGfilter:INPUTmangle:OUTPUTnat:OUTPUTfilter:OUTPUT路由选择filter:FORWARD路由选择出站数据流向语法构成iptables[-t表名]选项[链名][条件][-j控制类型]iptables的基本语法2-1[root@localhost~]#iptables-tfilter-IINPUT-picmp-jREJECTC:\Users\Administratorping192.168.4.254正在Ping192.168.4.254具有32字节的数据:来自192.168.4.254的回复:无法连到端口。来自192.168.4.254的回复:无法连到端口。……阻止ping测试几个注意事项不指定表名时,默认指filter表不指定链名时,默认指表内的所有链除非设置链的默认策略,否则必须指定匹配条件选项、链名、控制类型使用大写字母,其余均为小写数据包的常见控制类型ACCEPT:允许通过DROP:直接丢弃,不给出任何回应REJECT:拒绝通过,必要时会给出提示LOG:记录日志信息,然后传给下一条规则继续匹配iptables的基本语法2-2添加新的规则-A:在链的末尾追加一条规则-I:在链的开头(或指定序号)插入一条规则iptables的管理选项5-1[root@localhost~]#iptables-tfilter-AINPUT-ptcp-jACCEPT[root@localhost~]#iptables-IINPUT-pudp-jACCEPT[root@localhost~]#iptables-IINPUT2-picmp-jACCEPT-p用来指定协议查看规则列表-L:列出所有的规则条目-n:以数字形式显示地址、端口等信息-v:以更详细的方式显示规则信息--line-numbers:查看规则时,显示规则的序号iptables的管理选项5-2[root@localhost~]#iptables-LINPUT--line-numbersChainINPUT(policyACCEPT)numtargetprotoptsourcedestination1ACCEPTudp--anywhereanywhere2ACCEPTicmp--anywhereanywhere3REJECTicmp--anywhereanywherereject-withicmp-port-unreachable4ACCEPTtcp--anywhereanywhere[root@localhost~]#iptables-n-LINPUTChainINPUT(policyACCEPT)targetprotoptsourcedestinationACCEPTudp--0.0.0.0/00.0.0.0/0ACCEPTicmp--0.0.0.0/00.0.0.0/0REJECTicmp--0.0.0.0/00.0.0.0/0reject-withicmp-port-unreachableACCEPTtcp--0.0.0.0/00.0.0.0/0-n-L可合写为-nL删除、清空规则-D:删除链内指定序号(或内容)的一条规则-F:清空所有的规则iptables的管理选项5-3[root@localhost~]#iptables-DINPUT3[root@localhost~]#iptables-n-LINPUTChainINPUT(policyACCEPT)targetprotoptsourcedestinationACCEPTudp--0.0.0.0/00.0.0.0/0ACCEPTicmp--0.0.0.0/00.0.0.0/0ACCEPTtcp--0.0.0.0/00.0.0.0/0[root@localhost~]#iptables-F[root@localhost~]#iptables-tnat-F[root@localhost~]#iptables-tmangle-F[root@localhost~]#iptables-traw-F清空所有表的所有链设置默认策略-P:为指定的链设置默认规则iptables的管理选项5-4[root@localhost~]#iptables-tfilter-PFORWARDDROP[root@localhost~]#iptables-POUTPUTACCEPT默认策略要么是ACCEPT、要么是DROP常用管理选项汇总iptables的管理选项5-5类别选项用途添加新的规则-A在链的末尾追加一条规则-I在链的开头(或指定序号)插入一条规则查看规则列表-L列出所有的规则条目-n以数字形式显示地址、端口等信息-v以更详细的方式显示规则信息--line-numbers查看规则时,显示规则的序号删除、清空规则-D删除链内指定序号(或内容)的一条规则-F清空所有的规则设置默认策略-P为指定的链设置默认规则常见的通用匹配条件协议匹配:-p协议名地址匹配:-s源地址、-d目的地址接口匹配:-i入站网卡、-o出站网卡规则的匹配条件5-2[root@localhost~]#iptables-IINPUT-picmp-jDROP[root@localhost~]#iptables-AFORWARD-p!icmp-jACCEPT叹号!表示条件取反[root@localhost~]#iptables-AFORWARD-s192.168.1.11-jREJECT[root@localhost~]#iptables-IINPUT-s10.20.30.0/24-jDROP[root@localhost~]#iptables-AINPUT-ieth1-s192.168.0.0/16-jDROP[root@localhost~]#iptables-AINPUT-ieth1-s10.0.0.0/8-jDROP[root@localhost~]#iptables-AINPUT-ieth1-s172.16.0.0/12-jDROP外网接口常用的隐含匹配条件端口匹配:--sport源端口、--dport目的端口规则的匹配条件5-3[root@localhost~]#iptables-AFORWARD-s192.168.4.0/24-pudp--dport53-jACCEPT[root@localhost~]#iptables-AINPUT-ptcp--dport20:21-jACCEPT常见匹配条件汇总规则的匹配条件5-5类别条件类型用法通用匹配协议匹配-p协议名地址匹配-s源地址、-d目的地址接口匹配-i入站网卡、-o出站网卡隐含匹配端口匹配--sport源端口、--dport目的端口NAT服务概述1.什么是NATNAT(Networ

1 / 27
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功