收藏 分享(赏)

第8章 代理服务器与防火墙.ppt

上传人:buyk185 文档编号:7015231 上传时间:2019-04-30 格式:PPT 页数:47 大小:1.18MB
下载 相关 举报
第8章 代理服务器与防火墙.ppt_第1页
第1页 / 共47页
第8章 代理服务器与防火墙.ppt_第2页
第2页 / 共47页
第8章 代理服务器与防火墙.ppt_第3页
第3页 / 共47页
第8章 代理服务器与防火墙.ppt_第4页
第4页 / 共47页
第8章 代理服务器与防火墙.ppt_第5页
第5页 / 共47页
点击查看更多>>
资源描述

1、Page 1/47,第7章内容回顾,SMTP、POP3和IMAP是邮件系统中使用的网络协议,可实现邮件的发送和收取 Sendmail是RHEL4系统中缺省安装使用的邮件服务器 dovecot服务器可提供pop3和imap4服务 通过OpenWebmail提供的界面用户可以使用浏览器管理邮箱和收发邮件 使用Sendmail、dovecot和OpenWebmail可以构建完整的邮件应用系统,代理服务器与防火墙,第8章,Page 3/47,本章目标,了解防火墙和代理服务器的基本概念掌握Linux系统中的防火墙管理掌握squid代理服务器管理,Page 4/47,本章结构,Page 5/47,应用层代

2、理,应用层代理的基本概念 应用层代理针对特定的网络协议提供代理服务 HTTP代理和FTP代理是应用层代理的典型应用 使用代理服务器可以解决的问题 局域网中的所有主机都可以通过同局域网中具有互联网访问能力的代理服务器主机进行外部网络的访问 代理服务器对已经访问过的内容提供缓存,可有效的减少对外部网络的访问流量,并能够提高频繁访问的页面的访问效率 通过代理服务器可以进行一定程度的访问控制,可以对客户端和被访问页面进行控制,Page 6/47,代理服务的应用原理,代理服务器工作在TCP/IP的应用层,Page 7/47,网络层防火墙,网络防火墙软件的主要功能 对进入和流出的IP数据包进行过滤,屏蔽不

3、符合要求的数据包,保证内部网络的安全 提供数据包的路由选择,实现网络地址转换(NAT),从而解决局域网中主机使用内部IP地址也能够顺利访问外部网络的应用需求 防火墙的类型 硬件防火墙是功能专一的硬件设备,价格昂贵 软件防火墙的功能是由计算机中的软件实现的,具有相当大的价格优势,Page 8/47,网络层防火墙的应用原理,网络防火墙工作在TCP/IP的网络层,Page 9/47,Linux中代理服务和防火墙的实现,Linux中使用软件实现代理和防火墙功能 使用netfilter/iptables架构实现网络防火墙的基本功能 使用squid服务器软件实现HTTP服务的代理功能,Page 10/47

4、,Linux防火墙软件的发展与实现,Linux中的防火强功能是由内核实现的 在2.0内核中,网络防火墙的操作工具名称是ipfwadm 在2.2内核中,网络防火墙的操作工具名称是ipchains 在2.4之后的内核中,网络防火墙的操作工具名称是iptables netfilter与iptables 在Linux的内核中使用netfilter架构实现防火墙功能 iptables是Linux系统中为用户提供的netfilter管理工具,用于实现对Linux内核中网络防火墙的管理,Page 11/47,iptables规则链,iptables缺省具有5条规则链,Page 12/47,iptables规

5、则表,iptables缺省具有3个规则表 Filter:用于设置包过滤 NAT:用于设置地址转换 Mangle:用于设置网络流量整形等应用 不同的规则表由不同的规则链组成 Filter:INPUT、FORWARD、OUTPUT NAT:PREROUTING、POSTROUTING、OUTPUT Mangle:PREROUTING、POSTROUTING、INPUT、OUTPUT和FORWARD,Page 13/47,netfilter/iptables的典型应用,netfilter/iptables的典型应用 作为主机防火墙实现外部网络与主机之间的访问控制 作为网络防火墙提供外部网络与内部网络

6、的访问控制 作为网关服务器实现网络地址转换(NAT)功能,实现内部网络通过网关主机共享访问外部网络 netfilter/iptables可以在Linux系统中实现网络防火墙的各种常用功能,Page 14/47,iptables的软件包组成,RHEL4中的iptables软件包 # rpm -q iptables iptables-1.2.11-3.1.RHEL4 iptables软件包中的管理命令 iptables是主要的管理命令,对网络防火墙功能的管理都是通过iptables命令实现的 iptables-save命令可以将当前系统中的防火墙设置进行保存 iptables-restore命令可

