Ubuntu12.04下安装squid3代理服务器实现内外网互通

本文参考
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.conf
squid默认配制是不让任何用记使用它的,你需要做相应的修改.
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做代理跳板了。

posted on 2012-09-28 17:58  newflypig  阅读(2252)  评论(0编辑  收藏  举报

导航