您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > Linux全攻略-Squid服务器配置与管理
Linux全攻略--Squid服务器配置与管理2008-12-1420:16:58标签:Linux配置服务器管理Squid[推送到技术圈]版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处、作者信息和本声明。否则将追究法律责任。是针对WEB客户机的高性能代理缓冲服务器,其作用是加快INTERNET的访问速度,同时为WEB服务器提供安全机制.一.安装Squid软件包.可看到已经安装好了.二.Squid.conf文件详解和常用配置.下面看下部分重要的设置.由于文件内容太多.设置端口:#Default:#http_port3128//浏览器连接到本ProxyServer时所用的端口,可修改.Cache选项设置#maximum_object_size4096KB#Default:#minimum_object_size0KB#Default:#maximum_object_size_in_memory8KB//内存中最大的对象大小#Default:#ipcache_size1024//IP对应cache的大小#ipcache_low90#ipcache_high95#Default:#fqdncache_size1024//域名全称CACHE的大小#Default:#cache_replacement_policylru//CACHE替换策略#Default:#memory_replacement_policylru内存替换策略#Default:#cache_dirufs/var/spool/squid10016256//存放路径大小和具体配置dns_nameserversxxxx.xxxx.xxxx.xxxx//内部指定DNS服务器authenticate_programxxxx具//身份认证程序authenticate_children32//身份认证程序启动的进程数目request_body_max_size5MB//最大请求的BODY大小reply_body_max_size20MB#cache_mem85MB//设置PROXYSERVER可使用多少内存作为高速缓存,一般要设置为物理内存的1/3cache_swap_low80cache_swap_high97//这两行设置CACHE进行替换的闸值,当占用到97%的CACHE后,CACHE中的内容将被清空20%#cache_dirufs/var/spool/squid10016256//设置高速缓存目录和高速缓存可以使用的硬盘空间,100表示最大可使用100MB,16表示第一层子目录最多可以有16个,256表示每个第一层子目录下最多可以有256子目录设置日志文件存储路径#cache_access_log/var/log/squid/access.log//设置高速缓存存取记录文件的名称和所在目录,它记录了所有高速缓存的行为,如果不需要,可以设为cache_access_log/dev/null#Default:#cache_log/var/log/squid/cache.log//设置缓存存储记录文件的名称和所在目录,它记录了哪些数据从高速缓存移出,哪些数据被放入高速缓存#Default:#cache_store_log/var/log/squid/store.log//设置store.log文件存放的位置,access.log,cache.log,store.log等文件会越来越大,用户最好定期备份和删除,或者将它们都关闭#reference_age2month//设置高速缓存中的数据可保存多久,这里我们设置为7天,若是天内没有存取过该数据,则访数据会被删除Cache_mgrroot//设置SQUID出现问题时,系统将给ROOT发送E-MAIL多级缓存设置#proxyicp#hostnametypeportportoptions#cache_peerparent.linux.netparent31283130[proxy-only]#cache_peersib1.linux.netsibling31283130[proxy-only]#cache_peersib2.linux.netsibling31283130[proxy-only]//这里可以进行多级缓存设置,设置PARENT和SIBINGPROXYSERVER的网址,端口和功能.OPTION的PROXY-ONLY表示不保存取回的数据,如此可节省硬盘空间,除非硬盘大小或者是与其它PROXYSERVER之间的网络不够快,否则不建议这样做.设置可以查询的主机或域#cache_peer_domaincache-hostdomain[domain...]#cache_peer_domaincache-host!domain#cache_peer_domainparent.foo.net.edu#cache_host_domain202.198.32.3!.tw!hinet.net//设置SQUID可以查询的PROXYSERVER所在的主机或域,如果是禁止查询,则在前面加上!#aclaclnameacltypestring/file#aclaclnametime[day-abbrevs][h1:m1-h2:m2]#day-abbrevs:#S-Sunday#M-Monday#T-Tuesday#W-Wednesday#H-Thursday#F-Friday#A-Saturday#h1:m1mustbelessthanh2:m2这段语句指明要访问的时间,字母代表周日到周六设置禁止访问某些站点.#aclallsrc0.0.0.0/0.0.0.0#aclmanagerprotocache_object#acllocalhostsrc127.0.0.1/255.255.255.255#aclto_localhostdst127.0.0.0/8#aclSSL_portsport443563#aclSafe_portsport80#http#aclSafe_portsport21#ftp#aclSafe_portsport443563#https,snews#aclSafe_portsport70#gopher#aclSafe_portsport210#waaclflagsrc192.168.5.0//加上这一行,定义所有来自192.168.5.*访问PROXYSERVER的连接称为FLAG设置可以连接的端口#http_accessallowmanagerlocalhost#http_accessdenymanager#http_accessdeny!Saft_ports#http_accessdenyCONNECT!SSL_portshttp_accessallowflaghttp_accessdenyall//这一部分设置访问控制,也就是设置哪些情况下可以连接,哪些情况下不可以连接.其它项目设置icp_accessallow*//允许CACHE_PEER使用ICP协议访问proxy_auth_realmBJPUproxy-cachingwebserver期间//验证框提示的BANNERcache_mgrliukange@netease.comcache//管理员的电子邮件地址cache_effective_user*cache_effective_group*//执行CACHE程序的用户UID和GIDvisible_hostnamecnproxy.bjpu.edu.cn.cache//服务器的机器名memory_poolson//内存池设置为打开memory_pools_limit50MB//内存池大小三,SquidServer配置实例.在前面加上IP地址,Squid就不会监听外部的网络接口2.建立转换目录.squid服务器的初始化当我们第一次使用squid服务器之前需要先使用squid-z命令对squid服务器进行初始化#ls/var/spool/squid#squid-z注意:如果初始化成功的话,会显示:2008/06/2015:07:51|CreatingSwapDirectories如果显示的是这样的信息的话:FATAL:Couldnotdeterminefullyqualifiedhostname.Pleaseset'visible_hostname'SquidCache(Version2.5.STABLE6):Terminatedabnormally.CPUUsage:0.064seconds=0.008user+0.056sysMaximumResidentSize:0KBPagefaultswithphysicali/o:0Aborted我们需要在主配置文件中添加一行:#vi/etc/squid/squid.confvisible_hostnamesquid//其中squid为你当前主机的名称保存退出后,再次执行squid-z就可以了。#ls/var/spool/squid000102030405060708090A0B0C0D0E0F启动squid服务#servicesquidstartStartingsquid:.[OK]在/var/spool/squid目录中可看到00-0F等16个子目录,在这些目录中又各有00-0F等256个子目录.SQUIDSERVER的高速缓存文件就存放在这些目录中.3.配置客户端通过代理服务器上网.1)在IE浏览器中设置.点局域网设置.2)在mozilla浏览器中设置.在首选项选择.四.配置透明代理服务器构建透明代理服务器需要对squid代理服务和iptables防火墙分别进行设置,配合使用才能实现透明代理的功能。在squid服务器中默认是不支持提供透明代理服务的相关功能的,因此我们需要在配置文件中进行如下配置:#vi/etc/squid/squid.conf//在配置文件的尾部添加上下列行http_port192.168.1.254:8080httpd_accel_hostvirtual//这行语句一定要加上httpd_accel_port80httpd_accel_with_proxyonhttpd_accel_uses_host_headeroncache_effective_usernobodyhttp_accessallowallaccess_dirufs/usr/local/squid/cache10016256重新启动服务#servicesquidrestartStoppingsquid:.[OK]Startingsquid:.[OK]让系统启动时自动运行squid,编辑/etc/rc.d/local文件,在文件末尾加上:sunobody-cusr/local/squid/bin/squid然后设置iptables执行如下命令echo1/proc/sys/net/ipv4/ip_forwardiptables-tnat-APREROUTING-ieth1-ptcp-mtcp--dport80-jREDIRECT--to-ports8080iptables-tnat-APOSTROUTING-s192.168.0.0/24-oeth0-jSNAT--toa.b.c.diptables-AFORWARD-mstate--stateESTABLISHED,RELATED-JACCEPT其中EHT1是内部网卡,ETH0是外部网卡,内网IP地址为192.168.1.0/23.ETH0对应的IP地址为218.198.67.10,ETH1对应的IP地址是192.168.1.254.设置网关和DNS后就可在客户端直接上网了.五.SquidServer的安全访问设置:1)限制内网某些IP使用代理服务器.要使用地址范围192.168.5.0到192.168.5.2
本文标题:Linux全攻略-Squid服务器配置与管理
链接地址:https://www.777doc.com/doc-2880877 .html