快速业务通道

[RHEL5企业级Linux服务攻略]--第9季 Squid服务全攻略之高级配置

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-05-18
企业环境 公司搭建一台代理服务器,需要提高内网访问互联网速度并能够对内部员工的上网行为进行限制,采用squid代理服务器软件,对内部网络进行优化. 需求分析 提高用户访问速度,需要对squid服务器进行优化并且需要使用acl对访问行为进行相应限制. 解决方案 1、路由及NAT设置 设置网卡IP地址 eth0:192.168.8.188 netmask:255.255.255.0 vim /etc/sysconfig/network-scripts/ifcfg-eth0 eth1:dhcp获取 vim /etc/sysconfig/network-scripts/ifcfg-eth1 开启内核路由功能 echo 1 > /proc/sys/net/ipv4/ip_forward 配置iptables设定nat,即透明代理 iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-ports 3128 如果只设置下面一句而上面一句不设置,客户端也可以上网,只是不通过squid哈~ iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE 保存iptables设置 service iptables save 2、修改selinux设置 setsebool -P squid_disable_trans on 注意: 如果配置squid透明代理,要开启selinux的squid_disable_trans,否则squid不能启动哈~ 3、添加squid系统用户和组
Empire CMS,phome.net
[root@rhel5 ~]# groupadd squidadmin
[root@rhel5 ~]# useradd squidadmin -g squidadmin -s /sbin/nologin 4、建立相应目录 [root@rhel5 ~]# mkdir /usr/local/squid
[root@rhel5 ~]# mkdir /usr/local/squid/cache
[root@rhel5 ~]# mkdir /usr/local/squid/var
[root@rhel5 ~]# mkdir /usr/local/squid/var/logs
5、改变目录的所有者 为了保证服务正常启动并可以写入缓存、日志等信息,我们更改目录所有者为squidadmin哈~ [root@rhel5 ~]# chown -R squidadmin /usr/local/squid/cache
[root@rhel5 ~]# chgrp -R squidadmin /usr/local/squid/cache
[root@rhel5 ~]# chown -R squidadmin /usr/local/squid/var/logs
[root@rhel5 ~]# chgrp -R squidadmin /usr/local/squid/var/logs 6、修改squid配置文件 vim /etc/squid/squid.conf 设置监听地址和端口 http_port 3128 transparent 红色部分是支持透明代理,这是squid新版本的改进 注意: 好多资料说透明代理设置为 httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on 实际上透明代理只是在普通代理的基础上加上了http_port 3128 transparent及IPTABLES的端口转发功能,使用Iptables或者Ipchains实现,即把用户对外部www站点的访问转到Squid的端口上去,相对用用户来讲是“透明”的,不需在浏览器中指明代理服务器的IP和端口.
Empire CMS,phome.net
而对于反向代理来说,从squid2.6开始squid.conf已经没有httpd_accel字段了哈~Squid 2.6与3.0一样哈~相对于2.5的accel模式下配置要简单许多,只要设置不同的后端,cache_peer parent originserver就可以进行反向代理,而不再需要httpd_accel系列参数的配置.配置squid时最好制定内部dns,或者修改/etc/hosts文件,否则squid可能会回环访问其自身而出现问题哈~ udp_incoming_address 0.0.0.0 设置squid内存大小及cahce目录 cache_mem 512 MB cache_dir ufs /usr/local/squid/cache 10240 16 256 设置日志文件和pid文件位置 access_log /usr/local/squid/var/logs/access.log
cache_log /usr/local/squid/var/logs/cache.log
cache_store_log none
emulate_httpd_log on 使Squid按照Web服务器的格式创建访问记录,Web访问记录分析程序,就需要设置这个参数 pid_filename /usr/local/squid/var/logs/squid.pid 配置访问控制 acl all src 0.0.0.0/0.0.0.

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号