人人范文网 范文大全

实验三 防火墙的配置

发布时间:2020-03-02 21:57:13 来源:范文大全 收藏本文 下载本文 手机版

实验三 防火墙的配置

 实验目的

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.0~10.255.255.255,172.16.0.0~172.16.255.255, 192.168.0.0~192.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(Port-Level 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 2003防火墙

Windows 2003提供的防火墙称为Internet连接防火墙,通过允许安全的网络通信通过防火墙进入网络,同时拒绝不安全的通信进入,使网络免受外来威胁。Internet连接防火墙只包含在 Windows Server 2003 Standard Edition和32位版本的 Windows Server 2003 Enterprise Edition 中。

在Windows2003服务器上,对直接连接到Internet的计算机启用防火墙功能,支持网络适配器、DSL适配器或者拨号调制解调器连接到Internet。它可以有效地拦截对Windows 2003服务器的非法入侵,防止非法远程主机对服务器的扫描,从而提高Windows 2003服务器的安全性。同时,它也可以有效拦截利用操作系统漏洞进行端口攻击的病毒,如冲击波等蠕虫病毒。如果在用Windows 2003构造的虚拟路由器上启用此防火墙功能,能够对整个内部网络起到很好的保护作用。

1.启用/关闭防火墙

(1)打开“网络连接”,右击要保护的连接,单击“属性”,出现“本地连接属性”对话框。

(2)选择“高级”选项卡,单击“设置”按钮,出现启动/停止防火墙界面。如果要启用 Internet 连接防火墙,请单击“启用(O)”按钮;如果要禁用Internet 连接防火墙,请单击“关闭(F)”按钮。

2.防火墙服务设置

Windows 2003 Internet连接防火墙能够管理服务端口,例如HTTP的80端口、FTP的21端口等,只要系统提供了这些服务,Internet连接防火墙就可以监视并管理这些端口。

(1)解除阻止设置。

在“例外”选项卡中,可以通过设定让防火墙禁止和允许本机中某些应用程序访问网络,加上“√”表示允许,不加“√”表示禁止。如果允许本机中某项应用程序访问网络,则在对话框中间列表中所列出该项服务前加“√” (如果不存在则可单击“添加程序”按钮进行添加);如果禁止本机中某项应用程序访问网络,则将该项服务前的“√”清除(如果不存在同样可以添加)。在“Windows防火墙阻止程序时通知我”选项前打“√”则在主机出现列表框中不存在的应用程序欲访问网络时,防火墙会弹出提示框询问用户是否允许该项网络连接。

(2)高级设置。

在“高级”选项卡中,可以指定需要防火墙保护的网络连接,双击网络连接或单击“设置”按钮设置允许其他用户访问运行于本主机的特定网络服务。选择“服务”选项卡,其中列举出了网络标准服务,加上“√”表示允许,不加“√”表示禁止。如果允许外部网络用户访问网络的某一项服务,则在对话框中间列表中所列出该项服务前加“√”(如果不存在则可单击“添加程序”按钮进行添加);如果禁止外部网络用户访问内部网络的某一项服务,则将该项服务前的“√”清除(如果不存在同样可以添加)。选择“ICMP”选项卡,允许或禁止某些类型的ICMP响应,建议禁止所有的ICMP响应。

3.防火墙安全日志设置

Windows2003防火墙可以记录所有允许和拒绝进入的数据包,以便进行进一步的分析。在“高级”选项卡的“安全日志记录”框中单击“设置”按钮,进入“日志设置”界面。

如果要记录被丢弃的包,则选中“记录被丢弃的数据包”复选按钮;如果要记录成功的连接,则选中“记录成功的连接”复选按钮。

日志文件默认路径为C:\\WINDOWS\\pfirewall.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.0~10.255.255.255/

8、172.16.0.0 ~172.31.255.255/

12、192.168.0.0~192.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功能扩展 1.TCP扩展

iptables可以扩展,扩展分为两种:一种是标准的;另一种是用户派生的。如果指定了“-p tcp”,那么TCP扩展将自动加载,通过--tcp-flags扩展,我们指定TCP报文的哪些Flags位被设置,在其后跟随两个参数:第一个参数代表Mask,指定想要测验的标志位;第二个参数指定哪些位被设置。

例:设置iptables防火墙禁止来自外部的任何tcp主动请求,并对此请求行为进行事件记录。

其中ULOG指定对匹配的数据包进行记录,由日志生成工具ULOG生成iptables防火日志,--log-prefix选项为记录前缀。

2.ICMP扩展

例:设置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查询的时间。

5.Squid常用配置选项

因为缺省的配置文件不能使Squid正常启动服务,所以我们必须首先修改该配置文件的有关内容,才能让Squid运行起来。

下面是squid.conf文件的结构。squid.conf配置文件的可以分为13个部分,这13个部分如下有所示。

虽然Squid的配置文件很庞大,但是如果你只是为一个中小型网络提供代理服务,并且只准备使用一台服务器,则只需要修改配置文件中的几个选项。

6.Squid常用命令选项 (1)端口号。

http_port指令告诉squid在哪个端口侦听HTTP请求。默认端口是3128:http_port 3128,如果要squid作为加速器运行则应将它设为80。

你能使用附加http_port行来指squid侦听在多个端口上。例如,来自某个部门的浏览器发送请求3128,然而另一个部门使8080端口。可以将两个端口号列举出来:

http_port 3128 http_port 8080 Squid也可以使http_port指令侦听在指定的接口地址上。squid作为防火墙运行时,它有两个网络接口:一个内部的和一个外部的。你可能不想接受来自外部的http请求。为了使squid仅仅侦听在内部接口上,简单的将IP地址放在端口号前面:

http_port 192.168.1.1:3128 (2)日志文件路径。

默认的日志目录是squid安装位置下的logs目录,其路径是/usr/local/squid/var/logs。

你必须确认日志文件所存放的磁盘位置空间足够。squid想确认你不会丢失任何重要的日志信息,特别是你的系统被滥用或者被攻击时。

Squid有三个主要的日志文件:cache.log、acce.log和store.log。cache.log文件包含状态性的和调试性的消息。acce.log文件包含了对squid发起的每个客户请求的单一行。每行平均约150个字节。假如因为某些理由,你不想squid记录客户端请求日志,你能指定日志文件的路径为/dev/null。store.log文件对大多数cache管理员来说并非很有用。它包含了进入和离开缓存的每个目标的记录。平均记录大小典型的是175-200字节。

如果squid的日志文件增加没有限制。某些操作系统对单个文件强制执行2G的大小限制,即使你有充足的磁盘空间。超过该限制会导致写错误,squid就会退出。 (3)访问控制。

squid默认的配置文件拒绝每一个客户请求。在任何人能使用代理之前,你必须在squid.conf文件里加入附加的访问控制规则。最简单的方法就是定义一个针对客户IP地址的ACL和一个访问规则,告诉squid允许来自这些地址的HTTP请求。squid有许多不同的ACL类型。src类型匹配客户IP地址,squid会针对客户HTTP请求检查http_acce规则。

acl MyNetwork src 192.168.0.0/16 http_acce allow MyNetwork 请将这些行放在正确的位置。http_acce的顺序非常重要。在第一次编辑squid.conf文件时,请看如下注释:

在该注释之后,以及\"http_acce deny all\"之前插入新规则。 (4)命令选项。

这里的很多选项在实际应用中从不会使用,另外有些仅仅在调试问题时有用。

 实验步骤

 Windows 2003防火墙

一.防火墙基础操作

操作概述:启用windows2003系统防火墙,设置规则阻断ICMP回显请求数据包,并验证针对UDP连接工具的例外操作。

(1)在启用防火墙之前,同组主机通过ping指令互相测试网络连通性,确保互相是连通的,若测试未通过请排除故障。

(2)本机启用防火墙,并设置防火墙仅对“本地连接”进行保护。

(3)同组主机再次通过ping指令互相测试网络连通性,确认是否相互连通_______。 (4)设置本机防火墙允许其传入ICMP回显请求。 (5)第三次测试网络连通性。 二.防火墙例外操作

操作概述:启用windows2003系统防火墙,在“例外”选项卡中添加程序“UDPtools” 允许UDPtools间通信,并弹出网络连接提示信息。

(1)关闭防火墙,同组主机间利用UDPtools进行数据通信,确保通信成功。

「说明」 UDPtools通信双方应分别为客户端和服务端,其默认通过2513/UDP端口进行通信,可以自定义通信端口,运行如图3-1-1所示。

图3-1-1 UDP连接工具

(2)本机启用防火墙(仅对本地连接),将本机作为UDPtools服务器端,同组主机以UDPtools客户端身份进行通信,确定客户端通信请求是否被防火墙阻塞_______。

(3)断开UDPtools通信,单击“例外”选项卡,在“程序和服务”列表框添加程序“UDPtools.exe”(C:\\JLCSS\\TOOLS\\Analyser\\tools\\UdpTools.exe)并将其选中。再次启动UDPtools并以服务器身份运行,同组主机仍以客户端身份与其通信,确定客户端通信请求是否被防火墙阻塞_______。

三.NAT操作

操作概述:Windows Server 2003“路由和远程访问”服务包括NAT路由协议。如果将NAT路由协议安装和配置在运行“路由和远程访问”的服务器上,则使用专用IP地址的内部网络客户端可以通过NAT服务器的外部接口访问Internet。

图3-1-2 实验网络连接示意

参看图3-1-2,当内部网络主机PC1发送要连接Internet主机PC2的请求时,NAT协议驱动程序会截取该请求,并将其转发到目标Internet主机。所有请求看上去都像是来自NAT器的外部连接IP地址,这样就隐藏了内部网络主机。

在这里我们将windows Server 2003主机配置成为“路由和远程访问”NAT服务器,并模拟搭建Internet网络环境对NAT服务器进行测试。

(1)实验网络拓扑规划。

按图3-1-2所示,本实验需3台主机共同完成,其中一台主机扮演实验角色“内网主机PC1”,一台主机扮演实验角色“外网主机PC2”,最后一台主机扮演“NAT服务器”。

默认外部网络地址202.98.0.0/24;内部网络地址172.16.0.0/24,也可根据实际情况指定内网与外网地址。

默认主机“本地连接”为内部网络接口;“外部连接“为外部网络接口,也可指定“本地连接”为外部网络接口。

(2)按步骤(1)中规划分别为本机的“本地连接”、“外部连接”配置IP地址。

(3)配置NAT路由服务。依次单击“开始”|“程序”|“管理工具”|“路由和远程访问”,在“路由和远程访问”MMC中,选择要安装NAT路由协议的服务器(这里为本地主机),右键单击在弹出菜单中选择“配置并启用路由和远程访问”。

「注」 操作期间若弹出“为主机名启用了Windows防火墙/Internet连接共享服务……”警告信息,请先禁用“Windows防火墙/Internet连接共享”服务,后重试操作。具体做法:“开始”|“程序”| “管理工具”|“计算机管理”|“服务和应用程序”|“服务”,在右侧服务列表中选择“Windows Firewall/Internet Connection Sharing(ICS)”服务,先将其停止,然后在启动类型中将其禁用。

(4)在“路由和远程访问服务器安装向导”中选择“网络地址转换(NAT)”服务。

(5)在“NAT Internet连接”界面中指定连接到Internet的网络接口,该网络接口对于Internet来说是可见的。若在步骤(1)中已将“外部连接”指定为公共接口,则此处应选择“外部连接”。

(6)本实验中没有应用到DHCP、DNS服务,所以在“名称和地址转换服务”界面中选择“我将稍后设置名称和地址服务”。至最后完成路由和远程访问配置。

(7)接下来的工作是对各NAT服务器进行测试。下面以主机ABC为例进行测试说明:参照图3-1-2,设定主机A为内网主机PC1,将其内部网络接口(默认为“本地连接”)的默认网关指向主机B的内部网络接口(默认为“本地连接”);设定主机C为外网主机PC2。内网主机A通过ping指令对外网主机C做连通性测试。

(8)ICMP会话分析。在主机A做连通性测试的同时,主机B打开“协议分析器”并定义过滤器,操作如下:依次单击菜单项“设置”|“过滤器”,在“协议过滤”选项卡“协议树”中选中“ICMP”协议。依次单击按钮“新建捕获窗口”|“开始捕获数据包”,在弹出的“适配器选择”界面中选择“外部连接”,开始捕获。观察状态栏“捕获帧数”窗格,当捕获到数据时单击“停止捕获数据包”按钮,依次展开“会话分析树”|“ICMP会话”,如图3-1-3所示。

图3-1-3 在NAT服务器外部接口上监听到的ICMP会话

(9)结合ICMP会话分析结果说出ICMP数据包的传输(路由)过程_________。

 linux防火墙-iptable的应用

一.包过滤实验

操作概述:为了应用iptables的包过滤功能,首先我们将filter链表的所有链规则清空,并设置链表默认策略为DROP(禁止)。通过向INPUT规则链插入新规则,依次允许同组主机icmp回显请求、Web请求,最后开放信任接口eth0。iptables操作期间需同组主机进行操作验证。

(1)清空filter链表所有规则链规则。 iptables命令________。

(2)确定同组主机已清空filter链表后,利用nmap(/opt/portscan/目录下)对同组主机进行端口扫描。

nmap端口扫描命令________。

「说明」 nmap具体使用方法可查看实验6|练习1|TCP端口扫描。 查看端口扫描结果,并填写下表。

(3)查看INPUT、FORWARD和OUTPUT链默认策略。 iptables命令_________。

  (4)将INPUT、FORWARD和OUTPUT链默认策略均设置为DROP。 iptables命令_________。

确定同组主机已将默认策略设置为DROP后,本机再次利用nmap其进行端口扫描,查看扫描结果,并利用ping命令进行连通性测试。

(5)利用功能扩展命令选项(ICMP)设置防火墙仅允许ICMP回显请求及回显应答。 ICMP回显请求类型__________;代码__________。 ICMP回显应答类型__________;代码__________。 iptables命令__________ 利用ping指令测试本机与同组主机的连通性。 (6)对外开放Web服务(默认端口80/tcp)。 iptables命令__________ 利用nmap对同组主机进行端口扫描,查看扫描结果。

(7)设置防火墙允许来自eth0(假设eth0为内部网络接口)的任何数据通过。 iptables命令_______ 利用nmap对同组主机进行端口扫描,查看扫描结果。 二.事件审计实验

操作概述:利用iptables的日志功能检测、记录网络端口扫描事件,日志路径 /var/log/iptables.log。 (1)根据实验原理(TCP扩展)设计iptables包过滤规则,并应用日志生成工具ULOG对iptables捕获的网络事件进行响应。

iptables命令__________ (2)同组主机应用端口扫描工具对当前主机进行端口扫描,并观察扫描结果。 (3)在同组主机端口扫描完成后,当前主机查看iptables日志,对端口扫描事件进行审计,日志内容如图3-2-1所示。

图3-2-1 iptables日志内容

三.状态检测实验

操作概述:分别对新建和已建的网络会话进行状态检测。 1.对新建的网络会话进行状态检测 (1)清空filter规则链全部内容。 iptables命令__________ (2)设置全部链表默认规则为允许。 iptables命令__________ (3)设置规则禁止任何新建连接通过。 iptables命令__________ (4)同组主机对当前主机防火墙规则进行测试,验证规则正确性。 2.对已建的网络会话进行状态检测

(1)清空filter规则链全部内容,并设置默认规则为允许。

(2)同组主机首先telnet远程登录当前主机,当出现“login:”界面时,暂停登录操作。 telnet登录命令_________ (3)iptables添加新规则(状态检测)——仅禁止新建网络会话请求。 iptables命令___________ 或___________________ 同组主机续(1)步骤继续执行远程登录操作,尝试输入登录用户名“guest”及口令“guestpa”,登录是否成功__________。

同组主机启动Web浏览器访问当前主机Web服务,访问是否成功__________。解释上述现象______________________。

(4)删除步骤(3)中添加的规则,并插入新规则(状态检测)——仅禁止已建网络会话请求。 iptables命令______________________________ 或________________________________________ iptables命令______________________________ 或________________________________________ 重新操作实验步骤(1)(2)(4)。同组主机续(1)步骤继续执行远程登录操作,尝试输入登录用户名“guest”及口令 “guestpa”,登录是否成功__________。

同组主机启动Web浏览器访问当前主机Web服务,访问是否成功__________。解释上述现象_______________。

(5)当前主机再次清空filter链表规则,并设置默认策略为DROP,添加规则开放FTP服务,并允许远程用户上传文件至FTP服务器。

iptables命令______________________________________ 四.NAT转换实验

实验概述:图3-2-2描述了NAT转换实验所应用的网络拓扑结构。内网主机与NAT服务器eth0接口位于同一网段(内网);外网主机与NAT服务器eth1接口位于同一网络(外网);NAT服务器提供NAT转换。通过设置nat服务器的iptables NAT规则,实现内、外网主机间的通信数据包的地址转换,达到屏蔽内部网络拓扑结构与转发外网主机请求端口的目的。

图3-2-2 实验网络拓扑结

「说明」 本实验是在Linux系统下完成,Linux系统默认安装了2块以太网卡,网络接口分别为eth0和eth1,在设置NAT服务前请激活eth1网络接口,命令ifconfig eth1 up。

1.确定各接口IP地址

本实验由ABC、DEF主机各为一实验小组。默认实验角色:主机A为内网主机、B为NAT服务器、C为外网主机。也可以自定义实验角色。

默认内网IP地址192.168.0.0/

24、外网IP地址202.98.0.0/24。配置完成内网主机eth0接口IP地址及默认网关(指向NAT服务器内网接口),NAT服务器eth0和eth1接口IP地址,外网主机eth0接口IP地址,并完成下列问题的填写:

内网主机IP____________________,其默认网关____________________; 外网主机IP____________________;

NAT服务器内网接口IP____________________、外网接口IP____________________。

内网主机对NAT服务器内网接口进行连通性测试(ping);外网主机对NAT服务器外网接口进行连通性测试(ping)。

2.设置防火墙规则允许内部网络访问外部网络

操作流程:首先开启NAT服务器的路由功能(开启网络接口间数据的转发),清空filter链表全部规则,并设置其默认策略为DROP;继续设置规则允许来自内网的数据流进入外网,并允许任何返回流量回到内网;最后规则实现内网、外网接口间的数据转发。

(1)NAT服务器开启路由功能。

基于安全的考虑,默认情况下Linux路由数据包的功能是关闭的,通过下述命令开启系统路由功能:

(2)设置filter表规则链,默认策略为禁止。 iptables命令_______________________ (3)添加filter表新规则,允许来自防火墙的流量进入Internet;允许任何相关的返回流量回到防火墙。

iptables命令_______________________ (4)添加filter表新规则,实现NAT服务器内部网络接口eth0与外部网络接口eth1间的数据转发。 iptables命令_______________________ (5)主机C启动Snort(/opt/ids/snort)以网络嗅探方式运行(设置过滤器仅监听icmp数据包),主机A ping探测主机C,是否ping通______?

将主机C的默认网关指向NAT服务器的外网接口,主机A再次ping探测主机C,是否ping通__________?结合snort捕获数据,对比实验现象,说明原因:___________________。

3.设置防火墙规则通过NAT屏蔽内部网络拓扑结构

操作流程:在实现步骤2的操作基础上,添加nat表新规则实现数据从内网到外网的地址翻译。 (1)NAT服务器重新启动iptables服务。 service iptables restart (2)重新操作步骤2(⑵~⑶)。

(3)添加nat表新规则,通过网络地址翻译实现内部网络地址转换。 iptables命令_______________________ (4)添加filter表新规则,实现NAT内部网络接口eth0与外部网络接口eth1之间的数据转发。 iptables命令_______________________ (5)主机C重新将默认网关指为空,重新启动Snort捕获ICMP数据。主机A对主机C进行ping探测,是否ping通__________?主机C停止Snort监听,查看已捕获到ICMP数据,其源IP地址是__________?解释实验象_____________________________________。

4.设置防火墙规则通过NAT实现外网请求端口转发

操作流程:在实现步骤3的操作基础,添加nat表新规则实现数据从外网到内网的地址翻译(端口转发)。 (1)NAT服务器重新启动iptables服务。 service iptables restart (2)重新操作步骤3( ⑵~⑷ )。

(3)添加nat表新规则,实现数据从外网到内网的地址翻译(80/tcp端口转发)。 iptables命令__________________ (4)完成NAT外部接口eth1到内部接口eth0之间的数据转发 iptables命令__________________ (5)确定主机C默认网关指为空,主机A和主机C启动Snort捕获80/tcp数据,主机C启动Web浏览器,在地址栏中输入:http://202.98.0.150,观察访问结果,回答下列问题:

主机C访问是否成功__________?若成功,其访问的是哪台主机的Web主页__________(主机A/主机B)?

主机C停止Snort捕获,观察80/tcp会话的源、目的IP地址对__________________。 主机A停止Snort捕获,观察80/tcp会话的源、目的IP地址对__________________。 解释上述实验现象______________________________________________________。 五.应用代理实验

实验概述:使用iptables+squid方式来实现传统代理、透明代理和反向代理。

实验角色说明如下:

内网客户端仅需启用“本地连接”,其IP地址形式如下:172.16.X.Y,子网掩码255.255.255.0,其中X为所属实验组编号(1-32),Y为主机编号(1-6),例如第4组主机A的IP地址为172.16.4.4。

代理服务器需要启动内部网络接口eth0和外部网络接口eth1。内部IP地址形式同内网客户端,外部IP地址形式如下:202.98.X.Y,子网掩码255.255.255.0,其中X为所属实验组号(1-32),Y为主机编号,例如第4组主机B的内部IP地址为172.16.4.2,外部IP地址为202.98.4.2。

外网Web服务器仅需启用“本地连接”,其IP地址形式如下:202.98.X.Y,子网掩码255.255.255.0,其中X为所属实验组号(1-32),Y为主机编号(1-6),例如第4组主机C的IP地址为202.98.4.3。

在进行实验操作前,首先清空防火墙规则。 1.传统代理

(1)外网Web服务器手动分配IP地址,并确认本地Web服务已启动。

(2)代理服务器激活网络接口eth1,并手动分配IP地址,可通过以下两种方式激活eth1: 通过“桌面”|“管理”|“网络”激活eth1,并手动分配IP地址; 在控制台中输入命令ifconfig eth1 up激活eth1,输入命令ifconfig eth1 202.98.X.Y/24为eth1分配IP地址。 (3)代理服务器配置squid。

代理服务器进入目录/usr/local/squid/etc/,使用vim编辑器打开配置文件squid.conf。 在squid.conf中配置如下选项:

第936行,使用默认的端口http_port 3128;

第574行,添加行acl mynet src 主机A地址域。例如acl mynet src 172.16.1.0/24; 第610行,添加行http_acce allow mynet。 (4)运行代理服务器

代理服务器进入目录/usr/local/squid/sbin/,输入命令:./squid –NCd1启动代理服务。 (5)通过代理访问Web服务器

内网客户端打开IE浏览器,通过“工具”|“Internet选项”|“连接”|“局域网设置”选中“为LAN使用代理服务器”,在“地址”中输入代理服务器的内网IP,在“端口”中输入代理服务器的监听端口号,单击“确定”按钮,完成浏览器设置。

内网客户端在IE浏览器地址栏中输入“http://外网Web服务器IP地址”,即可访问到Web页面。 (6)验证代理服务器的作用

内网客户访问外网Web服务,是否可以访问到页面__________。

外网Web服务器关闭Web服务,代理服务器访问外网Web服务,是否可以访问到页面__________。 内网客户端再次访问外网Web服务,是否可以访问到页面__________,为什么?____________。 2.透明代理

(1)外网Web服务器开启Web服务。 (2)代理服务器配置squid。

代理服务器进入目录/usr/local/squid/etc/,使用vim编辑器打开配置文件squid.conf,配置如下选项: 第936行,修改为:http_port 主机B内网IP:3128 transparent (3)代理服务器添加iptables规则。

对从代理服务器内网接口进入的、基于tcp协议的、目的端口是80的数据包,做“端口重定向”。将数据包重定向到3128端口,规则如下:

iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128 (4)运行代理服务器。

(5)通过代理访问Web服务器。

内网客户端将本地连接的“默认网关”设置为代理服务器的内网IP,即代理服务器的eth0网络接口的IP。 内网客户端打开IE浏览器,通过“工具”|“Internet选项”|“连接”|“局域网设置”,取消“为LAN使用代理服务器”。

内网客户端在IE浏览器地址栏输入“http://外网Web服务器的IP”,即可访问到外网Web服务器的Web页面。

3.反向代理

(1)内网客户端开启Web服务。 (2)代理服务器配置squid。

代理服务器进入目录/usr/local/squid/etc/,使用vim编辑器打开配置文件squid.conf,配置如下选项: 第936行,修改为:http_port 主机B外网地址:80 vhost。

第1499行,添加行:cache_peer 主机A的IP parent 80 0 no-query originserver。 第574行,修改为:acl outside src 主机C地址域。例如acl outside src 202.98.1.0/24。 第610行,修改为:http_acce allow outside。 (3)停止代理服务器的Web服务。

在代理服务器的终端输入命令:service httpd stop。 (4)删除缓存文件。

删除目录/usr/local/squid/var/cache/00/00下所有文件。 (5)运行代理服务器。

(6)外网通过代理访问内网客户端Web服务

外网Web服务器在IE浏览器地址栏中输入“http://代理服务器外网IP”即可访问到内网客户端的Web页面。

实验8 防火墙透明模式配置

思科防火墙完全配置

实验 防火墙技术实验

毕业论文 LINUX路由防火墙配置

实验三十三:防火墙技术

防火墙访问控制规则配置教案

华为路由器防火墙配置命令总结

华为路由器防火墙配置命令总结

华为路由器防火墙配置命令总结

实验三网络服务的安装与配置

实验三 防火墙的配置
《实验三 防火墙的配置.doc》
将本文的Word文档下载到电脑,方便编辑。
推荐度:
点击下载文档
点击下载本文文档