configure Squid proxy server
一般我个人认为Unix内核的系统要比Windows内核的系统在reliability方面更胜一筹,因为现在网络环境中不管你是在LAN,还是在WAN中都可能随时会受到virus或者其他backdoor等程序的影响。当然Unix下也有这样的恶意程序,只是Windows下受到攻击的机率实在太高了(树大招风嘛 :P)。在Unix内核的系统中,我首选是FreeBSD,我认为Linux在网络应用方面是不错,但最新的Linux系统也充斥了各种复杂的GUI,导致系统性能不能完全发挥,而买HP-Unix等系统的费用是一般企业不可及的,所以我选择了网络性能更强的FreeBSD(相对OpenBSD来讲)。
企业一般公司等有些规模的网络环境可能都是宽带接入,但是宽带肯定有限所以如何能更合理的应用这些带宽,减少不必要的HTTP并发连接请求是每个企业ITpro所必需做到的。下面我推荐一款HTTPproxy软件SQUID。
一般Unix安装软件可以从ports安装或者自己编译二进制源码来安装(Linux下还有apm包)。
我喜欢即方便又实用的ports,下面给出我安装的步骤及相关简要注释:(我是使用Mysql+squid配置成带身份验证的Proxy服务)
#cd /usr/ports/www/squid
#make install && make clean
#cd /usr/ports/database/mysql323-server
#make install && make clean
#tar -zxvf /tmp/mysql_auth-0.5.tar.gz (因为有现成的,所以我没有从ports安装MYsql,如果你们愿意则可以从ports安装)
#cd mysql_auth-0.5
#vi Makefile
(CFLAGS = -I/usr/local/include -L/usr/local/lib/ ==>改为(即修改安装路径)
CFLAGS = -I/usr/local/include -L/usr/local/lib/mysql)
#cd /usr/local/squid
#mkdir bin
#mkdir etc
#cd /tmp/mysql_auth-0.5
#make
#make install && make clean
#cd /usr/local/squid/etc/
#vi mysql_auth.conf
(encrypt_password_form NO ==>改为(打开加密保存的密码格式)
encrypt_password_form YES)
#cd /tmp/mysql_auth-0.5/scripts
#mysql -uroot -p < create_script
#mypasswd hdic hdic..
Password record ADDED succesfully. 添加Proxy 用户)
#mypasswd -d hdic (删除Proxy 用户)
#cd /usr/local/etc/squid/
#chmod u=rwx squid.conf
#vi squid.conf
acl password proxy_auth REQUIRED(编辑SQUID配置文件,启用身份验证)
http_access allow password
auth_param basic program /usr/local/squid/bin/mysql_auth)
#squid -z(第一次启动SQUID)
#squid -NCd1
这样我们整个安装,配置过程就结束了,其实SQUID功能还很强大,比如说基于IP网段的访问控制,(安装完安装目录下有默认配置文件,里面有详细的配置参数及相关说明)如果在内核中加入options DUMMYNET即可,当然还要打开Ipfirewall。
SQUID安装目录下文件权限,如果不正确可能访问时会被拒绝。
注:
/usr/local/squid
drwxr-xr-x 2 root wheel 512 May 19 16:43 bin
drwxr-xr-x 18 nobody nogroup 512 May 19 17:17 cache
drwxr-xr-x 2 root wheel 512 May 19 16:43 etc
drwxr-xr-x 2 root wheel 512 May 19 17:17
logs/usr/local/squid/logs
rw-r--r-- 1 nobody wheel 14562 May 19 17:02 access.log
-rw------- 1 root wheel 1527808 May 19 16:53 squid.core
-rw-r--r-- 1 nobody wheel 18079 May 19 17:02 store.log
/usr/local/etc/squid
drwxr-xr-x 29 root wheel 1024 May 19 15:37 errors
drwxr-xr-x 2 root wheel 1024 May 19 15:37 icons
-r--r--r-- 1 root wheel 26102 May 19 15:37 mib.txt
-r--r--r-- 1 root wheel 6912 May 19 15:37 mime.conf
-r--r--r-- 1 root wheel 6912 May 19 15:37 mime.conf.default
-rwxr-xr-x 1 root wheel 110061 May 19 16:58 squid.conf
-rwxr-xr-x 1 root wheel 109927 May 19 15:37 squid.conf.bk
-r--r--r-- 1 root wheel 109927 May 19 15:37 squid.conf.default