Squid 正向代理安装配置

1.安装
yum install squid

2.修改配置文件 /etc/squid/squid.conf
cache_mem 64 MB
cache_dir ufs /var/spool/squid 2000 16 256
cache_effective_user squid
cache_effective_group squid
cache_access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
visible_hostname 172.16.10.10

3.启动 squid
service squid start
设置开机启动
/sbin/chkconfig squid on

相关文件
squid 的 log:/var/log/squid/
access.log cache.log squid.out store.log

squid.conf配置文件说明:
http_port 3128 (还可以只监听一个一个ip  http_port 172.16.10.10:3128)
cache_mem 64MB         #缓存占内存大小
maximum_object_size 4096KB            #最大缓存块
reply_body_max_size  1024000 allow all  #限定下载文件大小
access_log /var/log/squid/access.log   #访问日志存放的文件
visible_hostname  proxy.test.xom  #可见的主机名
cache_dir ufs /var/spool/squid 2000 16 256
usf:缓存数据的存储格式
/var/spool/squid 缓存目录
2000 : 缓存目录占磁盘空间大小(M)
16 :缓存空间一级子目录个数
256 :缓存空间二级子目录个数

4.Squid 用户名密码认证
安装htpasswd
yum install httpd
利用 apache 携带的工具 htpasswd 生成密码文件并添加相应的用户信息,可能需要写全 htpasswd 的路径(如果这个服务器上有若干网站,选择使用80端口的那个目录下的htpasswd)
/usr/bin/htpasswd -c /etc/squid/passwd zhangsan
根据提示输入密码

修改 squid 配置文件:
auth_param basic program /usr/lib64/squid/ncsa_auth /etc/squid/passwd
acl auth_user proxy_auth REQUIRED
http_access allow auth_user
说明:
# 定义了认证方式为 basic,认证程序的路径,认证程度需要读取的帐户文件(注意 ncsa_auth 和 上个步骤建立的 passwd 的路径)
# 自定义一条名为 auth_user 的ACL,ACL类型为 proxy_auth 通过外部程序进行用户认证方式,列表值为REQUIRED,说明接受所有合法用户的访问,然后使用 http_access 选项允许该列表

重启
service squid restart

体验:
- 在没有开启用户名密码认证时,能成功地只允许某些 IP 访问代理服务器,并且屏蔽掉客户端的信息。
- 当开启用户名密码认证时,只要验证成功,无论 IP 是什么,都能够使用代理服务器。

验证方法:
浏览器菜单 – 工具 – Internet选项 – 连接 – 局域网设置 – 勾选“为LAN使用代理服务器”,输入代理服务器的IP和端口

然后看是否能正常浏览网页,如果是通过用户名密码验证的,则会跳出验证框,如果不在IP允许列表里,则显示的页面是禁止访问。