您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > linux下squid安装与配置
上网行为管理和缓冲1.squidwebproxycache缓存2.跟踪哪些人访问哪些站点(记录在日志)/var/log/squid/access.log3.限制某些站点某些人的访问4.转发ssl请求5.加速内容访问速度缓存支持FTPHTTP支持转发SSL加密套接字协议层高级功能:支持访问控制缓存HTTP服务器访问--------------------------------------------------------------------分类:1.普通代理:即标准的、传统的代理服务,需要客户机在浏览器中指定代理服务器的地址、端口.2.透明代理:适用于企业的网关主机(共享接入Internet)中客户机不需要指定代理服务器地址、端口等信息,需要设置防火墙策略将客户机的Web访问数据转交给代理服务程序处理.3.反向代理:Web服务器加速(反向代理)是针对Web服务器提供加速功能的。它作为代理Cache,但并不针对浏览器用户,而针对一台或多台特定Web服务器(这也是反向代理名称的由来)1.标准的代理缓冲服务器一个标准的代理缓冲服务被用于缓存静态的网页(例如:html文件和图片文件等)到本地网络上的一台主机上(即代理服务器)。当被缓存的页面被第二次访问的时候,浏览器将直接从本地代理服务器那里获取请求数据而不再向原web站点请求数据。这样就节省了宝贵的网络带宽,而且提高了访问速度。但是,要想实现这种方式,必须在每一个内部主机的浏览器上明确指明代理服务器的IP地址和端口号。客户端上网时,每次都把请求送给代理服务器处理,代理服务器根据请求确定是否连接到远程web服务器获取数据。如果在本地缓冲区有目标文件,则直接将文件传给用户即可。如果没有的话则先取回文件,先在本地保存一份缓冲,然后将文件发给客户端浏览器。2.透明代理缓冲服务器透明代理缓冲服务和标准代理服务器的功能完全相同。但是,代理操作对客户端的浏览器是透明的(即不需指明代理服务器的IP和端口)。透明代理服务器阻断网络通信,并且过滤出访问外部的HTTP(80端口)流量。如果客户端的请求在本地有缓冲则将缓冲的数据直接发给用户,如果在本地没有缓冲则向远程web服务器发出请求,其余操作和标准的代理服务器完全相同。对于Linux操作系统来说,透明代理使用Iptables或者Ipchains实现。因为不需要对浏览器作任何设置,所以,透明代理对于ISP(Internet服务器提供商)特别有用。3.反向代理缓冲服务器反向代理是和前两种代理完全不同的一种代理服务。使用它可以降低原始WEB服务器的负载。反向代理服务器承担了对原始WEB服务器的静态页面的请求,防止原始服务器过载。它位于本地WEB服务器和Internet之间,处理所有对WEB服务器的请求,阻止了WEB服务器和Internet的直接通信。如果互联网用户请求的页面在代理服务器上有缓冲的话,代理服务器直接将缓冲内容发送给用户。如果没有缓冲则先向WEB服务器发出请求,取回数据,本地缓存后再发送给用户。这种方式通过降低了向WEB服务器的请求数从而降低了WEB服务器的负载。当用户浏览器发出一个HTTP请求时,通过域名解析将请求定向到反向代理服务器(如果要实现多个WEB服务器的反向代理,需要将多个WEB服务器的域名都指向反向代理服务器)。由反向代理服务器处理器请求。反向代理一般只缓存可缓冲的数据(比如html网页和图片等),而一些CGI脚本程序或者ASP之类的程序不缓存。它根据从WEB服务器返回的HTTP头标记来缓冲静态页面。有四个最重要HTTP头标记:Last-Modified:告诉反向代理页面什么时间被修改Expires:告诉反向代理页面什么时间应该从缓冲区中删除Cache-Control:告诉反向代理页面是否应该被缓冲Pragma:告诉反向代理页面是否应该被缓冲.包名字:squid主程序:/usr/sbin/squid脚本:/etc/init.d/squidport:TCP3128(squid)(端口可以修改)配置文件:/etc/squid*默认访问日志文件:/var/log/squid/access.logyuminstallsquid/etc/squid/squid.conf1.http_port31282.cache_dirufs/var/spool/squid10016256设置高速缓存目录和高速缓存可以使用的硬盘空间,100表示最大可使用100MB,16表示第一层子目录最多可以有16个,256表示每个第一层子目录下最多可以有256子目录。cache_dirufs/var/spool/squid10016256文件类型目录缓存轮询大小(超覆盖)一级目录二级目录一天缓存流量100M设置为100M表示一天清理一下提高工作效率(缓存随机写随机读)3.cache_mem64MB设置PROXYSERVER可使用多少内存作为高速缓存,一般要设置为物理内存的1/34.reply_body_max_size10MBallowall禁止下载超过10M的文件5.maximum_object_size4096KB指定多大的文件可以被保存到磁盘中6.cacheeffectiveuser/groupsquid设置缓存的有效用户和组7.dnsnameservers192.168.1.1设置DNSserver8.cacheaccess_log/var/log/squid/access.log设置访问日志文件8.cachestore_log/var/log/squid/store.log设置网页缓存日志文件9.visible_hostnamens.tech.com设置squid主机名称10.cachemgrroot@tech.com设置管理员邮箱aclall(定义的名称)src0.0.0.0/0.0.0.0acllocalhost(名称)src127.0.0.1/255.255.255.255http_accessallowlocalhost(调用)http_accessdenyall(调用)有先后顺序先许可后拒绝ACCESSCONTROLS定义acl类型aclaclnamesrcip/mask(客户端ip)aclaclnamesrcip1-ip2/mask地址池aclaclnamedstip/maskaclaclnamemyipip/mask本地aclaclnamearpmac-addresssrcdomain.tech.comdstdomain.tech.com对目标域控制srcdom_regex[-i]xxx匹配客户端主机名dstdom_regex[-i]xxx匹配服务器主机名日期时间日期(S-sundayMTWHFA)时间h1:m1-h2:m2几点几分url_regex[-i]^http://...整个网站urlpath_regex[-i]\.gif$配置指定路径的以指定内容结尾的urllogin[-i][^a-zA-Z0-9]...port807021...port0-1024透明代理:echo1/proc/sys/net/ipv4/ip_forward配置iptables设定nat,即透明代理iptables-tnat-APREROUTING-ieth0-ptcp--dport80-jREDIRECT--to-ports3128如果只设置下面一句而上面一句不设置,客户端也可以上网,只是不通过squidiptables-tnat-APOSTROUTING-oeth1-jMASQUERADE保存iptables设置serviceiptablessave2、修改selinux设置setsebool-Psquid_disable_transon如果配置squid透明代理,要开启selinux的squid_disable_trans,否则squid不能启动3,http_port3128transparent支持透明代理设置访问日志cache_access_log/var/log/squid/access.log设置缓存日志cache_log/var/log/squid/cache.log设置网页缓存日志cache_store_log/var/log/squid/store.log设置squid进程所有者cache_effective_usersquid设置squid进程所属组cache_effective_groupsquid设置squid可见主机名visible_hostname192.168.8.188禁止上网实例:禁止地址为192.168.1.1客户端上网aclbadclientip1src192.168.1.1(可以是网段192.168.1.0/24)http_accessdenybadclientip1禁止访问客户段访问目的地址为202.96.110.10的网站aclbadsrvip1dst202.96.110.10http_accessdenybadsrvip1禁止用户访问域名为(忽略大小写)http_accessdenybadurl1禁止用户访问含有sex关键字的RULaclbadurl2url_regex-isex(可以接多个关键字)http_accessdenybadurl2禁止ip为192.168.1.1客户端并发最大连接数为5aclclientip1src192.168.1.1aclconn5maxconn5http_accessdenyclientip1conn5(注意先后顺序)禁止192.168.1.0子网内的所有客户机在周一到周五的9:30-18:00上网aclclientnet1src192.168.1.0/255.255.255.0aclworktimetimeMTWHF9:30-18:00http_accessdenyclientnet1worktime禁止客户机下载*.mp3*.exe*.zip*.rar类型文件网页内容aclbadfile1urlpath_regex-i\.mp3$\.exe$\.zip$\.rar$http_accessdenybadfile1禁止QQ通过代理上网aclqqurl_regex-itencent.comhttp_accessdenyqq排错:quid.out1.普通代理:62http_port312862http_port192.168.1.11:3128aclaclnamesrcip/mask59http_accessallow(deny)aclname2.配置透明代理前提:客户机的Web访问数据要能经过防火墙代理服务构建在网关(防火墙)主机中配置要求:代理服务程序能够支持透明代理设置防火墙规则,将客户机的Web访问数据自动重定向给代理服务程序处理。echo1/proc/sys/net/ipv4/ip_forwardvi/etc/sysctl.confsysctl-p==立刻让该设定生效iptables-tnat-APREROUTING-s172.16.0.0/16-ieth1-ptcp--dport80-jREDIRECT--to-ports3128ACL(AccessControlList,访问控制列表)http_port3128transparentrouteadd–netIPnetmaskMASKgwIP3.配置反向代理202.96.100.1(公网客户端)202.96.100.2(公司公网接口)(squid代理开启内核路由转发功能)172.16.1.1(内网webserver)172.16.1.254(gw内网接口)内网发布web站点VirtualHost172.16.1.1:80#ServerAdminroot@test
本文标题:linux下squid安装与配置
链接地址:https://www.777doc.com/doc-2884701 .html