2小时玩转iptables 企业版 v1.6.0.ppt
《2小时玩转iptables 企业版 v1.6.0.ppt》由会员分享,可在线阅读,更多相关《2小时玩转iptables 企业版 v1.6.0.ppt(54页珍藏版)》请在三一办公上搜索。
1、ChinaUnix 讲座,2 小时玩转 iptables 企业版2006.03.18最后修改时间:2006.10.08文档维护者:白金(platinum)、陈绪(bjchenxu),v1.6.0,主题大纲,1.概述2.框架图3.语法4.实例分析5.网管策略6.使用总则、FAQ7.实战,1.概述,2.4.x、2.6.x 内核netfilter/iptables,2.1 框架图,-PREROUTING-ROUTE-FORWARD-POSTROUTING-mangle|mangle mangle|filter|v|INPUT OUTPUT|mangle mangle|filter|filter v-
2、local-|,2.2 链和表,表 filter:顾名思义,用于过滤的时候 nat:顾名思义,用于做 NAT 的时候 NAT:Network Address Translator链 INPUT:位于 filter 表,匹配目的 IP 是本机的数据包 FORWARD:位于 filter 表,匹配穿过本机的数据包,PREROUTING:位于 nat 表,用于修改目的地址(DNAT)POSTROUTING:位于 nat 表,用于修改源地址(SNAT),3.1 iptables 语法概述,iptables-t 要操作的表 要操作的链 规则号码 匹配条件-j 匹配到以后的动作,3.2 命令概述,操作命令
3、(-A、-I、-D、-R、-P、-F)查看命令(-vnxL),3.2.1-A,-A APPEND,追加一条规则(放到最后)例如:iptables-t filter-A INPUT-j DROP 在 filter 表的 INPUT 链里追加一条规则(作为最后一条规则)匹配所有访问本机 IP 的数据包,匹配到的丢弃,3.2.2-I,-I 规则号码 INSERT,插入一条规则例如:iptables-I INPUT-j DROP 在 filter 表的 INPUT 链里插入一条规则(插入成第 1 条)iptables-I INPUT 3-j DROP 在 filter 表的 INPUT 链里插入一条规
4、则(插入成第 3 条)注意:1、-t filter 可不写,不写则自动默认是 filter 表 2、-I 链名 规则号码,如果不写规则号码,则默认是 1 3、确保规则号码(已有规则数+1),否则报错,3.2.3-D,-D DELETE,删除一条规则例如:iptables-D INPUT 3(按号码匹配)删除 filter 表 INPUT 链中的第三条规则(不管它的内容是什么)iptables-D INPUT-s 192.168.0.1-j DROP(按内容匹配)删除 filter 表 INPUT 链中内容为“-s 192.168.0.1-j DROP”的规则(不管其位置在哪里)注意:1、若规则
5、列表中有多条相同的规则时,按内容匹配只删除序号最小的一条 2、按号码匹配删除时,确保规则号码 已有规则数,否则报错 3、按内容匹配删除时,确保规则存在,否则报错,3.2.3-R,-R REPLACE,替换一条规则例如:iptables-R INPUT 3-j ACCEPT 将原来编号为 3 的规则内容替换为“-j ACCEPT”注意:确保规则号码 已有规则数,否则报错,3.2.4-P,-P POLICY,设置某个链的默认规则例如:iptables-P INPUT DROP 设置 filter 表 INPUT 链的默认规则是 DROP注意:当数据包没有被规则列表里的任何规则匹配到时,按此默认规则
6、处理。动作前面不能加 j,这也是唯一一种匹配动作前面不加 j 的情况。,3.2.5-F,-F 链名 FLUSH,清空规则例如:iptables-F INPUT 清空 filter 表 INPUT 链中的所有规则 iptables-t nat-F PREROUTING 清空 nat 表 PREROUTING 链中的所有规则注意:1、-F 仅仅是清空链中规则,并不影响-P 设置的默认规则 2、-P 设置了 DROP 后,使用-F 一定要小心!3、如果不写链名,默认清空某表里所有链里的所有规则,3.2.6-vxnL,-L 链名 LIST,列出规则 v:显示详细信息,包括每条规则的匹配包数量和匹配字节
7、数 x:在 v 的基础上,禁止自动单位换算(K、M)n:只显示 IP 地址和端口号码,不显示域名和服务名称例如:iptables-L 粗略列出 filter 表所有链及所有规则 iptables-t nat-vnL 用详细方式列出 nat 表所有链的所有规则,只显示 IP 地址和端口号 iptables-t nat-vxnL PREROUTING 用详细方式列出 nat 表 PREROUTING 链的所有规则以及详细数字,不反解,3.3 匹配条件,流入、流出接口(-i、-o)来源、目的地址(-s、-d)协议类型(-p)来源、目的端口(-sport、-dport),3.3.1 按网络接口匹配,-
8、i 例如:-i eth0 匹配是否从网络接口 eth0 进来-i ppp0 匹配是否从网络接口 ppp0 进来-o 匹配数据流出的网络接口例如:-o eth0-o ppp0,3.3.2 按来源目的地址匹配,-s 可以是 IP、NET、DOMAIN,也可空(任何地址)例如:-s 192.168.0.1 匹配来自 192.168.0.1 的数据包-s 192.168.1.0/24 匹配来自 192.168.1.0/24 网络的数据包-s 192.168.0.0/16 匹配来自 192.168.0.0/16 网络的数据包-d 可以是 IP、NET、DOMAIN,也可以空例如:-d 202.106.0
9、.20 匹配去往 202.106.0.20 的数据包-d 202.106.0.0/16 匹配去往 202.106.0.0/16 网络的数据包-d 匹配去往域名 的数据包,3.3.3 按协议类型匹配,-p 可以是 TCP、UDP、ICMP 等,也可为空例如:-p tcp-p udp-p icmp-icmp-type 类型 ping:type 8 pong:type 0,3.3.4 按来源目的端口匹配,-sport 可以是个别端口,可以是端口范围例如:-sport 1000 匹配源端口是 1000 的数据包-sport 1000:3000 匹配源端口是 1000-3000 的数据包(含1000、3
10、000)-sport:3000 匹配源端口是 3000 以下的数据包(含 3000)-sport 1000:匹配源端口是 1000 以上的数据包(含 1000)-dport 可以是个别端口,可以是端口范围例如:-dport 80 匹配目的端口是 80 的数据包-dport 6000:8000 匹配目的端口是 6000-8000 的数据包(含6000、8000)-dport:3000 匹配目的端口是 3000 以下的数据包(含 3000)-dport 1000:匹配目的端口是 1000 以上的数据包(含 1000)注意:-sport 和-dport 必须配合-p 参数使用,3.3.5 匹配应用举
11、例,1、端口匹配-p udp-dport 53匹配网络中目的端口是 53 的 UDP 协议数据包2、地址匹配-s 10.1.0.0/24-d 172.17.0.0/16匹配来自 10.1.0.0/24 去往 172.17.0.0/16 的所有数据包3、端口和地址联合匹配-s 192.168.0.1-d-p tcp-dport 80匹配来自 192.168.0.1,去往 的 80 端口的 TCP 协议数据包注意:1、-sport、-dport 必须联合-p 使用,必须指明协议类型是什么2、条件写的越多,匹配越细致,匹配范围越小,3.4 动作(处理方式),ACCEPTDROPSNATDNATMAS
12、QUERADE,3.4.1-j ACCEPT,-j ACCEPT 通过,允许数据包通过本链而不拦截它 类似 Cisco 中 ACL 里面的 permit例如:iptables-A INPUT-j ACCEPT 允许所有访问本机 IP 的数据包通过,3.4.2-j DROP,-j DROP 丢弃,阻止数据包通过本链而丢弃它 类似 Cisco 中 ACL 里的 deny例如:iptables-A FORWARD-s 192.168.80.39-j DROP 阻止来源地址为 192.168.80.39 的数据包通过本机,3.4.4-j DNAT,-j DNAT-to IP-IP:端口-端口(nat
13、表的 PREROUTING 链)目的地址转换,DNAT 支持转换为单 IP,也支持转换到 IP 地址池(一组连续的 IP 地址)例如:iptables-t nat-A PREROUTING-i ppp0-p tcp-dport 80-j DNAT-to 192.168.0.1把从 ppp0 进来的要访问 TCP/80 的数据包目的地址改为 192.168.0.1iptables-t nat-A PREROUTING-i ppp0-p tcp-dport 81-j DNAT-to 192.168.0.2:80iptables-t nat-A PREROUTING-i ppp0-p tcp-dpo
14、rt 80-j DNAT-to 192.168.0.1-192.168.0.10,3.4.3-j SNAT,-j SNAT-to IP-IP:端口-端口(nat 表的 POSTROUTING 链)源地址转换,SNAT 支持转换为单 IP,也支持转换到 IP 地址池(一组连续的 IP 地址)例如:iptables-t nat-A POSTROUTING-s 192.168.0.0/24-j SNAT-to 1.1.1.1将内网 192.168.0.0/24 的原地址修改为 1.1.1.1,用于 NATiptables-t nat-A POSTROUTING-s 192.168.0.0/24-j
15、SNAT-to 1.1.1.1-1.1.1.10同上,只不过修改成一个地址池里的 IP,3.4.5-j MASQUERADE,-j MASQUERADE动态源地址转换(动态 IP 的情况下使用)例如:iptables-t nat-A POSTROUTING-s 192.168.0.0/24-j MASQUERADE 将源地址是 192.168.0.0/24 的数据包进行地址伪装,3.5 附加模块,按包状态匹配(state)按来源 MAC 匹配(mac)按包速率匹配(limit)多端口匹配(multiport),3.5.1 state,-m state-state 状态状态:NEW、RELATE
16、D、ESTABLISHED、INVALID NEW:有别于 tcp 的 syn ESTABLISHED:连接态 RELATED:衍生态,与 conntrack 关联(FTP)INVALID:不能被识别属于哪个连接或没有任何状态例如:iptables-A INPUT-m state-state RELATED,ESTABLISHED-j ACCEPT,3.5.2 mac,-m mac-mac-source MAC匹配某个 MAC 地址例如:iptables-A FORWARD-m mac-mac-source xx:xx:xx:xx:xx:xx-j DROP 阻断来自某 MAC 地址的数据包,通
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2小时玩转iptables 企业版 v1.6.0 小时 iptables v1 6.0

链接地址:https://www.31ppt.com/p-2221378.html