防火墙与代理服务器.ppt
Linux网络操作系统与实训(第2版),中国铁道出版社,孙丽娜 孔令宏 杨 云 主编李 斌 姜庆玲 梁明亮 副主编,教材地址:,Windows&Linux教师交流群:189934741,第15章 防火墙与代理服务器,1.项目课题引入,2.防火墙概述,3.iptables,4.NAT,5.squid代理服务器,课题引入项目背景,假设某单位租用DDN专线上网。网络拓扑如下图所示。iptables防火墙的eth0接口连接外网,IP地址为;eth1接口连接内网,IP地址为。假设在内网中存在WEB、DNS和E-mail3台服务器,这3台服务器都有公有IP地址。其IP地址如图所示。设置防火墙规则加强对内网服务器的保护,并允许外网的用户可以访问此3台服务器。,课题引入项目分析,完成本项目需要解决的问题:1、什么是防火墙,其工作原理是什么2、如何使用Iptables进行防火墙设置3、如何配置包过滤防火墙4、如何实现NAT5、什么是代理服务器,其工作原理是什么6、squid代理服务器的安装、启动与运行方法7、squid服务器的配置方法8、透明代理的配置方法,课题引入教学目标,学习本课需要实现的教学目标:掌握防火墙的概念和工作原理掌握Iptables的结构和配置方法掌握包过滤防火墙的配置方法掌握NAT的配置方法掌握代理服务器的工作原理掌握代理服务器的启动与停止方法掌握代理服务器配置文件的修改方法掌握代理服务器的配置方法掌握透明代理的配置方法,课题引入应达到的职业能力,学生学习本课后应该具有的职业能力:掌握为企业设计防火墙的能力掌握Linux下Iptables的配置方法掌握包过滤防火墙的配置能力掌握NAT的配置能力进行squid代理服务器的配置能力进行透明代理服务器的配置能力具有较好的团队合作能力,15.1 防火墙概述,15.1.1 防火墙的概念,15.1 防火墙概述,15.1.2 iptables简介,15.2 iptables,15.2.2 iptables工作原理,15.2 iptables,15.2.2 iptables工作原理,15.2 iptables,15.2.2 iptables工作原理,15.2 iptables,15.2.2 iptables工作原理netfilter的5条链相互地关联,如图15-1所示。,15.2 iptables,15.2.2 iptables工作原理,15.2 iptables,15.2.2 iptables工作原理,15.2 iptables,15.2.2 iptables工作原理2iptables工作流程,15.2 iptables,15.2.2 iptables工作原理,15.2 iptables,15.2.3 安装iptables,15.2 iptables,15.2.3 安装iptables,15.2.4 iptables命令,15.2 iptables,15.2 iptables,15.2.4 iptables命令,15.2 iptables,15.2.4 iptables命令,15.2 iptables,15.2.4 iptables命令,15.2 iptables,15.2.4 iptables命令,15.2 iptables,15.2.5 iptables命令使用举例,15.2 iptables,15.2.5 iptables命令使用举例,15.2 iptables,15.2.5 iptables命令使用举例,15.2 iptables,15.2.5 iptables命令使用举例,15.2 iptables,15.2.5 iptables命令使用举例,15.3 NAT,15.3.1 NAT的基本知识,NAT的工作过程:(1)客户机将数据包发给运行NAT的计算机。(2)NAT将数据包中的端口号和专用的IP地址换成它自己的端口号和公用的IP地址,然后将数据包发给外部网络的目的主机,同时记录一个跟踪信息在映像表中,以便向客户机发送回答信息。(3)外部网络发送回答信息给NAT。(4)NAT将所收到的数据包的端口号和公用IP地址转换为客户机的端口号和内部网络使用的专用IP地址并转发给客户机。,15.3 NAT,15.3.1 NAT的基本知识,NAT的工作过程示意图:,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。,15.3 NAT,15.3.2 使用Iptables实现NAT,用户根据规则所处理的信息包类型,使用iptables命令设置NAT规则:要做源IP地址转换的数据包的规则被添加到POSTROUTING链中。要做目的IP地址转换的数据包的规则被添加到PREROUTING链中。直接从本地出去的数据包的规则被添加到OUTPUT链中。,15.3 NAT,15.3.2 使用Iptables实现NAT,数据包穿越NAT的工作流程示意图:,15.3 NAT,15.3.2 使用Iptables实现NAT,【例15-10】假设某企业网中NAT服务器安装了双网卡,eth0连接外网,eth1连接内网,IP地址为。企业内部网络的客户机都只有私有IP地址。利用NAT服务使企业内部网络的计算机能够连接Internet网络。,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,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,15.3 NAT,15.3.2 使用Iptables实现NAT,【例15-11】假设某企业网中NAT服务器安装了双网卡,eth0连接外网,IP地址为。eth1连接内网,IP地址为。企业内部网络WEB服务器的IP地址为。要求当Internet网络中的用户在浏览器中输入时可以访问到内网的WEB服务器。,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,15.4 squid代理服务器,15.4.1 代理服务器的工作原理,15.4 squid代理服务器,15.4.1 代理服务器的工作原理,15.4 squid代理服务器,15.4.2 代理服务器的作用,(1)提高访问速度。(2)用户访问限制。(3)安全性得到提高。,15.4 squid代理服务器,15.4.3 安装、启动与停止Squid服务,15.4 squid代理服务器,15.4.3 安装、启动与停止Squid服务,15.4 squid代理服务器,15.4.3 安装、启动与停止Squid服务,15.4 squid代理服务器,15.4.3 安装、启动与停止Squid服务,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组,也可更改。,15.4 squid代理服务器,15.4.4 配置squid服务器,1几个常用的选项,(6)。设置有效的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。设置网页缓存日志文件。网页缓存日志记录了缓存中存储对象的相关信息,例如存储对象的大小、存储时间、过期时间等。,15.4 squid代理服务器,15.4.4 配置squid服务器,1几个常用的选项,(10)。visible_hostname字段用来帮助Squid得知当前的主机名,如果不设置此项,在启动Squid的时候就会碰到“FATAL:Could not determine fully qualified hostnamePlease set visible hostname”这样的提示。当访问发生错误时,该选项的值会出现在客户端错误提示网页中。(11)。设置管理员的邮件地址。当客户端出现错误时,该邮件地址会出现在网页提示中,这样用户就可以写信给管理员来告知发生的事情。,15.4 squid代理服务器,15.4.4 配置squid服务器,2设置访问控制列表,15.4 squid代理服务器,15.4.4 配置squid服务器,15.4 squid代理服务器,15.4.4 配置squid服务器,15.4 squid代理服务器,15.4.4 配置squid服务器,15.4 squid代理服务器,15.4.4 配置squid服务器,15.4 squid代理服务器,15.4.4 配置squid服务器,15.4 squid代理服务器,15.4.5 配置透明代理,15.4 squid代理服务器,15.4.4 配置squid服务器,15.4 squid代理服务器,15.4.6 squid服务器配置实例,15.4 squid代理服务器,15.4.4 配置squid服务器,15.4 squid代理服务器,15.4.4 配置squid服务器,15.4 squid代理服务器,15.4.4 配置squid服务器,15.4 squid代理服务器,15.4.4 配置squid服务器,15.4 squid代理服务器,15.4.4 配置squid服务器,总结,本项目的解决方案:/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,作业1,根据如下防火墙配置的需求,写出配置命令:设置filter表中3个链的默认策略为拒绝查看所有链的规则列表添加一个用户自定义的链custom1向filter表的INPUT链的最后添加一条规则,对来自这台主机的数据包丢弃向filter表中的INPUT链的第3条规则前面插入一条规则,允许来自于非网段的主机对本机的25端口的访问,作业2,John计划在他的局域网建立防火墙,防止Internet直接进入局域网,反之亦然。在防火墙上他不能用包过滤或SOCKS程序.而且他想要提供给局域网用户仅有的几个Internet服务和协议,请选择合适的防火墙,并写出配置过程假设要控制来自IP地址的ping命令,请写出iptables命令如果想要防止网络用TCP分组连接端口21,请写出iptables命令,本章小结,防火墙的分类及工作原理Iptables防火墙的配置NATSQUID代理服务器的配置透明代理的实现,一、录像位置二、项目实训目的能熟练完成利用Iptables架设企业NAT服务器。能熟练完成企业Squid代理服务器的架设与维护。三、教材网站,项目实录,