http://sijinwei.blog.sohu.com/150018653.html
以及
http://www.linuxidc.com/Linux/2012-05/59506.htm
需求:通过squid3进行内外网互通,并且使用身份认证。(身份认证使用apache2的htpasswd)
1.安装squid3、apache2
sudo apt-get install squid sudo apt-get install apache2
2.修改配置
sudo vim /etc/squid/squid.confsquid默认配制是不让任何用记使用它的,你需要做相应的修改.
squid.conf全部都是注解,并无实际配置,可以全部删除,贴上我自己的squid.conf文件:
http_port 0.0.0.0:3128 #使用IPV4的3128端口作为代理服务器端口 cache_dir ufs /var/spool/squid3 1000 64 1024 #缓存目录 cache_access_log /var/log/squid3/access.log #接入的日志文件 cache_log /var/log/squid3/cache.log #缓存日志 cache_store_log /var/log/squid3/store.log #存储日志 pid_filename /var/run/squid.pid #进程ID cache_mgr newflydd@gmail.com #随意填一个email cache_mem 32 MB #缓存大小 cache_swap_low 90 #最小交换空间 cache_swap_high 95 #最大交换空间 maximum_object_size 4096 KB maximum_object_size_in_memory 8 KB auth_param basic program /usr/lib/squid3/ncsa_auth /etc/squid3/squid_passwd #以上都没意思,这边是重点,使用NCSA读取加密的用户密码 acl ncsa_users proxy_auth REQUIRED #代理身份使用认证模式 http_access allow ncsa_users #所有IP都可以使用代理
3.身份认证的配置
首先用touch命令建立一份人员档案,并修改其权限
sudo touch /etc/squid3/squid_passwd sudo chmod o+r /etc/squid3/squid_passwd
然后利用apache的加密命令,添加一个用户并加密密码
sudo htpasswd /etc/squid3/squid_passwd [yourname]这时候会让你输入两次密码确认,打开squid_passwd后就可以看到添加的用户,和已经加密过的密码了
4.初始设置
首先检查配置文件是否正确,按照我上面贴出来的squid.confg文件应该是没问题的,检查命令为:
sudo squid3 -k parse #检验:如果没有错误消息输出,恭喜,你可以使用squid了
下面,初始化一下squid的缓存空间
sudo squid3 -z
如果提示任何权限问题,建议把在配置文件中各种缓存路径使用chmod命令+wr一下,比如
sudo chmod 777 /var/log/squid3/access.log sudo chmod 777 /var/log/squid3/cache.log sudo chmod 777 /var/log/squid3/store.log
5.启动代理服务器
sudo /etc/init.d/squid restart
6.测试
打开浏览器设置代理服务器,IP、端口设置正确,用户名密码输入第三步配置好的,就可以顺利利用squid做代理跳板了。