《LINUX网络服务管理:代理服务器与防火墙.ppt》由会员分享,可在线阅读,更多相关《LINUX网络服务管理:代理服务器与防火墙.ppt(47页珍藏版)》请在三一办公上搜索。
1、Chapter,1,第6章内容回顾,SMTP、POP3和IMAP是邮件系统中使用的网络协议,可实现邮件的发送和收取 Sendmail是RHEL4系统中缺省安装使用的邮件服务器 dovecot服务器可提供pop3和imap4服务通过OpenWebmail提供的界面用户可以使用浏览器管理邮箱和收发邮件使用Sendmail、dovecot和OpenWebmail可以构建完整的邮件应用系统,Chapter,2,代理服务器与防火墙,第7章,Chapter,3,本章目标,了解防火墙和代理服务器的基本概念掌握Linux系统中的防火墙管理掌握squid代理服务器管理 麦新衣时尚女装商城http:/,Chapt
2、er,4,本章结构,Chapter,5,应用层代理,应用层代理的基本概念应用层代理针对特定的网络协议提供代理服务HTTP代理和FTP代理是应用层代理的典型应用使用代理服务器可以解决的问题局域网中的所有主机都可以通过同局域网中具有互联网访问能力的代理服务器主机进行外部网络的访问代理服务器对已经访问过的内容提供缓存,可有效的减少对外部网络的访问流量,并能够提高频繁访问的页面的访问效率通过代理服务器可以进行一定程度的访问控制,可以对客户端和被访问页面进行控制,Chapter,6,代理服务的应用原理,代理服务器工作在TCP/IP的应用层,Chapter,7,网络层防火墙,网络防火墙软件的主要功能 对进
3、入和流出的IP数据包进行过滤,屏蔽不符合要求的数据包,保证内部网络的安全提供数据包的路由选择,实现网络地址转换(NAT),从而解决局域网中主机使用内部IP地址也能够顺利访问外部网络的应用需求防火墙的类型硬件防火墙是功能专一的硬件设备,价格昂贵软件防火墙的功能是由计算机中的软件实现的,具有相当大的价格优势,Chapter,8,网络层防火墙的应用原理,网络防火墙工作在TCP/IP的网络层,Chapter,9,Linux中代理服务和防火墙的实现,Linux中使用软件实现代理和防火墙功能使用netfilter/iptables架构实现网络防火墙的基本功能使用squid服务器软件实现HTTP服务的代理功
4、能 麦新衣时尚女装商城http:/,Chapter,10,Linux防火墙软件的发展与实现,Linux中的防火强功能是由内核实现的在2.0内核中,网络防火墙的操作工具名称是ipfwadm在2.2内核中,网络防火墙的操作工具名称是ipchains在2.4之后的内核中,网络防火墙的操作工具名称是iptablesnetfilter与iptables在Linux的内核中使用netfilter架构实现防火墙功能iptables是Linux系统中为用户提供的netfilter管理工具,用于实现对Linux内核中网络防火墙的管理,Chapter,11,iptables规则链,iptables缺省具有5条规则
5、链,Chapter,12,iptables规则表,iptables缺省具有3个规则表Filter:用于设置包过滤NAT:用于设置地址转换Mangle:用于设置网络流量整形等应用不同的规则表由不同的规则链组成Filter:INPUT、FORWARD、OUTPUTNAT:PREROUTING、POSTROUTING、OUTPUTMangle:PREROUTING、POSTROUTING、INPUT、OUTPUT和FORWARD,Chapter,13,netfilter/iptables的典型应用,netfilter/iptables的典型应用作为主机防火墙实现外部网络与主机之间的访问控制作为网络防
6、火墙提供外部网络与内部网络的访问控制作为网关服务器实现网络地址转换(NAT)功能,实现内部网络通过网关主机共享访问外部网络netfilter/iptables可以在Linux系统中实现网络防火墙的各种常用功能,Chapter,14,iptables的软件包组成,RHEL4中的iptables软件包#rpm-q iptables iptables软件包中的管理命令iptables是主要的管理命令,对网络防火墙功能的管理都是通过iptables命令实现的iptables-save命令可以将当前系统中的防火墙设置进行保存iptables-restore命令可以将使用iptables-save命令保存
7、的防火墙策略配置恢复到当前系统中,Chapter,15,iptables服务的启动与停止,iptables服务启动脚本/etc/rc.d/init.d/iptablesiptables配置文件与策略设置文件 iptables配置文件/etc/sysconfig/iptables-config 策略设置文件/etc/sysconfig/iptables iptables服务的启动与停止 iptables服务缺省自动启动可通过启动脚本手工启动和停止iptables服务#service iptables start,Chapter,16,查看防火墙的基本状态,查询防火墙的状态使用iptables命令
8、查询防火墙状态#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,Chapter,17,使用iptables命令进行策略设置,iptables命令是对防火墙配置管理的核心命令iptables命令提供了丰富的功能,可以对Linux内核中的netfilter防火墙
9、进行各种策略的设置iptables命令的设置在系统中是即时生效的使用iptables命令手工进行的防火墙策略设置如果不进行保存将在系统下次启动时丢失麦新衣时尚女装商城http:/,Chapter,18,使用iptables-save命令保存设置,iptables-save命令提供了防火墙配置的保存功能iptables-save命令缺省只将配置信息显示到标准输出(屏幕)中#iptables-save 如果需要将iptables-save命令的输出保存,需要将命令输出结果重定向到指定的文件中#iptables使用iptables-save命令可以将多个版本的配置保存到不同的文件中,Chapter,
10、19,使用iptables-restore命令恢复设置,iptables-restore命令可恢复防火墙设置iptables-restore命令可恢复使用iptables-save命令保存的防火墙设置内容iptables-restore命令从标准输入或输入重定向文件中获取防火墙的设置内容#iptables iptables-restore命令可快速恢复指定版本的防火墙配置,Chapter,20,使用iptables脚本保存防火墙设置,iptables脚本可以保存当前防火墙配置在保存防火墙当前配置前应先将原有配置进行备份#cp/etc/sysconfig/iptables iptables.ra
11、w iptables脚本的save命令可以保存防火墙配置#service iptables save 配置内容将保存在“/etc/sysconfig/iptables”文件中,文件原有的内容将被覆盖,Chapter,21,使用防火墙的配置工具,RHEL4中提供了防火墙配置程序运行防火墙配置工具#system-config-securitylevel-tui 在防火墙配置工具设置后会即时生效,并将设置保存到“/etc/sysconfig/iptables”文件中,Chapter,22,iptables命令的使用6-1,iptables命令的操作对象包括规则表(table)由规则链的集合组成,不同
12、的规则表用于实现不同类型的功能规则链(chain)由规则的集合组成,保存在规则表中;在规则表中不同的规则链代表了不同的数据包流向规则(rule)是最基本的设置项,用于对防火墙的策略进行设置;流经某个数据链的数据将按照先后顺序经过规则的“过滤”,Chapter,23,iptables命令的使用6-2,iptables中缺省包括3个规则表filternatmangleiptables命令可查看规则表的内容基本语法iptables-t table-L chain options不指定表名称时查看filter表的内容#iptables-L 查看指定的规则表#iptables-t nat-L,Chapt
13、er,24,iptables命令的使用6-3,清空表中的规则命令格式:iptables-t table-F chain options清空filter表中的所有规则#iptables-F 清空nat表中的所有规则#iptables-t nat-F删除表中的自定义规则链 命令格式:iptables-t table-X chain,Chapter,25,iptables命令的使用6-4,添加规则 命令格式iptables-t table-A chain rule-specification options在INPUT规则链中添加规则,允许来自“lo”网络接口中所有数据包#iptables-A IN
14、PUT-i lo-j ACCEPT 在INPUT规则链中添加规则,允许“eth0”网络接口中来自“192.168.1.0/24”子网的所有数据包#iptables,Chapter,26,iptables命令的使用6-5,删除规则命令格式iptables-t table-D chain rule-specification options删除规则的iptables命令与添加规则的命令格式类似删除INPUT规则表中已有的规则#iptables,Chapter,27,iptables命令的使用6-6,设置内置规则链的缺省策略命令格式iptables-t table-P chain target op
15、tions只有内建规则链才能够设置“缺省策略”将INPUT规则链的缺省策略设置为“DROP”#iptables-P INPUT DROP 将规则链的缺省策略的缺省策略设置为“DROP”,然后在逐个添加允许通过的规则是比较严谨的规则设置方法,Chapter,28,防火墙配置实例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 AC
16、CEPT#iptables-A INPUT-i eth0-p tcp-dport 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网络接口的所有数据包,C
17、hapter,29,防火墙配置实例2-2,设置Linux作为网关服务器 配置需求服务器网接口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”表示
18、数据包的源地址为“192.168.1.0/24”子网,“-o ppp0”表示数据包的流出网络接口是“ppp0”,“ppp0”网络接口具有公网IP地址,“-j MASQUERADE”表示对数据包进行的处理,即将符合条件的数据包进行IP伪装,Chapter,30,阶段总结,代理服务器和网络防火墙工作在不同的协议层在Linux系统中内核提供包过滤防火墙功能,使用squid服务器实现代理服务器功能netfilter是Linux内核中的包过滤框架,iptables是对netfilter的管理工具使用iptables可设置Linux系统实现各种常用的网络防火墙功能,Chapter,31,阶段练习,查看Li
19、nux系统中iptables软件包中包括的文件,并查询iptables服务的启动状态使用iptables命令查看filter规则表的设置内容麦新衣时尚女装商城http:/,Chapter,32,squid服务器的功能,squid服务具有以下基本功能提供对HTTP和FTP协议的代理服务缓存代理的内容,提高客户端访问网站的速度,并能够节约出口网络流量对客户端地址进行访问控制,限制允许访问squid服务器的客户机对目标地址进行访问控制,限制客户端允许访问的网站根据时间进行访问控制,限定客户端可以使用代理服务的时间,Chapter,33,squid服务器的代理工作机制,squid服务器具有代理和缓存的
20、基本功能,数据缓存,代理进程,远端服务器,客户端,Chapter,34,squid服务器的安装,squid服务器在RHEL4系统中已经默认安装#rpm-q squid squid服务的启动状态squid服务程序在RHEL4中默认不自动启动需要用chkconfig命令设置squid服务在运行级别3和5中自动启动#chkconfig-level 35 squid on,Chapter,35,squid服务启动前的准备,确认主机具有完整的域名squid服务运行需要Linux主机具有完整的域名#grep hostname/etc/hosts squid服务器的初始化 在第一次使用squid服务器之前需
21、要先对squid服务器进行初始化工作#squid-z 初始的主要作用是在squid服务器的工作目录中建立需要的子目录#ls/var/spool/squid/00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F,Chapter,36,squid服务的启动与停止,启动脚本squid服务的启动脚本名称是“squid”/etc/init.d/squid 启动与停止squid服务启动squid服务#service squid start 停止squid服务#service squid stop服务端口squid服务器的缺省服务端口为3128,Chapter,37
22、,squid服务的配置文件3-1,配置目录squid具有独立的目录保存配置文件/etc/squid/主配置文件主配置文件squid.conf保存在配置目录中/etc/squid/squid.confsquid.conf文件中的配置选项配置服务端口http_port 3128,Chapter,38,squid服务的配置文件3-2,squid.conf文件中的配置选项缓冲内存数量cache_mem 8 MB“cache_mem”的值设置为服务器物理内存的三分之一比较合适 工作目录 cache_dir ufs/var/spool/squid 100 16 256“cache_dir”设置项的缺省值为
23、设置“/var/spool/squid”作为squid的工作路径,“100 16 256”分别表示,目录中最大的容量是100MB,目录中的一级子目录的数量为16个,二级子目录为“256”个,Chapter,39,squid服务的配置文件3-3,squid.conf文件中的配置选项访问控制设置“http_access”用于设置允许或拒绝访问控制对象http_access allow localhosthttp_access deny all 访问控制列表(ACL)的定义“acl”配置项用于设置访问控制列表的内容 acl all srcacl localhost src重新启动squid服务对sq
24、uid.conf文件修改后需要重新启动服务程序#service squid restart,Chapter,40,配置透明代理服务器,配置squid服务器 修改squid.conf配置文件中的设置#vi/etc/squid/squid.conf/在配置文件中添加以下的配置行httpd_accel_host virtualhttpd_accel_port 80httpd_accel_with_proxy onhttpd_accel_uses_host_header on 重新启动squid服务器#service squid reload 设置防火墙策略#iptables-t nat-A PRER
25、OUTING-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 80”表示数据包访问的目的端口为“80”,即标准的WWW服务,“-j REDIRECT”表示将符合条件的数据包进行重定向,“-to-ports 3128”表示将数据包重定向到“3128”端口,“3128”端口是squi
26、d服务器提供网页代理服务的端口,Chapter,41,网页浏览器的代理设置,透明代理如果网关配置为透明代理将不需要在网络浏览器中进行任何的代理设置使用代理服务器直接使用squid代理服务器需要在浏览器中进行代理服务器的信息设置,Chapter,42,阶段总结,squid是著名的代理服务器软件,可实现HTTP和FTP协议的代理功能squid服务器的基本功能包括代理服务和内容缓存服务squid服务器的主配置文件“squid.conf”保存在“/etc/squid”目录中squid提供代理服务的缺省端口是“3128”squid服务器可以对代理的内容和客户端进行一定的访问控制网页浏览器使用代理服务器时
27、需要进行设置,Chapter,43,阶段练习,查看squid.conf配置文件中的缺省配置内容启动squid服务程序,并查看该服务所使用的网络端口,Chapter,44,本章总结,应用层代理,网络层防火墙,iptables基本原理,iptables的基本配置管理,防火墙配置实例,squid服务器的基本功能,squid服务器的配置管理,网页浏览器的代理设置,Chapter,45,实验,任务1:防火墙配置管理 任务2:squid代理服务器配置管理,Chapter,46,任务1,注意事项提示1:使用iptables命令进行防火墙的策略配置时应在Linux主机的控制台完成,如果使用SSH登录进行配置有可能造成由于策略的设置造成SSH连接中断提示2:在使用iptables脚本保存策略配置前需要先将现有策略进行备份,以便出现错误后进行恢复,Chapter,47,任务2,注意事项提示1:在启动squid服务程序之前需要先确认Linux主机具有完整的域名,如果没有可以在hosts文件中进行设置提示2:squid服务器第一次启动前的初始化工作可以使用“squid-z”命令手工完成,如不手工进行,squid启动脚本也会自动完成初始化工作,
链接地址:https://www.31ppt.com/p-5438144.html