7、以将使用iptables-save命令保存的防火墙策略配置恢复到当前系统中,Page 15/47,iptables服务的启动与停止,iptables服务启动脚本 /etc/rc.d/init.d/iptables iptables配置文件与策略设置文件 iptables配置文件 /etc/sysconfig/iptables-config 策略设置文件 /etc/sysconfig/iptables iptables服务的启动与停止 iptables服务缺省自动启动 可通过启动脚本手工启动和停止iptables服务 # service iptables start,Page 16/47,查看防

8、火墙的基本状态,查询防火墙的状态 使用iptables命令查询防火墙状态 # iptables -L Chain INPUT (policy ACCEPT) target prot opt source destinationChain FORWARD (policy ACCEPT) target prot opt source destinationChain OUTPUT (policy ACCEPT) target prot opt source destination,Page 17/47,使用iptables命令进行策略设置,iptables命令是对防火墙配置管理的核心命令 ipta

9、bles命令提供了丰富的功能,可以对Linux内核中的netfilter防火墙进行各种策略的设置 iptables命令的设置在系统中是即时生效的 使用iptables命令手工进行的防火墙策略设置如果不进行保存将在系统下次启动时丢失,Page 18/47,使用iptables-save命令保存设置,iptables-save命令提供了防火墙配置的保存功能 iptables-save命令缺省只将配置信息显示到标准输出(屏幕)中 # iptables-save 如果需要将iptables-save命令的输出保存,需要将命令输出结果重定向到指定的文件中 # iptables-save ipt.v1.0

10、 使用iptables-save命令可以将多个版本的配置保存到不同的文件中,Page 19/47,使用iptables-restore命令恢复设置,iptables-restore命令可恢复防火墙设置 iptables-restore命令可恢复使用iptables-save命令保存的防火墙设置内容 iptables-restore命令从标准输入或输入重定向文件中获取防火墙的设置内容 # iptables-restore ipt.v1.0 iptables-restore命令可快速恢复指定版本的防火墙配置,Page 20/47,使用iptables脚本保存防火墙设置,iptables脚本可以保存

11、当前防火墙配置 在保存防火墙当前配置前应先将原有配置进行备份 # cp /etc/sysconfig/iptables iptables.raw iptables脚本的save命令可以保存防火墙配置 # service iptables save 配置内容将保存在“/etc/sysconfig/iptables”文件中,文件原有的内容将被覆盖,Page 21/47,使用防火墙的配置工具,RHEL4中提供了防火墙配置程序 运行防火墙配置工具 # system-config-securitylevel-tui 在防火墙配置工具设置后会即时生效,并将设置保存到“/etc/sysconfig/ipta

12、bles”文件中,Page 22/47,iptables命令的使用6-1,iptables命令的操作对象包括 规则表(table)由规则链的集合组成,不同的规则表用于实现不同类型的功能 规则链(chain)由规则的集合组成,保存在规则表中;在规则表中不同的规则链代表了不同的数据包流向 规则(rule)是最基本的设置项,用于对防火墙的策略进行设置;流经某个数据链的数据将按照先后顺序经过规则的“过滤”,Page 23/47,iptables命令的使用6-2,iptables中缺省包括3个规则表 filter nat mangle iptables命令可查看规则表的内容 基本语法 iptables

13、-t table -L chain options 不指定表名称时查看filter表的内容 # iptables -L 查看指定的规则表 # iptables -t nat -L,Page 24/47,iptables命令的使用6-3,清空表中的规则 命令格式: iptables -t table -F chain options 清空filter表中的所有规则 # iptables -F 清空nat表中的所有规则 # iptables -t nat -F 删除表中的自定义规则链 命令格式: iptables -t table -X chain,Page 25/47,iptables命令的使用

14、6-4,添加规则 命令格式 iptables -t table -A chain rule-specification options 在INPUT规则链中添加规则,允许来自“lo”网络接口中所有数据包 # iptables -A INPUT -i lo -j ACCEPT 在INPUT规则链中添加规则,允许“eth0”网络接口中来自“192.168.1.0/24”子网的所有数据包 # iptables -A INPUT -i eth0 -s 192.168.1.0/24 -j ACCEPT,Page 26/47,iptables命令的使用6-5,删除规则 命令格式 iptables -t t

