资源描述
,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,.,*,Linux,网络操作系统与实训(第,2,版),中国铁道出版社,孙丽娜 孔令宏 杨 云 主编,李,斌,姜庆玲,梁明亮,副主编,1,.,教材地址:,&Linux,教师交流群:,189934741,2,第,15,章,防火墙与代理服务器,1,.,项目课题引入,2,.,防火墙概述,3,.iptables,4,.,NAT,5,.squid,代理服务器,3,课题引入,项目背景,假设某单位租用,DDN,专线上网。网络拓扑如下图所示。,iptables,防火墙的,eth0,接口连接外网,,IP,地址为,222.206.160.100,;,eth1,接口连接内网,,IP,地址为,192.168.1.1,。假设在内网中存在,WEB,、,DNS,和,E-mail3,台服务器,这,3,台服务器都有公有,IP,地址。其,IP,地址如图所示。设置防火墙规则加强对内网服务器的保护,并允许外网的用户可以访问此,3,台服务器。,4,课题引入,项目分析,完成本项目需要解决的问题:,1,、什么是防火墙,其工作原理是什么,2,、如何使用,Iptables,进行防火墙设置,3,、如何配置包过滤防火墙,4,、如何实现,NAT,5、,什么是代理服务器,其工作原理是什么,6,、,squid,代理服务器的安装、启动与运行方法,7,、,squid,服务器的配置方法,8,、透明代理的配置方法,5,课题引入,教学目标,学习本课需要实现的教学目标:,掌握防火墙的概念和工作原理,掌握,Iptables,的结构和配置方法,掌握包过滤防火墙的配置方法,掌握,NAT,的配置方法,掌握代理服务器的工作原理,掌握代理服务器的启动与停止方法,掌握代理服务器配置文件的修改方法,掌握代理服务器的配置方法,掌握透明代理的配置方法,6,课题引入,应达到的职业能力,学生学习本课后应该具有的职业能力:,掌握为企业设计防火墙的能力,掌握,Linux,下,Iptables,的配置方法,掌握包过滤防火墙的配置能力,掌握,NAT,的配置能力,进行,squid,代理服务器的配置能力,进行透明代理服务器的配置能力,具有较好的团队合作能力,7,15.1 防火墙概述,15.1.1,防火墙的概念,8,15.1 防火墙概述,15.1.2 iptables,简介,9,15.2 iptables,15.2.2 iptables,工作原理,10,15.2 iptables,15.2.2 iptables,工作原理,11,15.2 iptables,15.2.2 iptables,工作原理,12,15.2 iptables,15.2.2 iptables,工作原理,netfilter,的,5,条链相互地关联,如图,15-1,所示。,13,15.2 iptables,15.2.2 iptables,工作原理,14,15.2 iptables,15.2.2 iptables,工作原理,15,15.2 iptables,15.2.2 iptables,工作原理,2,iptables,工作流程,16,15.2 iptables,15.2.2 iptables,工作原理,17,15.2 iptables,15.2.3,安装,iptables,18,15.2 iptables,15.2.3,安装,iptables,19,15.2.4 iptables,命令,15.2 iptables,20,15.2 iptables,15.2.4 iptables,命令,21,15.2 iptables,15.2.4 iptables,命令,22,15.2 iptables,15.2.4 iptables,命令,23,15.2 iptables,15.2.4 iptables,命令,24,15.2 iptables,15.2.5 iptables,命令使用举例,25,15.2 iptables,15.2.5 iptables,命令使用举例,26,15.2 iptables,15.2.5 iptables,命令使用举例,27,15.2 iptables,15.2.5 iptables,命令使用举例,28,15.2 iptables,15.2.5 iptables,命令使用举例,29,15.3 NAT,15.3.1 NAT,的基本知识,NAT,的工作过程:,(,1,)客户机将数据包发给运行,NAT,的计算机。,(,2,),NAT,将数据包中的端口号和专用的,IP,地址换成它自己的端口号和公用的,IP,地址,然后将数据包发给外部网络的目的主机,同时记录一个跟踪信息在映像表中,以便向客户机发送回答信息。,(,3,)外部网络发送回答信息给,NAT,。,(,4,),NAT,将所收到的数据包的端口号和公用,IP,地址转换为客户机的端口号和内部网络使用的专用,IP,地址并转发给客户机。,30,15.3 NAT,15.3.1 NAT,的基本知识,NAT,的工作过程示意图:,31,15.3 NAT,15.3.1 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,。,32,15.3 NAT,15.3.2,使用,Iptables,实现,NAT,用户根据规则所处理的信息包类型,使用,iptables,命令设置,NAT,规则:,要做源,IP,地址转换的数据包的规则被添加到,POSTROUTING,链中。,要做目的,IP,地址转换的数据包的规则被添加到,PREROUTING,链中。,直接从本地出去的数据包的规则被添加到,OUTPUT,链中。,33,15.3 NAT,15.3.2,使用,Iptables,实现,NAT,数据包穿越,NAT,的工作流程示意图:,34,15.3 NAT,15.3.2,使用,Iptables,实现,NAT,【,例,15-10】,假设某企业网中,NAT,服务器安装了双网卡,,eth0,连接外网,,eth1,连接内网,,IP,地址为,192.168.0.1,。企业内部网络的客户机都只有私有,IP,地址。利用,NAT,服务使企业内部网络的计算机能够连接,Internet,网络,。,35,15.3 NAT,15.3.2,使用,Iptables,实现,NAT,假设,eth0,的,IP,地址是静态分配的。公网,IP,地址池为,222.206.160.100-222.206.160.150,。此时应作,SNAT,,,iptables,命令的,-j,参数的语法格式为:,-j SNAT -to-source/-to IP1-IP2:port1-port2,配置步骤:,打开,Linux,的内核转发功能。,rootServer#echo“1”/proc/sys/net/ipv4/ip_forward,实现,SNAT,。,rootServer#iptables t nat A POSTROUTING p tcp o eth0 j SNAT-to 222.206.160.100-222.206.160.150:1025:30000,36,15.3 NAT,15.3.2,使用,Iptables,实现,NAT,假设连接外网的接口是利用,ADSL,拨号连接的,ppp0,。此时应作,IP,伪装,,iptables,命令的,-j,参数的语法格式为:,-j MASQUERADE,配置步骤:,打开,Linux,的内核转发功能。,rootServer#echo“1”/proc/sys/net/ipv4/ip_forward,实现,IP,伪装。,rootServer#iptables t nat A POSTROUTING o ppp0 -j MASQUERADE,37,15.3 NAT,15.3.2,使用,Iptables,实现,NAT,【,例,15-11】,假设某企业网中,NAT,服务器安装了双网卡,,eth0,连接外网,,IP,地址为,222.206.160.100,。,eth1,连接内网,,IP,地址为,192.168.0.1,。企业内部网络,WEB,服务器的,IP,地址为,192.168.1.2,。要求当,Internet,网络中的用户在浏览器中输入,222.206.160.100,时可以访问到内网的,WEB,服务器。,38,15.3 NAT,15.3.2,使用,Iptables,实现,NAT,根据题目要求可知,此时应作,DNAT,。,iptables,命令的,-j,参数的语法格式为:,-j DNAT -to-destination/-to IP1-IP2:port1-port2,实现,DNAT,的配置语句:,#iptables t nat A PREROUTING p tcp d 222.206.160.100-dport 80 j DNAT-to 192.168.1.2:80,或者:,#iptables t nat A PREROUTING p tcp i eth0-dport 80 j DNAT-to 192.168.1.2:80,39,15.4 squid代理服务器,15.4.1,代理服务器的工作原理,40,15.4 squid代理服务器,15.4.1,代理服务器的工作原理,41,15.4 squid代理服务器,15.4.2,代理服务器的,作用,(,1,)提高访问速度。,(,2,)用户访问限制。,(,3,)安全性得到提高。,42,15.4 squid代理服务器,15.4.3,安装、启动与停止,Squid,服务,43,15.4 squid代理服务器,15.4.3,安装、启动与停止,Squid,服务,44,15.4 squid代理服务器,15.4.3,安装、启动与停止,Squid,服务,45,15.4 squid代理服务器,15.4.3,安装、启动与停止,Squid,服务,46,15.4 squid代理服务器,15.4.4,配置,squid,服务器,1,几个常用的选项,(,1,),http_port 3128,。,http_port 192.168.2.254:8080,(,2,),cache_mem 512MB,。,内存缓冲设置是指需要使用多少内存来作为高速缓存。,(,3,),cache_dir ufs /var/spool/squid 4096 16 256,。,用于指定硬盘缓冲区的大小。,(,4,),cache_effective_user squid,。,设置使用缓存的有效用户。,cache_effective_user nobody,(,5,),cache_effective_group squid,。,设置使用缓存的有效用户组,默认为,squid,组,也可更改。,47,15.4 squid代理服务器,15.4.4,配置,squid,服务器,1,几个常用的选项,(,6,),dns_nameservers 220.206.160.100,。,设置有效的,DNS,服务器的地址。,(,7,),cache_access_log /var/log/squid/access.log,。,设置访问记录的日志文件。,(,8,),cache_log/var/log/squid/cache.log,。,设置缓存日志文件。该文件记录缓存的相关信息。,(,9,),cache_store_log/var/log/squid/store.log,。,设置网页缓存日志文件。网页缓存日志记录了缓存中存储对象的相关信息,例如存储对象的大小、存储时间、过期时间等。,48,15.4 squid代理服务器,15.4.4,配置,squid,服务器,1,几个常用的选项,(,10,),visible_hostname 192.168.0.3,。,visible_hostname,字段用来帮助,Squid,得知当前的主机名,如果不设置此项,在启动,Squid,的时候就会碰到“,FATAL,:,Could not determine fully qualified hostname,Please set visible hostname”,这样的提示。当访问发生错误时,该选项的值会出现在客户端错误提示网页中。,(,11,),cache_mgr master,。,设置管理员的邮件地址。当客户端出现错误时,该邮件地址会出现在网页提示中,这样用户就可以写信给管理员来告知发生的事情。,49,15.4 squid代理服务器,15.4.4,配置,squid,服务器,2,设置访问控制列表,50,15.4 squid代理服务器,15.4.4,配置,squid,服务器,51,15.4 squid代理服务器,15.4.4,配置,squid,服务器,52,15.4 squid代理服务器,15.4.4,配置,squid,服务器,53,15.4 squid代理服务器,15.4.4,配置,squid,服务器,54,15.4 squid代理服务器,15.4.4,配置,squid,服务器,55,15.4 squid代理服务器,15.4.5,配置透明代理,56,15.4 squid代理服务器,15.4.4,配置,squid,服务器,57,15.4 squid代理服务器,15.4.6 squid,服务器配置实例,58,15.4 squid代理服务器,15.4.4,配置,squid,服务器,59,15.4 squid代理服务器,15.4.4,配置,squid,服务器,60,15.4 squid代理服务器,15.4.4,配置,squid,服务器,61,15.4 squid代理服务器,15.4.4,配置,squid,服务器,62,15.4 squid代理服务器,15.4.4,配置,squid,服务器,63,总结,本项目的解决方案,:,/1.,清空所有的链规则,rootServer#iptables -F,/2.,禁止,iptables,防火墙转发任何数据包,rootServer#iptables -P FORWARD DROP,/3.,建立来自,Internet,网络的数据包的过滤规则,#iptables-A FORWARD p tcp d 222.206.100.2 p tcp -dport 80 -i eth0 -j ACCEPT,#iptables-A FORWARD p tcp d 222.206.100.3 -p tcp -dport 53 -i eth0 -j ACCEPT,#iptables-A FORWARD p tcp d 222.206.100.4 -p tcp -dport 25 -i eth0 -j ACCEPT,#iptables-A FORWARD p tcp d 222.206.100.4 -p tcp -dport 110 -i eth0 -j ACCEPT,/4.,接受来自内网的数据包通过,rootServer#iptables -A FORWARD s 222.206.100.0/24 j ACCEPT,/5.,对于所有的,ICMP,数据包进行限制,允许每秒通过一个数据包,该限制的触发条件是,10,个包,rootServer#iptables-A FORWARD-p icmp-m limit-limit 1/s-limit-burst 10-j ACCEPT,64,作业,1,根据如下防火墙配置的需求,写出配置命令,:,设置,filter,表中,3,个链的默认策略为拒绝,查看所有链的规则列表,添加一个用户自定义的链,custom1,向,filter,表的,INPUT,链的最后添加一条规则,对来自,192.168.1.10,这台主机的数据包丢弃,向,filter,表中的,INPUT,链的第,3,条规则前面插入一条规则,允许来自于非,192.168.3.0/24,网段的主机对本机的,25,端口的访问,65,作业,2,John,计划在他的局域网建立防火墙,防止,Internet,直接进入局域网,反之亦然。在防火墙上他不能用包过滤或,SOCKS,程序,.,而且他想要提供给局域网用户仅有的几个,Internet,服务和协议,请选择合适的防火墙,并写出配置过程,假设要控制来自,IP,地址,199.88.77.66,的,ping,命令,请写出,iptables,命令,如果想要防止,199.88.77.0/24,网络用,TCP,分组连接端口,21,,请写出,iptables,命令,66,本章小结,防火墙的分类及工作原理,Iptables,防火墙的配置,NAT,SQUID,代理服务器的配置,透明代理的实现,67,一、录像位置,
展开阅读全文