沃尔康国际认证中心Linux服务器配置与管理沃尔康国际认证中心代理服务器的配置与管理2019年10月18日12时5分2第八章代理服务器的配置与管理2019年10月18日12时5分3目标配置squid为局域网用户代理上网使用PHProxy搭建WEB在线代理平台沃尔康国际认证中心对于代理服务器,广大的用户一定不会陌生。因为我们经常都会使用代理。比如想在youtube上面看视频,想访问fackbook等都需要代理服务器。因为这些网站我们不能直接访问。上面的例子说明最终用户买产品是从经销商处够买,而经销商从厂家进货,经销商在这里充当一个代理。为什么用户不直接从产品买呢?◦到不了产品厂商◦路程太远◦...2019年10月18日12时5分41.1、代理服务介绍沃尔康国际认证中心1.1、代理服务介绍2019年10月18日12时5分5/5代理服务器和上面的例子几乎一样,下面是一些代列服务器的作用◦共享网络:使用一个共网IP就可以满足局域网络用户上网的需求◦访问代理:翻墙。另外,直接读取服务器上已有的信息,还可以大大加快访问速度、节约网络带宽◦防止攻击:一般的外部扫描、刺探等在到达代理服务器就停止了。这就很好的保护内网用户的真实信息。◦...沃尔康国际认证中心1.1、代理服务介绍代理服务器工作原理2019年10月18日12时5分6/6沃尔康国际认证中心1.1、代理服务介绍1.启动代理服务器,此时代理服务器的主进程将监听某个绑定的端口并初始化缓存2.客户端A向代理服务器发关访问请求3.代理服务器在收到请求后创建一个子进程以应对该请求4.代理服务器与客户端A建立连接,然后解析客户端发出的请求并按照预设的访问规则难证该请求5.子进程开始查询缓存,根据查询结果进行不同的处理6.目标Web服务器內代理服务器子进程发来的请求,同时代理服务器子进程依据具体的缓存更新算法更新代理服务器缓存7.代理服务器子进程将目标Web服务器回应转送给客户端A2019年10月18日12时5分7/7沃尔康国际认证中心1.1、代理服务介绍代理服务器分为三类◦正向代理:接收局域网中用户的请求,接收互联网上的数据◦反向代理:和正向代理相反◦透明代理:用户不需要设置代理2019年10月18日12时5分8/8沃尔康国际认证中心1.1、代理服务介绍2019年10月18日12时5分9/9常用的代理服务器软件有以下几种:◦squid◦sygate◦wingate◦ccproxy本次课主要讲解在Linux使用squid来搭建代理服务器squid是一款优秀的代理服务器软件,被广泛应用于Linux和UNIX系统沃尔康国际认证中心1.1、代理服务介绍2019年10月18日12时5分10/10沃尔康国际认证中心1.1、代理服务介绍2019年10月18日12时5分11/11squid安装配置步骤沃尔康国际认证中心1.2、squid安装使用YUM安装以下软件包[root@localhost~]#yum-yinstallsquid2019年10月18日12时5分12/12沃尔康国际认证中心1.3、squid配置squid的服务名称为squid。主要文件◦/etc/squid/squid.conf\\主要配置文件监听端口和IP地址设置◦http_port3128或http_port192.168.1.254:3128代理服务器的一个很重要的功能是缓冲和储存数据。在Squid服务器中,主要使用cache_mem、cache_dir、cache_swap_low和cache_swap_high这4个参数来设置缓冲容量的大小。◦cache_mem用于设定额外提供多少内存容量供squid使用。◦cache_dir用于设置缓存文件的存储方式和在硬盘中的存储位置2019年10月18日12时5分13/13沃尔康国际认证中心1.3、squid配置◦cache_dirschemedirectorysizeL1L2[options]scheme:用于设置squid的存储机制,默认为ufsdirectory:缓存文件存放的位置size:指定cache目录的大小L1和L2对于ufs、aufs和diskd机制。options:squid提供了两个不同存储机制的cache_dir选项,分别是read-only标签和max-sizeread-only选项用于指示squid继续从cache_dir中读取文件,但不往里面写新目标max-size值用于指定存储在cache的最大目标的容量大小◦cache_swap_low和cache_swap_highcache_swap_low和cache_swap_high指令控制了对象占用最大cache体积的百分比。cache_swap_low是一个下限值,当在这个值以下时,squid不会删除cache目标。如果cache体积增加,squid会逐渐删除目标。在稳定情况下,你会发现磁盘使用总是相对接近cache_swap_low值。cache_swap_high在现在的版本中没有多大用处2019年10月18日12时5分14/14沃尔康国际认证中心1.3、squid配置访问控制◦在默认情况下,squid会拒绝所有客户的请求。在使用之前需要在squid.conf文件里加入附加的访问控制规则,也就是定义一个针对客户端IP地址的访问控制列表和一系列访问规则,告诉服务器自哪些IP地址的HTTP请求。ACL参数宣言的语法格式如下:acl列表名称列表类型列表值1列表值2如定义一个叫LAN和ACL,匹配源地址为192.168.1.0/24这个网段aclLANsrc192.168.1.0/24◦定义了ACL之后还需要放到相应的访问规则才会生效通常我们会使用http_access来设置,格式如下:http_accessallow|deny列表名称1列表名称22019年10月18日12时5分15/15沃尔康国际认证中心1.4、squid配置实例在wolk-tech.com这台主机上安装squid。并配置只监听192.168.2.254这个IP上的3128和8080两个端口。192.168.2.1周一到周五上午9点到下午18点,不允许机器访问以net结尾的域名,不能下载.mp3结尾的文件。并只允许通过代理服务器的3128端口访问外网。192.168.2.2只能访问http服务,访问的路径中不能有h关键字。并只允许通过代理服务器的8080端口访问外网。2019年10月18日12时5分16/16沃尔康国际认证中心1.4、squid配置实例http_port192.168.1.220:8080cache_mem128MBcache_dirufs/var/spool/squid100016256cache_swap_low90cache_swap_high95aclclient1-ipsrc192.168.1.133aclclient1-myportmyport3128aclclient1-domaindstdom_regex-inet$aclclient1-downloadurl_regex-i\.mp3$aclclient1-timetimeD09:00-18:00aclallsrc0.0.0.0/0.0.0.02019年10月18日12时5分17/17沃尔康国际认证中心1.4、squid配置实例http_accessdenyclient1-domainclient1-timeclient1-iphttp_accessdenyclient1-ipclient1-downloadhttp_accessallowclient1-ipclient1-myportaclclient2-ipsrc192.168.1.134aclclient2-myportmyport8080aclclient2-protocolprotoHTTPaclclient2-URLPATHurlpath_regex-ihhttp_accessdenyclient2-URLPATHclient2-iphttp_accessdeny!client2-protocolclient2-iphttp_accessallowclient2-ipclient2-myport2019年10月18日12时5分18/18沃尔康国际认证中心1.4、squid配置实例dns_nameservers202.98.192.67cache_mgrhuyangyang50201@163.comaccess_log/var/log/squid/access.logcache_effective_usersquidcache_effective_groupsquid[root@localhost~]#/usr/sbin/squid-z[root@localhost~]#servicesquidstart[root@localhost~]#chkconfigsquidon配置修改后可以使用以下命令重新加载配置[root@localhost~]#servicesquidreload2019年10月18日12时5分19/19沃尔康国际认证中心1.4、squid配置实例2019年10月18日12时5分20/20沃尔康国际认证中心1.4、squid配置实例2019年10月18日12时5分21/21沃尔康国际认证中心1.4、squid配置实例2019年10月18日12时5分22/22沃尔康国际认证中心1.5、ACL匹配规则ACL元素的匹配规则◦当ACL元素有多个值时,任何单个值能导致匹配。换句话说,squid在检查ACL元素值时使用OR逻辑。当squid找到第一个值匹配时,它停止搜索。这意味着把最可能匹配的值放在列表开头处,能减少延时。访问规则的匹配规则◦访问规则和ACL元素匹配恰好相反。对http_acceess访问规则设置,squid使用“与”逻辑。规则中任何一个不匹配请求,squid停止搜索该规则,并继续下一条。对某个规则来说,将最少匹配的ACL放在首位,能使效率最佳。ACL列表的匹配规则◦对某个ACL值的匹配算法是,squid在访问列表里找到匹配规则时,搜索终止。假如没有访问规则导致匹配,默认动作是列表里最后一条规则的取反。2019年10月18日12时5分23/23沃尔康国际认证中心1.6、使用LDAP为Squid提供身份验证http_port192.168.1.220:3128http_port192.168.1.220:8080cache_mem128MBcache_dirufs/var/spool/squid100016256cache_swap_low90cache_swap_high95auth_parambasicprogram/usr/lib/squid/squid_ldap_auth-bdc=wolk-tech,dc=com-h192.168.1.220-fuid=%saclauthuserproxy_authREQUIREDaclclient1-ipsrc192.168.1.1332019年10月18日12时5分24/24沃尔康国际认证中心1.6、使用LDAP为Squid提供身份验证aclclient1-myportmyport3128aclclient1-domaindstdom_regex-inet$aclclient1-downloadurl_regex-i\.mp3$aclclient1-timetimeD09:00-18:00aclallsrc0.0.0.0/0.0.0.0http_accessdenyclient1-domainclient1-timeclient1-iphttp_accessdenyclient1-ipclient1-downloadhttp_accessallowauthuserclient1-iphttp_accessallowclient1-ipclient1-myportaclclient2-ipsrc192.1