15、able -D chain rule-specification options 删除规则的iptables命令与添加规则的命令格式类似 删除INPUT规则表中已有的规则 # iptables -D INPUT -i eth0 -s 192.168.1.0/24 -j ACCEPT,Page 27/47,iptables命令的使用6-6,设置内置规则链的缺省策略 命令格式 iptables -t table -P chain target options 只有内建规则链才能够设置“缺省策略” 将INPUT规则链的缺省策略设置为“DROP” # iptables -P INPUT DROP 将规

16、则链的缺省策略的缺省策略设置为“DROP”,然后在逐个添加允许通过的规则是比较严谨的规则设置方法,Page 28/47,防火墙配置实例2-1,设置主机防火墙策略 使用iptables命令设置防火墙策略 # iptables -F # iptables -X # iptables -Z # iptables -P INPUT DROP # iptables -A INPUT -i lo -j ACCEPT # iptables -A INPUT -i eth0 -p tcp -dport 22 -j ACCEPT # iptables -A INPUT -i eth0 -p tcp -dport

17、 80 -j ACCEPT # iptables -A INPUT -i eth0 -p tcp -dport 3128 -j ACCEPT # service iptables save,清除filter规则表中的所有规则,清除filter规则表中的自定义规则链,清除filter规则表的计数,设置filter表中INPUT规则链的缺省策略为DROP,在INPUT规则链中添加规则允许来自eth0网络接口的SSH、WWW和SQUID类型的数据包,保存当前防火墙设置到文件中,在INPUT规则链中添加规则允许来自lo网络接口的所有数据包,Page 29/47,防火墙配置实例2-2,设置Linux作为

18、网关服务器 配置需求 服务器网接口eth0的IP地址为“192.168.1.1/24”,eth0网络接口与公司的内部网络相连 服务器的网络接口ppp0是主机的拨号网络接口,具有公网IP地址 局域网中的所有主机都需要通过Linux网关服务器与外部互联网进行通信 关键配置命令 # iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o ppp0 -j MASQUERADE,“-t nat -A POSTROUTING ”表示在nat表的POSTROUTING规则链中添加规则,“-s 192.168.1.0/24”表示数据包的源地址为“192.168.

19、1.0/24”子网,“-o ppp0”表示数据包的流出网络接口是“ppp0”,“ppp0”网络接口具有公网IP地址,“-j MASQUERADE”表示对数据包进行的处理,即将符合条件的数据包进行IP伪装,Page 30/47,阶段总结,代理服务器和网络防火墙工作在不同的协议层 在Linux系统中内核提供包过滤防火墙功能,使用squid服务器实现代理服务器功能 netfilter是Linux内核中的包过滤框架,iptables是对netfilter的管理工具 使用iptables可设置Linux系统实现各种常用的网络防火墙功能,Page 31/47,阶段练习,查看Linux系统中iptables

20、软件包中包括的文件,并查询iptables服务的启动状态使用iptables命令查看filter规则表的设置内容,Page 32/47,squid服务器的功能,squid服务具有以下基本功能 提供对HTTP和FTP协议的代理服务 缓存代理的内容,提高客户端访问网站的速度,并能够节约出口网络流量 对客户端地址进行访问控制,限制允许访问squid服务器的客户机 对目标地址进行访问控制,限制客户端允许访问的网站 根据时间进行访问控制,限定客户端可以使用代理服务的时间,Page 33/47,squid服务器的代理工作机制,squid服务器具有代理和缓存的基本功能,数据缓存,代理进程,远端服务器,客户端

21、,Page 34/47,squid服务器的安装,squid服务器在RHEL4系统中已经默认安装 # rpm -q squid squid-2.5.STABLE6-3 squid服务的启动状态 squid服务程序在RHEL4中默认不自动启动 需要用chkconfig命令设置squid服务在运行级别3和5中自动启动 # chkconfig -level 35 squid on,Page 35/47,squid服务启动前的准备,确认主机具有完整的域名 squid服务运行需要Linux主机具有完整的域名 # grep hostname /etc/hosts squid服务器的初始化 在第一次使用squ

22、id服务器之前需要先对squid服务器进行初始化工作 # squid -z 初始的主要作用是在squid服务器的工作目录中建立需要的子目录 # ls /var/spool/squid/ 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F,Page 36/47,squid服务的启动与停止,启动脚本 squid服务的启动脚本名称是“squid” /etc/init.d/squid 启动与停止squid服务 启动squid服务 # service squid start 停止squid服务 # service squid stop 服务端口 squid服务

