Macan生活点滴 2010-12-12
./configure --prefix=/data/squid/app --enable-arp-acl --enable-gnuregex \
--disable-carp --enable-async-io=240 --disable-wccp --enable-icmp --enable-kill-parent-hack \
--enable-cachemgr-hostname=localhost --enable-snmp --disable-ident-lookups --enable-delay-pools \
--enable-cache-digests --with-maxfd=65535 --enable-poll --enable-linux-netfilter \
--enable-large-cache-files --disable-internal-dns --enable-underscore
make $$ make install
关于编译参数的说明
–prefix=/usr/local/squid :指定软件的安装路径 –enable-gnuregex :支持GNU正则表达式。 –disable-carp: Cache数组路由协议(CARP)用来转发丢失的cache到父cache的数组或cluste –enable-async-io=240等同于同时打开./configure如下三个选项 --with-aufs-threads=N_THREADS --with-pthreads --enable-storeio=ufs,aufs 这个主要是设置async模式来运行squid,我的理解是设置用线程来运行squid,如果服务器配置很不错,有1G以上内存,cpu使用SMP的方式的话可以考虑设成160或者更高。如果服务器比较糟糕就根据实际情况设了。另外此项还另cache文件支持aufs --disable-wccp用于阻止或分发HTTP请求到一个或多个caches –enable-icmp :加入icmp支持 –enable-kill-parent-hack :关掉suqid的时候,要不要连同父进程一起关掉 --enable-cachemgr-hostname=localhost:指定cachemgr-hostname值为localhost -- enable-snmp :此选项可以让MRTG使用SNMP协议对服务器的流量状态进行监测,因此必须选择此项,使Squid支持SNMP接口。 –disable-ident-lookups :防止系统使用RFC931规定的身份识别方法。 --enable-delay-pools 开启squid延时池功能 –enable-cahce-digests :加快请求时,检索缓存内容的速度。 –enable-err-language=”Simplify_Chinese” 和 –enable-default-err-languages=”Simplify_Chinese” :指定出错是显示的错误页面为简体中文 --with-maxfd=65535指定最大文件描述 –enable-poll :指定使用Poll()函数,提升性能就是啦。 --disable-ident-lookups允许服务器利用客户端的特殊TCP连接来发现用户名 –enable-linux-netfilter :可以支持透明代理 --enable-large-cache-files开启大文件支持,支持2GB以上的文件 --disable-internal-dns使用自己的内部DNS查询 –enable-underscore :允许解析的URL中出现下划线,因为默认squid会认为带下划线的URL地址是非法的,并拒绝访问该地址 –enable-arp-acl :可以在规则设置中直接通过客户端的MAC地址进行管理,防止客户使用IP欺骗。
添加mac限制
acl access_group arp 00:26:18:bb:d0:5e #MAC地址验证多个中间用空格分开
http_access allow access_group
#可以根据这个测试命令用来验证squid.conf的语法和配置(如果不OK会有相应的提示根据提示来修改配置文件)/usr/local/squid/sbin/squid-kreconfig#重新加载配置netstat-an|grep8080#如有输出就表示正常,设置测试OK.