欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    2023年实验三 防火墙的配置.docx

    • 资源ID:66503459       资源大小:34.03KB        全文页数:44页
    • 资源格式: DOCX        下载积分:9.9金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要9.9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2023年实验三 防火墙的配置.docx

    2023年实验三 防火墙的配置 实验三 防火墙的配置 ² 实验目的 1、了解防火墙的含义与作用 2、学习防火墙的基本配置方法 3、理解iptables工作机理 4、熟练掌握iptables包过滤命令及规则 5、学会利用iptables对网络事件进行审计 6、熟练掌握iptables NAT工作原理及实现流程 7、学会利用iptables+squid实现web应用代理 ² 实验原理 Ø 防火墙的基本原理 一什么是防火墙 在古代,人们已经想到在寓所之间砌起一道砖墙,一旦火灾发生,它能够防止火势蔓延到别的寓所,于是有了“防火墙”的概念。 进入信息时代后,防火墙又被赋予了一个类似但又全新的含义。防火墙是指设置在不同网络(如可信任的企业内部网和不可信的公共网)或网络安全域之间的一系列部件的组合。它是不同网络或网络安全域之间信息的唯一出入口,能根据企业的安全政策控制(允许、拒绝、监测)出入网络的信息流,且本身具有较强的抗攻击能力。它是提供信息安全服务,实现网络和信息安全的基础设施。 在逻辑上,防火墙是一个分离器,一个限制器,也是一个分析器,有效地监控了内部网和Internet之间的任何活动,保证了内部网络的安全。 二防火墙能做什么 1防火墙是网络安全的屏障 一个防火墙(作为阻塞点、控制点)能极大地提高一个内部网络的安全性,并通过过滤不安全的服务而降低风险。由于只有经过精心选择的应用协议才能通过防火墙,所以网络环境变得更安全。如防火墙可以禁止诸如众所周知的不安全的NFS协议进出受保护网络,这样外部的攻击者就不可能利用这些脆弱的协议来攻击内部网络。防火墙同时可以保护网络免受基于路由的攻击,如IP选项中的源路由攻击和ICMP重定向中的重定向路径。防火墙应该可以拒绝所有以上类型攻击的报文并通知防火墙管理员。 2防火墙可以强化网络安全策略 通过以防火墙为中心的安全方案配置,能将所有安全软件(如口令、加密、身份认证、审计等)配置在防火墙上。与将网络安全问题分散到各个主机上相比,防火墙的集中安全管理更经济。例如在网络访问时,一次一密口令系统和其它的身份认证系统完全可以不必分散在各个主机上,而集中在防火墙一身上。 3对网络存取和访问进行监控审计 如果所有的访问都经过防火墙,那么,防火墙就能记录下这些访问并作出日志记录,同时也能提供网络使用情况的统计数据。当发生可疑动作时,防火墙能进行适当的报警,并提供网络是否受到监测和攻击的详细信息。另外,收集一个网络的使用和误用情况也是非常重要的。首先的理由是可以清楚防火墙是否能够抵挡攻击者的探测和攻击,并且清楚防火墙的控制是否充足。而网络使用统计对网络需求分析和威胁分析等而言也是非常重要的。 4防止内部信息的外泄 通过利用防火墙对内部网络的划分,可实现内部网重点网段的隔离,从而限制了局部重点或敏感网络安全问题对全局网络造成的影响。再者,隐私是内部网络非常关心的问题,一个内部网络中不引人注意的细节可能包含了有关安全的线索而引起外部攻击者的兴趣, 甚至因此而暴漏了内部网络的某些安全漏洞。使用防火墙就可以隐蔽那些透漏内部细节如Finger,DNS等服务。Finger显示了主机的所有用户的注册名、真名,最后登录时间和使用shell类型等。但是Finger显示的信息非常容易被攻击者所获悉。攻击者可以知道一个系统使用的频繁程度,这个系统是否有用户正在连线上网,这个系统是否在被攻击时引起注意等等。防火墙可以同样阻塞有关内部网络中的DNS信息,这样一台主机的域名和IP地址就不会被外界所了解。 除了安全作用,防火墙还支持具有Internet服务特性的企业内部网络技术体系VPN。通过VPN,将企事业单位在地域上分布在全世界各地的LAN或专用子网,有机地联成一个整体。不仅省去了专用通信线路,而且为信息共享提供了技术保障。 三NAT NAT英文全称是“Network Addre Translation”,中文意思是“网络地址转换”,它是一个IETF(Internet Engineering Task Force, Internet工程任务组)标准,允许一个整体机构以一个公用IP(Internet Protocol)地址出现在Internet上。顾名思义,它是一种把内部私有网络地址(IP地址)翻译成合法网络IP地址的技术。 简单的说,NAT就是在局域网内部网络中使用内部地址,而当内部节点要与外部网络进行通讯时,就在网关(可以理解为出口,打个比方就像院子的门一样)处, 将内部地址替换成公用地址,从而在外部公网(Internet)上正常使用,NAT可以使多台计算机共享Internet连接,这一功能很好地解决了公共IP地址紧缺的问题。通过这种方法,您可以只申请一个合法IP地址,就把整个局域网中的计算机接入Internet中。这时,NAT屏蔽了内部网络,所有内部网计算机对于公共网络来说是不可见的,而内部网计算机用户通常不会意识到NAT的存在。这里提到的内部地址,是指在内部网络中分配给节点的私有IP地址,这个地址只能在内部网络中使用,不能被路由(一种网络技术,可以实现不同路径转发)。虽然内部地址可以随机挑选,但是通常使用的是下面的地址:10.0.0.010.255.255.255,172.16.0.0172.16.255.255, 192.168.0.0192.168.255.255。NAT将这些无法在互联网上使用的保留IP地址翻译成可以在互联网上使用的合法IP地址。而全局地址,是指合法的IP地址,它是由NIC(网络信息中心)或者ISP(网络服务提供商)分配的地址,对外代表一个或多个内部局部地址,是全球统一的可寻址的地址。 NAT功能通常被集成到路由器、防火墙、ISDN路由器或者单独的NAT设备中。比如Cisco路由器中已经加入这一功能,网络管理员只需在路由器的IOS中设置NAT功能,就可以实现对内部网络的屏蔽。再比如防火墙将Web Server的内部地址192.168.1.1映射为外部地址202.96.23.11,外部访问202.96.23.11地址实际上就是访问192.168.1.1。另外对资金有限的小型企业来说,现在通过软件也可以实现这一功能。Windows 98 SE、Windows 2000 都包含了这一功能。 NAT有三种类型:静态NAT(Static NAT)、动态地址NAT(Pooled NAT)、网络地址端口转换NAPT(PortLevel NAT)。 其中静态NAT设置起来最为简单和最容易实现的一种,内部网络中的每个主机都被永久映射成外部网络中的某个合法的地址。而动态地址NAT则是在外部网络中定义了一系列的合法地址,采用动态分配的方法映射到内部网络。NAPT则是把内部地址映射到外部网络的一个IP地址的不同端口上。根据不同的需要,三种NAT方案各有利弊。 动态地址NAT只是转换IP地址,它为每一个内部的IP地址分配一个临时的外部IP地址,主要应用于拨号,对于频繁的远程联接也可以采用动态NAT。当远程用户联接上之后,动态地址NAT就会分配给他一个IP地址,用户断开时,这个IP地址就会被释放而留待以后使用。 网络地址端口转换NAPT(Network Addre Port Translation)是人们比较熟悉的一种转换方式。NAPT普遍应用于接入设备中,它可以将中小型的网络隐藏在一个合法的IP地址后面。NAPT与动态地址NAT不同,它将内部连接映射到外部网络中的一个单独的IP地址上,同时在该地址上加上一个由NAT设备选定的TCP端口号。 在Internet中使用NAPT时,所有不同的信息流看起来好像来源于同一个IP地址。这个优点在小型办公室内非常实用,通过从ISP处申请的一个IP地址,将多个连接通过NAPT接入Internet。实际上,许多SOHO远程访问设备支持基于PPP的动态IP地址。这样,ISP甚至不需要支持NAPT,就可以做到多个内部IP地址共用一个外部IP地址访问Internet,虽然这样会导致信道的一定拥塞,但考虑到节省的ISP上网费用和易管理的特点,用NAPT还是很值得的。 Ø Windows 2023防火墙 Windows 2023提供的防火墙称为Internet连接防火墙,通过允许安全的网络通信通过防火墙进入网络,同时拒绝不安全的通信进入,使网络免受外来威胁。Internet连接防火墙只包含在 Windows Server 2023 Standard Edition和32位版本的 Windows Server 2023 Enterprise Edition 中。 在Windows2023服务器上,对直接连接到Internet的计算机启用防火墙功能,支持网络适配器、DSL适配器或者拨号调制解调器连接到Internet。它可以有效地拦截对Windows 2023服务器的非法入侵,防止非法远程主机对服务器的扫描,从而提高Windows 2023服务器的安全性。同时,它也可以有效拦截利用操作系统漏洞进行端口攻击的病毒,如冲击波等蠕虫病毒。如果在用Windows 2023构造的虚拟路由器上启用此防火墙功能,能够对整个内部网络起到很好的保护作用。 1启用/关闭防火墙 (1)打开“网络连接”,右击要保护的连接,单击“属性”,出现“本地连接属性”对话框。 (2)选择“高级”选项卡,单击“设置”按钮,出现启动/停止防火墙界面。如果要启用 Internet 连接防火墙,请单击“启用(O)”按钮;如果要禁用Internet 连接防火墙,请单击“关闭(F)”按钮。 2防火墙服务设置 Windows 2023 Internet连接防火墙能够管理服务端口,例如HTTP的80端口、FTP的21端口等,只要系统提供了这些服务,Internet连接防火墙就可以监视并管理这些端口。 (1)解除阻止设置。 在“例外”选项卡中,可以通过设定让防火墙禁止和允许本机中某些应用程序访问网络,加上“”表示允许,不加“”表示禁止。如果允许本机中某项应用程序访问网络,则在对话框中间列表中所列出该项服务前加“” (如果不存在则可单击“添加程序”按钮进行添加);如果禁止本机中某项应用程序访问网络,则将该项服务前的“”清除(如果不存在同样可以添加)。在“Windows防火墙阻止程序时通知我”选项前打“”则在主机出现列表框中不存在的应用程序欲访问网络时,防火墙会弹出提示框询问用户是否允许该项网络连接。 (2)高级设置。 在“高级”选项卡中,可以指定需要防火墙保护的网络连接,双击网络连接或单击“设置”按钮设置允许其他用户访问运行于本主机的特定网络服务。选择“服务”选项卡,其中列举出了网络标准服务,加上“”表示允许,不加“”表示禁止。如果允许外部网络用户访问网络的某一项服务,则在对话框中间列表中所列出该项服务前加“”(如果不存在则可单击“添加程序”按钮进行添加);如果禁止外部网络用户访问内部网络的某一项服务,则将该项服务前的“”清除(如果不存在同样可以添加)。选择“ICMP”选项卡,允许或禁止某些类型的ICMP响应,建议禁止所有的ICMP响应。 3防火墙安全日志设置 Windows2023防火墙可以记录所有允许和拒绝进入的数据包,以便进行进一步的分析。在“高级”选项卡的“安全日志记录”框中单击“设置”按钮,进入“日志设置”界面。 如果要记录被丢弃的包,则选中“记录被丢弃的数据包”复选按钮;如果要记录成功的连接,则选中“记录成功的连接”复选按钮。 日志文件默认路径为C:WINDOWSpfirewall.log,用记事本可以打开,所生成的安全日志使用的格式为W3C扩展日志文件格式,可以用常用的日志分析工具进行查看分析。你也可以重新指定日志文件,而且还可以通过“大小限制”限定文件的最大使用空间。 说明 建立安全日志是非常必要的,在服务器安全受到威胁时,日志可以提供可靠的证据。 Ø linux防火墙-iptable的应用 一iptables简介 从1.1内核开始,linux就已经具有包过滤功能了,在2.0的内核中我们采用ipfwadm来操作内核包过滤规则。之后在2.2内核中,采用了大家并不陌生的ipchains来控制内核包过滤规则。在2.4内核中我们不再使用ipchains,而是采用一个全新的内核包过滤管理工具iptables。这个全新的内核包过滤工具将使用户更易于理解其工作原理,更容易被使用,当然也将具有更为强大的功能。 实际上iptables只是一个内核包过滤的工具,iptables可以加入、插入或删除核心包过滤表格(链)中的规则。实际上真正来执行这些过滤规则的是netfilter(Linux内核中一个通用架构)及其相关模块(如iptables模块和nat模块)。 netfilter提供了一系列的“表(tables)”,每个表由若干“链(chains)”组成,而每条链中有一条或数条规则(rule)组成。我们可以这样来理解,netfilter是表的容器,表是链的容器,链又是规则的容器。 netfilter系统缺省的表为“filter”,该表中包含了INPUT、FORWARD和OUTPUT 3个链。每一条链中可以有一条或数条规则,每一条规则都是这样定义的“如果数据包头符合这样的条件,就这样处理这个数据包”。当一个数据包到达一个链时,系统就会从第一条规则开始检查,看是否符合该规则所定义的条件:如果满足,系统将根据该条规则所定义的方法处理该数据包;如果不满足则继续检查下一条规则。最后,如果该数据包不符合该链中任一条规则的话,系统就会根据预先定义的策略(policy)来处理该数据包。 图3-2-1 网络数据包在filter表中的流程 数据包在filter表中的流程如图3-2-1所示。有数据包进入系统时,系统首先根据路由表决定将数据包发给哪一条链,则可能有三种情况: (1)如果数据包的目的地址是本机,则系统将数据包送往INPUT链,如果通过规则检查,则该包被发给相应的本地进程处理;如果没有通过规则检查,系统就会将这个包丢掉。 (2)如果数据包的目的地址不是本机,也就是说,这个包将被转发,则系统将数据包送往FORWARD链,如果通过规则检查,则该包被发给相应的本地进程处理;如果没有通过规则检查,系统就会将这个包丢掉。 (3)如果数据包是由本地系统进程产生的,则系统将其送往OUTPUT链,如果通过规则检查,则该包被发给相应的本地进程处理;如果没有通过规则检查,系统就会将这个包丢掉。 当我们在使用iptables NAT功能的时候,我们所使用的表不再是“filter”表,而是“nat”表,所以我们必须使用“-t nat”选项来显式地指明这一点。因为系统缺省的表是“filter”,所以在使用filter功能时,我们没有必要显式的指明“-t filter”。 同“filter”表一样,nat表也有三条缺省的链,这三条链也是规则的容器,它们分别是: (1)PREROUTING: 可以在这里定义进行目的NAT的规则,因为路由器进行路由时只检查数据包的目的IP地址,为了使数据包得以正确路由,我们必须在路由之前就进行目的NAT。 (2)POSTROUTING: 可以在这里定义进行源NAT的规则,在路由器进行路由之后才进行源NAT。 (3)OUTPUT: 定义对本地产生的数据包的目的NAT规则。 二NAT工作原理 NAT的基本思想是为每个企业分配一个IP地址(或者是很少几个)来进行Internet传输。在企业内部,每个电脑取得一唯一的IP地址来为内部传输做路由。然而,当封包离开企业,进入ISP之后,就需要进行地址转换了。为了使这个方案可行,IP地址的范围被声明为私有的,企业可以随意在内部使用他们。仅有的规则是,没有包含这些地址的封包出现在Internet上。 说明 IP私有地址范围是:10.0.0.010.255.255.255/ 8、172.16.0.0 172.31.255.255/ 12、192.168.0.0192.168.255.255/16。 如图3-2-2所示。在企业内部,每个机器都有一个唯一的172.16.x.y形式的地址。然而,当封包离开企业时,它要经过NAT转盒,NAT盒将内部IP源地址,即图中的172.16.0.50转换成企业的真实地址(这个地址对于Internet来说是可见的),此例中为202.198.168.150。NAT盒通常和防火墙一起绑定在一个设备上,这里的防火墙通过小心地控制进出企业的封包提供了安全保障。 图3-2-2 NAT地址转换 三iptables常用操作语法 对于任何协议及协议的扩展,通用匹配都可以直接使用。 (1)匹配指定协议。 匹配 -p,-protocol使用 iptables -A INPUT -p tcp -j ACCEPT说明匹配指定的协议,指定协议的形式有以下几种:名字不分大小写,但必须是在/etc/protocols中定义的;可以使用协议相应的整数值。例如,ICMP的值是1,TCP是6,UDP是17;缺少设置ALL,相应数值是0,要注意这只代表匹配TCP、UDP、ICMP,而不是/etc/protocols中定义的所有协议;可以是协议列表,以英文逗号为分隔符,如:udp,tcp;可以在协议前加英文的感叹号表示取反,注意有空格,如:-protocol !tcp表示非TCP协议,也就是UDP和ICMP。可以看出这个取反的范围只是TCP、UDP和ICMP。 (2)以IP源地址匹配包。 匹配 -s,-src,-source使用 iptables -A INPUT -s 192.168.0.1 -j ACCEPT说明以IP源地址匹配包。地址的形式如下:单个地址,如192.168.0.1,也可写成192.168.0.1/255.255.255.255或192.168.0.1/32;网络,如192.168.0.0/24,或192.168.0.0/255.255.255.0;在地址前加英文感叹号表示取反,注意空格,如source !192.168.0.0/24表示除此地址外的所有地址;缺省是所有地址。 (3)以IP目的地址匹配包。 匹配 -d,-dst,-destination使用 iptables -A INPUT -d 192.168.0.1 -j ACCEPT说明以IP目的地址匹配包。地址的形式和source完全一样。 (4)以包进入本地使用的网络接口匹配包。 匹配 -i使用 iptables -A INPUT -i eth0 -j ACCEPT说明以包进入本地所使用的网络接口来匹配包。要注意这个匹配操作只能用于INPUT,FORWARD和PREROUTING这三个链,用在其他任何地方会提示错误信息。指定接口有以下方法:指定接口名称,如:eth0、ppp0等;使用通配符,即英文加号,它代表字符数字串。若直接用一个加号,即iptables -A INPUT -i +表示匹配所有的包,而不考虑使用哪个接口。通配符还可以放在某一类接口的后面,如:eth+表示匹配所有从Ethernet接口进入的包;在接口前加英文感叹号表示取反,如:-i ! eth0意思是匹配来自除eth0外的所有包。 (5)以包离开本地所使用的网络接口来匹配包。 匹配 -o使用 iptables -A OUTPUT -o eth1 -j ACCEPT说明以包离开本地所使用的网络接口来匹配包。要注意这个匹配操作只能用于OUTPUT,FORWARD和POSTROUTING这三个链,用在其他任何地方会提示错误信息。 (6)匹配通信源端口。 匹配 -source-port,-sport使用 iptables -A INPUT -p tcp -sport 1111说明当通信协议为TCP或UDP时,可以指定匹配的源端口,但必须与匹配协议相结合使用。 (7)匹配通信源端口。 匹配 - destination-port,-dport使用 iptables -A INPUT -p tcp -dport 80说明当通信协议为TCP或UDP时,可以指定匹配的目的端口,但必须与匹配协议相结合使用。 五iptables功能扩展 1TCP扩展 iptables可以扩展,扩展分为两种:一种是标准的;另一种是用户派生的。如果指定了“-p tcp”,那么TCP扩展将自动加载,通过-tcp-flags扩展,我们指定TCP报文的哪些Flags位被设置,在其后跟随两个参数:第一个参数代表Mask,指定想要测验的标志位;第二个参数指定哪些位被设置。 例:设置iptables防火墙禁止来自外部的任何tcp主动请求,并对此请求行为进行事件记录。 其中ULOG指定对匹配的数据包进行记录,由日志生成工具ULOG生成iptables防火日志,-log-prefix选项为记录前缀。 2ICMP扩展 例:设置iptables防火墙允许来自外部的某种类型/代码的ICMP数据包。 其中-icmp-type为扩展命令选项,其后参数可以是三种模式: (1)ICMP类型名称(例如,host-unreachable)。 (2)ICMP类型值(例如3)。 (3)ICMP类型及代码值(8/0)。 六状态检测 “状态”的意思是指如果一个数据包是对先前从防火墙发出去的包的回复,则防火墙自动不用检查任何规则就立即允许该数据包进入并返回给请求者,这样就不用设置许多规则定义就可实现应用的功能。 我们可以把请求端与应答端之间建立的网络通信连接称为网络会话,每个网络会话都包括以下信息源IP地址、目标IP地址、源端口、目的端口,称为套接字对;协议类型、连接状态(TCP协议)和超时时间等。防火墙把这些信息称为状态(stateful)。状态包过滤防火墙能在内存中维护一个跟踪状态的表,比简单的包过滤防火墙具有更大的安全性,而iptables就是一种基于状态的防火墙。命令格式如下: iptables -m state -state ! state ,state,state,state 其中,state表是一个由逗号分割的列表,用来指定连接状态,状态分为4种: (1)NEW: 该包想要建立一个新的连接(重新连接或连接重定向) (2)RELATED:该包是属于某个已经建立的连接所建立的新连接。举例:FTP的数据传输连接和控制连接之间就是RELATED关系。 (3)ESTABLISHED:该包属于某个已经建立的连接。 (4)INVALID:该包不匹配于任何连接,通常这些包被DROP。 七NAT操作 前面提到在iptables防火墙中提供了3种策略规则表:Filter、Mangle和NAT,这3种表功能各不相同,而最为常用的就是filter和nat表。 nat表仅用于NAT,也就是网络地址转换。做过NAT操作的数据包的地址就被改变了,当然这种改变是根据我们的规则进行的。属于流的包只会经过这个表一次,经一个包被允许做NAT,那么余下的包都会自动地做相同的操作。也就是说,余下的包不会再通过这个表一个一个的被NAT,而是自动完成的。常用操作分为以下几类。 (1)SNAT(source network addre translation,源网络地址目标转换)。 SNAT是POSTROUTING链表的作用,在封包就要离开防火墙之前改变其源地址,这在极大程度上可以隐藏本地网络或者DMZ等。比如,多个PC机使用路由器共享上网,每个PC机都配置了内网IP(私有IP),PC机访问外部网络的时候,路由器将数据包的报头中的源地址替换成路由器的IP,当外部网络的服务器比如网站Web服务器接到访问请求的时候,它的日志记录下来的路由器的IP,而不是PC机的内网IP,这是因为,这个服务器收到的数据包的报头里边的“源地址”已经被替换了。所以叫做SNAT,基于源地址的地址转换。 例如更改所有来自192.168.0.1/24的数据包的源IP地址为10.0.0.1,其iptables实现为: (2)DNAT(destination network addre translation,目标网络地址转换)。 DNAT是PREROUTING链表的作用,在封包刚刚到达防火墙时改变其目的地址,以使包能重路由到某台主机。典型的应用是,有个Web服务器放在企业网络DMZ区,其配置了内网IP地址,企业防火墙的的外网接口配置了企业唯一的公网IP,互联网上的访问者使用公网IP来访问这个网站,当访问的时候,客户端发出一个数据包,这个数据包的报头里边,目标地址写的是防火墙的公网IP,然后再把这个数据包发送到DMZ区的Web服务器上,这样,数据包就穿透了防火墙,并从公网IP变成了一个对DMZ区的访问了。所以叫做DNAT,基于目标的网络地址转换。 例如更改所有来自202.98.0.1/24的数据包的目的IP地址为192.168.0.1,其iptables实现为: (3)REDIRECT(重定向)。 REDIRECT是DNAT的特殊情况是重定向,也就是所谓的Redirection,这时候就相当于将符合条件的数据包的目的IP地址改为数据包进入系统时的网络接口的IP地址。通常是在与squid配置形成透明代理时使用,假设squid的监听端口是3128,我们可以通过以下语句来将来自192.168.0.1/24,目的端口为80的数据包重定向到squid监听: (4)MASQUERADE(地址伪装)。 在iptables中有着和SNAT相近的效果,但也有一些区别。在使用SNAT的时候,出口IP的地址范围可以是一个,也可以是多个,例如把所有 192.168.0.0/2 4网段数据包 SNAT 成202.98.0.150/202.98.0.151/202.98.0.152等几个IP然后发出去,其iptables实现为: SNAT即可以NAT成一个地址,也可以NAT成多个地址。但是,对于SNAT来说不管是几个地址,必须明确指定转换的目标地址IP。假如当前系统用的是ADSL动态拨号方式,那么每次拨号,出口IP都会改变,而且改变的幅度很大,不一定是202.98.0.150到202.98.0.152范围内的地址,这个时候如果使用SNAT的方式来配置iptables就会出现麻烦了,因为每次拨号后出口IP都会变化,而iptables规则内的IP是不会随着自动变化的,每次地址变化后都必须手工修改一次iptables,把规则里边的固定的IP改成新的IP,这样是非常不好用的。 MASQUERADE就是针对这种场景而设计的,它的作用是从防火墙外网接口上自动获取当前IP地址来做NAT,比如下边的命令: 八防火墙应用代理 1代理服务器概述 在TCP/IP网络中,传统的通信过程是这样的:客户端向服务器请求数据,服务器响应该请求,将数据传送给客户端,如图3-2-3所示。 图3-2-3 直接访问Internet 在引入了代理服务器以后,这一过程变成了这样:客户端向服务器发起请求,该请求被送到代理服务器;代理服务器分析该请求,先查看自己缓存中是否有请求数据,如果有就直接传递给客户端,如果没有就代替客户端向该服务器发出请求。服务器响应以后,代理服务将响应的数据传递给客户端,同时在自己的缓存中保留一份该数据的拷贝。这样,再有客户端请求相同的数据时,代理服务器就可以直接将数据传送给客户端,而不需要再向该服务器发起请求,如图3-2-4所示。 图3-2-4 通过代理服务器访问Internet 2代理服务器功能 一般说来,代理服务器具有以下的功能: (1)通过缓存增加访问速度。 随着Internet的迅猛发展,网络带宽变得越来越珍贵。所以为了提高访问速度,好多ISP都提供代理服务器,通过代理服务器的缓存功能来加快网络的访问速度。一般说来,大多数的代理服务器都支持HTTP缓存,但是,有的代理服务器也支持FTP缓存。在选择代理服务器时,对于大多数的组织,只需要HTTP缓存功能就足够了。 通常,缓存有主动缓存被动缓存之分。所谓被动缓存,指的是代理服务器只在客户端请求数据时才将服务器返回的数据进行缓存,如果数据过期了,又有客户端请求相同的数据时,代理服务器又必须重新发起新的数据请求,在将响应数据传送给客户端时又进行新的缓存。所谓主动缓存,就是代理服务器不断地检查缓存中的数据,一旦有数据过期,则代理服务器主动发起新的数据请求来更新数据。这样,当有客户端请求该数据时就会大大缩短响应时间。对于数据中的认证信息,大多数的代理服务器都不会进行缓存的。 (2)提供用私有IP访问Internet的方法。 IP地址是不可再生的宝贵资源,假如你只有有限的IP地址,但是需要提供整个组织的Internet访问能力,那么,你可以通过使用代理服务器来实现这一点。 (3)提高网络的安全性。 如果内部用户访问Internet都是通过代理服务器,那么代理服务器就成为进入Internet的唯一通道;反过来说,代理服务器也是Internet访问内部网络的唯一通道,如果你没有做反向代理,则对于Internet上的主机来说,你的整个内部网只有代理服务器是可见的,从而大大增强了网络的安全性。 3传统、透明和反向代理服务器 (1)传统代理服务器。 传统代理常被用于缓存静态网页(例如:html文件和图片文件等)到本地网络上的一台主机上(即代理服务器)。不缓存的页面被第二次访问的时候,浏览器将直接从本地代理服务器那里获取请求数据而不再向原Web站点请求数据。这样就节省了宝贵的网络带宽,而且提高了访问速度。但是,要想实现这种方式,必须在每一个内部主机的浏览器上明确指明代理服务器的IP地址和端口号。客户端上网时,每次都把请求给代理服务器处理,代理服务器根据请求确定是否连接到远程Web服务器获取数据。如果在本地缓冲区有目标文件,则直接将文件传给用户即可。如果没有的话则先取回文件,并在本地保存一份缓冲,然后将文件发给客户端浏览器。 (2)透明代理服务器。 透明代理与传统代理的功能完全相同。但是,代理操作对客户端浏览器是透明的(即不需指明代理服务器的IP和端口)。透明代理服务器阻断网络通信,并且过滤出访问外部的HTTP(80端口)流量。如果客户端的请求在本地有缓冲则将缓冲的数据直接发给用户,如果在本地没有缓冲则向远程Web服务器发出请求,其余操作和传统代理服务器完全相同。对于Linux操作系统来说,透明代理使用iptables实现。因为不需要对浏览器作任何设置,所以,透明代理对于ISP来说特别有用。 (3)反向代理服务器。 反向代理是和前两种代理完全不同的一种代理服务。使用它可以降低原始Web服务器的负载。反向代理服务器承担了对原始Web服务器的静态页面的请求,防止原始服务器过载。如图3-2-5所示,它位于本地Web服务器和Internet之间,处理所有对Web服务器的请求。如果互联网用户请求的页面在代理器上有缓冲的话,代理服务器直接将缓冲内容发送给用户。如果没有缓冲则先向Web服务器发出请求,取回数据,本地缓存后再发送给用户。这种方式通过降低了向Web服务器的请求数从而降低了Web服务器的负载。 图3-2-5 反向代理服务器位于Internet与组织服务器之间 4代理服务器squid简介 Squid是一个缓存Internet数据的一个开源软件,它会接收用户的下载申请,并自动处理所下载的数据。也就是说,当一个用户要下载一个主页时,他向squid发出一个申请,要求squid替它下载,squid连接申请网站并请求该主页,然后把该主页传给用户同时保留一个备份,当别的用户申请同样的页面时,squid把保存的备份立即传给用户,使用户觉得速度相当快。目前squid可以代理HTTP、FTP、GOPHER、SSL和WAIS协议,暂不能代理POP、NNTP等协议。但是已经有人开始改进squid,相信不久的将来,squid将能够代理这些协议。 Squid不是对任何数据都进行缓存。像信用卡账号、可以远方执行的Script、经常变换的主页等是不适合缓存的。Squid可以根据用户的需要进行设置,过滤掉不想要的东西。 Squid可用在很多操作系统中,如Digital Unix, FreeBSD, HP-UX, Linux, Solaris,OS/2等,也有不少人在其他操作系统中重新编译过Squid。 Squid对内存有一定的要求,一般不应小于128M,硬盘最好使用服务器专用SCSI硬盘。 Squid是一个高性能的代理缓存服务器,和一般的代理缓存软件不同,Squid用一个单独的、非模块化的、I/O驱动的进程来处理所有的客户端请求。 Squid将数据元缓存在内存中,同时也缓存DNS查询的结果。此外,它还支持非模块化的DNS查询,对失败的请求进行消极缓存。Squid支持SSL,支持访问控制。由于使用了ICP(轻量Internet缓存协议),Squid能够实现层叠的代理阵列,从而最大限度地节约带宽。 Squid由一个主要的服务程序Squid,一个DNS查询程序dnerver,几个重写请求和执行认证的程序,以及几个管理工具组成。当Squid启动以后,它可以派生出预先指定数目的dnerver进程,而每一个dnerver进程都可以执行单独的DNS查询,这样就减少了服务器等待DNS查询的时间。 5Squid常用配置选项 因为缺省的配置文件不能使Squid正常启动服务,所以我们必须首先修改该配置文件的有关内容,才能让Squid运行起来。 下面是squid.conf文件的结构。squid.conf配置文件的可以分为13个部分,这13个部分如下有所示。 虽然Squid的配置文件很庞大,但是如果你只是为一个中小型网络提供代理服务,并且只准备使用一台服务器,则只需要修改配置文件中的几个选项。 6Squid常用命令选项 (1)端口号。 http_port指令告诉squid在哪个端口侦听HTTP请求。默认端口是3128:http_port 3128,如果要squid作为加速器运行则应将它设为80。 你能使

    注意事项

    本文(2023年实验三 防火墙的配置.docx)为本站会员(l****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开