23、器的缺省服务端口为3128,Page 37/47,squid服务的配置文件3-1,配置目录 squid具有独立的目录保存配置文件 /etc/squid/ 主配置文件 主配置文件squid.conf保存在配置目录中 /etc/squid/squid.conf squid.conf文件中的配置选项 配置服务端口 http_port 3128,Page 38/47,squid服务的配置文件3-2,squid.conf文件中的配置选项 缓冲内存数量 cache_mem 8 MB “cache_mem”的值设置为服务器物理内存的三分之一比较合适 工作目录 cache_dir ufs /var/spool

24、/squid 100 16 256 “cache_dir”设置项的缺省值为设置“/var/spool/squid”作为squid的工作路径,“100 16 256”分别表示,目录中最大的容量是100MB,目录中的一级子目录的数量为16个,二级子目录为“256”个,Page 39/47,squid服务的配置文件3-3,squid.conf文件中的配置选项 访问控制设置 “http_access”用于设置允许或拒绝访问控制对象 http_access allow localhost http_access deny all 访问控制列表(ACL)的定义 “acl”配置项用于设置访问控制列表的内容

25、acl all src 0.0.0.0/0.0.0.0 acl localhost src 127.0.0.1/255.255.255.255 重新启动squid服务 对squid.conf文件修改后需要重新启动服务程序 # service squid restart,Page 40/47,配置透明代理服务器,配置squid服务器 修改squid.conf配置文件中的设置 # vi /etc/squid/squid.conf /在配置文件中添加以下的配置行 httpd_accel_host virtual httpd_accel_port 80 httpd_accel_with_proxy o

26、n httpd_accel_uses_host_header on 重新启动squid服务器 # service squid reload 设置防火墙策略 # iptables -t nat -A PREROUTING -s 192.168.1.0/24 -p tcp -dport 80 -j REDIRECT -to-ports 3128,“-t nat -A PREROUTING ”表示在nat表的PREROUTING规则链中添加规则,“-s 192.168.1.0/24”表示数据包的源地址为“192.168.1.0/24”子网,“-p tcp”表示数据包的协议为“tcp”,“-dport

27、 80”表示数据包访问的目的端口为“80”,即标准的WWW服务,“-j REDIRECT”表示将符合条件的数据包进行重定向,“-to-ports 3128”表示将数据包重定向到“3128”端口,“3128”端口是squid服务器提供网页代理服务的端口,Page 41/47,网页浏览器的代理设置,透明代理 如果网关配置为透明代理将不需要在网络浏览器中进行任何的代理设置 使用代理服务器 直接使用squid代理服务器需要在浏览器中进行代理服务器的信息设置,Page 42/47,阶段总结,squid是著名的代理服务器软件,可实现HTTP和FTP协议的代理功能 squid服务器的基本功能包括代理服务和内

28、容缓存服务 squid服务器的主配置文件“squid.conf”保存在“/etc/squid”目录中 squid提供代理服务的缺省端口是“3128” squid服务器可以对代理的内容和客户端进行一定的访问控制 网页浏览器使用代理服务器时需要进行设置,Page 43/47,阶段练习,查看squid.conf配置文件中的缺省配置内容启动squid服务程序,并查看该服务所使用的网络端口,Page 44/47,本章总结,应用层代理,网络层防火墙,iptables基本原理,iptables的基本配置管理,防火墙配置实例,squid服务器的基本功能,squid服务器的配置管理,网页浏览器的代理设置,Pag

29、e 45/47,实验,任务1:防火墙配置管理 任务2:squid代理服务器配置管理,Page 46/47,任务1,注意事项 提示1:使用iptables命令进行防火墙的策略配置时应在Linux主机的控制台完成,如果使用SSH登录进行配置有可能造成由于策略的设置造成SSH连接中断 提示2:在使用iptables脚本保存策略配置前需要先将现有策略进行备份,以便出现错误后进行恢复,Page 47/47,任务2,注意事项 提示1:在启动squid服务程序之前需要先确认Linux主机具有完整的域名,如果没有可以在hosts文件中进行设置 提示2:squid服务器第一次启动前的初始化工作可以使用“squid -z ”命令手工完成,如不手工进行,squid启动脚本也会自动完成初始化工作,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 网络科技 > 服务器

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报