学习情境5项目1管理与维护Iptables防火墙.ppt_第1页
学习情境5项目1管理与维护Iptables防火墙.ppt_第2页
学习情境5项目1管理与维护Iptables防火墙.ppt_第3页
学习情境5项目1管理与维护Iptables防火墙.ppt_第4页
学习情境5项目1管理与维护Iptables防火墙.ppt_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Linux网络服务器配置管理项目实训教程,杨云 等编著 中国水利水电出版社,1. 项目课题引入,2. 防火墙的工作原理,3. 防火墙的配置与管理,4. NAT的配置,5. 现场演示案例,课题引入项目背景,假设某单位租用DDN专线上网。网络拓扑如下图所示。iptables防火墙的eth0接口连接外网,IP地址为00;eth1接口连接内网,IP地址为。假设在内网中存在WEB、DNS和E-mail3台服务器,这3台服务器都有公有IP地址。其IP地址如图所示。设置防火墙规则加强对内网服务器的保护,并允许外网的用户可以访问此3台服务器。,课题引入项目分析,完成本项目需要解决的问题: 1、什么是防火墙,其工作原理是什么 2、如何使用Iptables进行防火墙设置 3、如何配置包过滤防火墙 4、如何实现NAT,课题引入教学目标,学习本课需要实现的教学目标: 掌握防火墙的概念和工作原理 掌握Iptables的结构和配置方法 掌握包过滤防火墙的配置方法 掌握NAT的配置方法,课题引入应达到的职业能力,学生学习本课后应该具有的职业能力: 掌握为企业设计防火墙的能力 掌握Linux下Iptables的配置方法 掌握包过滤防火墙的配置能力 掌握NAT的配置能力 具有较好的团队合作能力,项目问题一 防火墙的工作原理,防火墙是一种非常重要的网络安全工具,利用防火墙可以保护企业内部网络免受外网的威胁,作为网络管理员,掌握防火墙的安装与配置非常重要。 防火墙分成2种: 代理服务器型防火墙 包过滤型防火墙,包过滤型防火墙,包过滤型防火墙内置于Linux系统的内核,在网络层或传输层对经过的数据包进行筛选。筛选的依据是系统内设置的过滤规则(ACL)。通过检查数据流中每个数据包的源地址、目的地址、所有的协议、端口号等因素,来决定是否允许该数据包通过。如图所示是包过滤型防火墙常用的一种模式,主要用来阻隔来自外网对内部网络的威胁。,包过滤型防火墙有两种基本的默认访问控制策略: 一种是先禁止所有的数据包通过,然后再根据需要允许满足匹配规则的数据包通过。 一种是先允许所有的数据包通过,再根据需要拒绝满足匹配规则的数据包通过。,代理服务器型防火墙,代理服务器型防火墙是应用网关型防火墙,通常工作在应用层。代理服务器实际上是运行在防火墙上的一种服务器程序。服务器监听客户机的请求,如申请浏览网页等。当内网的客户机请求与外网的真实服务器连接时,客户端首先连接代理服务器,然后再由代理服务器与外网真实的服务器建立连接,取得客户想要的信息,代理服务器再把信息返回给客户。,包过滤型防火墙工作原理,包过滤型防火墙的工作过程: (1)数据包从外网传送给防火墙后,防火墙在IP层向TCP层传输数据前,将数据包转发给包检查模块进行处理。 (2)首先与第一条过滤规则进行比较。 (3)如果与第一条规则匹配,则进行审核,判断是否允许传输该数据包,如果允许则传输,否则查看该规则是否阻止该数据包通过,如果阻止则将该数据包丢弃。 (4)如果与第一条过滤规则不同,则查看是否还有下一条规则。如果有,则与下一条规则匹配,如果匹配成功,则进行与(3)相同的审核过程。 (5)依此类推,一条一条规则匹配,直到最后一条过滤规则。如果该数据包与所有的过滤规则均不匹配,则采用防火墙的默认访问控制策略策略(丢掉该数据包,或允许该数据包通过)。,包过滤型防火墙工作原理,包过滤型防火墙原理图,包过滤规则检查内容: 源、目标IP地址 TCP和UDP的源、目的端口号 协议类型 ICMP消息类型 TCP报头中的ACK位、序列号、确认号 IP校验和,项目问题二 Netfilter/iptables架构,从1.1内核开始,Linux下的包过滤系统经历了3个阶段: 在2.0内核中,采用ipfwadm来操作内核包过滤规则。 在2.2内核中,采用ipchains来控制内核包过滤规则。 在2.4内核中,采用了一个全新的内核包过滤管理工具iptables。 Netfilter/iptables最早是与2.4内核版本的Linux系统集成的IP信息包过滤系统。它由Netfilter和iptables两个组件组成。,Netfilter/iptables架构,Netfilter组件称为内核空间,它集成在Linux的内核中。主要由信息包过滤表(tables)组成,而表由若干个链组成,每条链中可以由一条或者多条规则组成。总的来说,Netfilter是表的容器,表是链的容器,而链又是规则的容器。,Netfilter/iptables架构,(1)规则。规则存储在内核的包过滤表中,分别指定了源、目的IP地址、传输协议、服务类型等。当数据包与规则匹配时,就根据规则所定义的方法来处理数据包,如放行、丢弃等动作。 (2)链。链是数据包传播的路径,每一条链其实就是众多规则中的一个检查清单,每一条链中可以有一条或数条规则。当数据包到达一条链时,会从链中第一条规则开始检查,看该数据包是否满足规则所定义的条件,如果满足,系统就会根据该条规则所定义的方法处理该数据包;否则将继续检查下一条规则。如果该数据包不符合链中任一条规则,会根据该链预先定义的默认策略处理数据包。,Netfilter/iptables架构,(3)表。Netfilter中内置有3张表:filter表,nat表和mangle表。其中filter表用于实现数据包的过滤、nat表用于网络地址转换、mangle表用于包的重构。 filter表是iptables默认的表, 主要用于数据包的过滤。filter表包含了INPUT链(处理进入的数据包)、FORWARD链(处理转发的数据包)和OUTPUT链(处理本地生成的数据包)。 nat表主要用于网络地址转换。nat表包含了PREROUTIN链(修改即将到来的数据包)、OUTPUT链(修改在路由之前本地生成的数据包)和POSTROUTING链(修改即将出去的数据包)。 mangle表主要用于对指定的包进行修改。在Linux 2.4.18内核之前,mangle表仅包含PREROUTING链和OUTPUT链。在Linux2.4.18内核之后,包括PREROUTING、INPUT、FORWARD、OUTPUT和POSTROUTING五个链。,iptables传输数据包过程,iptables传输数据包的过程如下图所示。,iptables传输数据包过程,打开Linux的路由转发功能: (1) 修改内核变量ip_forward (2)修改/etc/sysctl.conf文件使“net.ipv4.ip_forward”的值设置为1 。,iptables命令,iptables命令格式为: iptables -t 表名 -命令 链名 匹配条件 目标动作 Iptables表的常用命令:,iptables命令,Iptables命令中的常用匹配规则:,iptables命令,Iptables命令中的常用目标动作选项:,iptables命令,制定永久性规则集: 保存规则集: 恢复规则集:,项目问题三 使用iptables配置包过滤防火墙,【例15-1】清除所有链中的规则 。,iptables命令举例,【例15-2】设置filter表中3个链的默认策略为拒绝 。,【例15-3】查看所有链的规则列表 。,iptables命令举例,【例15-4】添加一个用户自定义的链custom 。,iptables命令举例,【例15-5】向filter表的INPUT链的最后添加一条规则,对来自这台主机的数据包丢弃 。,iptables命令举例,【例15-6】向filter表中的INPUT链的第3条规则前面插入一条规则,允许来自于非/24网段的主机对本机的25端口的访问 。,iptables命令举例,【例15-7】向filter表的INPUT链中添加一条规则,拒绝外界主机访问本机tcp协议的100至1024端口。,iptables命令举例,【例15-8】向filter表的INPUT链中添加一条规则,拒绝来自其他主机的ping请求 。,项目问题三 NAT的基本知识,NAT的主要功能: (1)从Intranet传出的数据包由NAT将它们的专用地址转换为公用地址。 (2)从Internet传入的数据包由NAT将它们的公用地址转换为专用地址。 (3)支持多重服务器和负载均衡。 (4)实现透明代理 。,NAT的基本知识,NAT的工作过程: (1)客户机将数据包发给运行NAT的计算机。 (2) NAT将数据包中的端口号和专用的IP地址换成它自己的端口号和公用的IP地址,然后将数据包发给外部网络的目的主机,同时记录一个跟踪信息在映像表中,以便向客户机发送回答信息。 (3)外部网络发送回答信息给NAT。 (4)NAT将所收到的数据包的端口号和公用IP地址转换为客户机的端口号和内部网络使用的专用IP地址并转发给客户机。,NAT的基本知识,NAT的工作过程示意图:,NAT的基本知识,NAT的分类: (1)源NAT(Source NAT,SNAT)。SNAT指修改第一个包的源IP地址。SNAT会在包送出之前的最后一刻做好Post-Routing的动作。Linux中的IP伪装(MASQUERADE)就是SNAT的一种特殊形式。 (2)目的NAT(Destination NAT,DNAT)。DNAT是指修改第一个包的目的IP地址。DNAT总是在包进入后立刻进行Pre-Routing动作。端口转发、负载均衡和透明代理均属于DNAT。,使用Iptables实现NAT,用户根据规则所处理的信息包类型,使用iptables命令设置NAT规则: 要做源IP地址转换的数据包的规则被添加到POSTROUTING链中。 要做目的IP地址转换的数据包的规则被添加到PREROUTING链中。 直接从本地出去的数据包的规则被添加到OUTPUT链中。,使用Iptables实现NAT,数据包穿越NAT的工作流程示意图:,使用Iptables实现NAT,【例15-10】假设某企业网中NAT服务器安装了双网卡,eth0连接外网,eth1连接内网,IP地址为。企业内部网络的客户机都只有私有IP地址。利用NAT服务使企业内部网络的计算机能够连接Internet网络。,【例15-10】的解决方案1,假设eth0的IP地址是静态分配的。公网IP地址池为00-50 。此时应作SNAT,iptables命令的-j参数的语法格式为: -j SNAT -to-source/-to IP1-IP2:port1 -port2 配置步骤: 打开Linux的内核转发功能。 rootRHEL4 # echo “1”/proc/sys/net/ipv4/ip_forward 实现SNAT。 rootRHEL4 # iptables t nat A POSTROUTING p tcp o eth0 j SNAT -to 00-50:1025:30000,【例15-10】的解决方案2,假设连接外网的接口是利用ADSL拨号连接的ppp0。 此时应作IP伪装,iptables命令的-j参数的语法格式为: -j MASQUERADE 配置步骤: 打开Linux的内核转发功能。 rootRHEL4 # echo “1”/proc/sys/net/ipv4/ip_forward 实现IP伪装。 rootRHEL4 # iptables t nat A POSTROUTING o ppp0 -j MASQUERADE,使用Iptables实现NAT,【例15-11】假设某企业网中NAT服务器安装了双网卡,eth0连接外网,IP地址为00。eth1连接内网,IP地址为。企业内部网络WEB服务器的IP地址为。要求当Internet网络中的用户在浏览器中输入http:/ 00时可以访问到内网的WEB服务器。,【例15-11】的解决方案,根据题目要求可知,此时应作DNAT。iptables命令的-j参数的语法格式为: -j DNAT -to-destination/-to IP1-IP2:port1 -port2 实现DNAT的配置语句: # iptables t nat A PREROUTING p tcp d 00 -dport 80 j DNAT -to :80 或者: # iptables t nat A PREROUTING p tcp i eth0 -dport 80 j DNAT -to :80,总结,本项目的解决方案: /1. 清空所有的链规则 rootRHEL4 # iptables -F /2. 禁止iptables防火墙转发任何数据包 rootRHEL4 # iptables -P FORWARD DROP /3. 建立来自Internet网络的数据包的过滤规则 # iptables -A FORWARD p tcp d p tcp -dport 80 -i eth0 -j ACCEPT # iptables -A FORWARD p

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论