基础环境
CentOS release 6.5 (Final) 64位
squid 3.1.23-9.el6
SELINUX=disabled
HTTP Service: stoped
1、安装squid
检查squid软件是否安装
# rpm -qa|grep squid
如果未安装,则使用yum 方式安装
# yum -y install squid
设置开机自启动
# chkconfig --level 345 squid on //在3、4、5级别上自动运行squid服务
2、squid服务器的配置文件说明
squid 的主配置文件是 /etc/squid/squid.conf,所有squid的设定都是在这个文件里配置,
下面我们来讲解一下该文件的配置选项。
http_port 3128 //设置监听的IP与端口号
cache_mem 64 MB //额外提供给squid使用的内存,squid的内存总占用为 X * 10+15+“cache_mem”,其中X为squid的cache占用的容量(以GB为单位),
//比如下面的cache大小是100M,即0.1GB,则内存总占用为0.1*10+15+64=80M,推荐大小为物理内存的1/3-1/2或更多。
maximum_object_size 4 MB //设置squid磁盘缓存最大文件,超过4M的文件不保存到硬盘
minimum_object_size 0 KB //设置squid磁盘缓存最小文件
maximum_object_size_in_memory 4096 KB //设置squid内存缓存最大文件,超过4M的文件不保存到内存
cache_dir ufs /var/spool/squid 100 16 256 //定义squid的cache存放路径 、cache目录容量(单位M)、一级缓存目录数量、二级缓存目录数量
logformat combined %>a %ui %un [%tl] "%rm %ru HTTP/%rv" %Hs %<st "%{Referer}>h" "%{User-Agent}>h" %Ss:%Sh //log文件日志格式
access_log /var/log/squid/access.log combined //log文件存放路径和日志格式
cache_log /var/log/squid/cache.log //设置缓存日志
logfile_rotate 60 //log轮循 60天
cache_swap_high 95 //cache目录使用量大于95%时,开始清理旧的cache
cache_swap_low 90 //cache目录清理到90%时停止。
acl localnet src 192.168.1.0/24 //定义本地网段
http_access allow localnet //允许本地网段使用
http_access deny all //拒绝所有
visible_hostname squid.david.dev //主机名
cache_mgr china@qq.com //管理员邮箱
我自己的实际增加的配置:
cache_mem 64 MB
maximum_object_size 4 MB
minimum_object_size 0 KB
maximum_object_size_in_memory 4096 KB
cache_dir ufs /var/spool/squid 4048 16 256
access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
logfile_rotate 80
cache_swap_low 90
visible_hostname squid
添加用户认证(在第一个:http_access 前加上以下内容,重要)
#用户认证需要添加
auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/passwd
auth_param basic children 5
auth_param basic credentialsttl 2 hours
auth_param basic realm Example.com's Squid proxy-caching
acl auth_user proxy_auth REQUIRED
http_access allow auth_user
auth_param basic casesensitive off
注释:
第一行:选择的认证方式为basic,认证程序路径和密码文件路径。
第二行:认证程序的进程数
第三行:认证有效时间
第四行:认证领域内容,上面定义的web浏览需要输入用户密码
第五,六行:设置允许认证的用户访问,指明接收所有合法用户的访问
第七行:指定是否区分用户名大小写,on为区分,off为不区分。
#user acl
auth_param basic program /usr/lib64/squid/ncsa_auth /usr/lib64/squid/passwd
auth_param basic children 5
auth_param basic credentialsttl 2 hours
auth_param basic realm My Proxy Caching Domain
acl auth_user proxy_auth REQUIRED
http_access allow auth_user
接着生成密码文件:
htpasswd -c /usr/lib64/squid/passwd user1
接下来输入二次密码password1,确认。
为user1 这个用户添加密码进行验证访问的过程就结束了。
如果还要添加其它用户,则不用加参数-c了
htpasswd /usr/etc/passwd xingxing
重新启动Squid,密码认证生效
重启squid服务:
/etc/init.d/squid restart
刷新
/usr/sbin/squid -s
一切配置以后:
squid –z 初始化缓存
squid –k parse 检查语法
service squid start 启动squid
chkconfig squid on 加入开机启动
netstat –nltp 查看3128端口是否打开
客服端的配置:
ip : 192.168.1.12 gw:192.168.1.1
然后打开浏览器-工具-选项-连接-局域网设置-代理服务器
地址:192.168.1.1 端口:3128
一切搞定之后在浏览器输入www.baidu.com即可访问!
CentOS release 6.5 (Final) 64位
squid 3.1.23-9.el6
SELINUX=disabled
HTTP Service: stoped
1、安装squid
检查squid软件是否安装
# rpm -qa|grep squid
如果未安装,则使用yum 方式安装
# yum -y install squid
设置开机自启动
# chkconfig --level 345 squid on //在3、4、5级别上自动运行squid服务
2、squid服务器的配置文件说明
squid 的主配置文件是 /etc/squid/squid.conf,所有squid的设定都是在这个文件里配置,
下面我们来讲解一下该文件的配置选项。
http_port 3128 //设置监听的IP与端口号
cache_mem 64 MB //额外提供给squid使用的内存,squid的内存总占用为 X * 10+15+“cache_mem”,其中X为squid的cache占用的容量(以GB为单位),
//比如下面的cache大小是100M,即0.1GB,则内存总占用为0.1*10+15+64=80M,推荐大小为物理内存的1/3-1/2或更多。
maximum_object_size 4 MB //设置squid磁盘缓存最大文件,超过4M的文件不保存到硬盘
minimum_object_size 0 KB //设置squid磁盘缓存最小文件
maximum_object_size_in_memory 4096 KB //设置squid内存缓存最大文件,超过4M的文件不保存到内存
cache_dir ufs /var/spool/squid 100 16 256 //定义squid的cache存放路径 、cache目录容量(单位M)、一级缓存目录数量、二级缓存目录数量
logformat combined %>a %ui %un [%tl] "%rm %ru HTTP/%rv" %Hs %<st "%{Referer}>h" "%{User-Agent}>h" %Ss:%Sh //log文件日志格式
access_log /var/log/squid/access.log combined //log文件存放路径和日志格式
cache_log /var/log/squid/cache.log //设置缓存日志
logfile_rotate 60 //log轮循 60天
cache_swap_high 95 //cache目录使用量大于95%时,开始清理旧的cache
cache_swap_low 90 //cache目录清理到90%时停止。
acl localnet src 192.168.1.0/24 //定义本地网段
http_access allow localnet //允许本地网段使用
http_access deny all //拒绝所有
visible_hostname squid.david.dev //主机名
cache_mgr china@qq.com //管理员邮箱
我自己的实际增加的配置:
cache_mem 64 MB
maximum_object_size 4 MB
minimum_object_size 0 KB
maximum_object_size_in_memory 4096 KB
cache_dir ufs /var/spool/squid 4048 16 256
access_log /var/log/squid/access.log
cache_log /var/log/squid/cache.log
logfile_rotate 80
cache_swap_low 90
visible_hostname squid
添加用户认证(在第一个:http_access 前加上以下内容,重要)
#用户认证需要添加
auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/passwd
auth_param basic children 5
auth_param basic credentialsttl 2 hours
auth_param basic realm Example.com's Squid proxy-caching
acl auth_user proxy_auth REQUIRED
http_access allow auth_user
auth_param basic casesensitive off
注释:
第一行:选择的认证方式为basic,认证程序路径和密码文件路径。
第二行:认证程序的进程数
第三行:认证有效时间
第四行:认证领域内容,上面定义的web浏览需要输入用户密码
第五,六行:设置允许认证的用户访问,指明接收所有合法用户的访问
第七行:指定是否区分用户名大小写,on为区分,off为不区分。
#user acl
auth_param basic program /usr/lib64/squid/ncsa_auth /usr/lib64/squid/passwd
auth_param basic children 5
auth_param basic credentialsttl 2 hours
auth_param basic realm My Proxy Caching Domain
acl auth_user proxy_auth REQUIRED
http_access allow auth_user
接着生成密码文件:
htpasswd -c /usr/lib64/squid/passwd user1
接下来输入二次密码password1,确认。
为user1 这个用户添加密码进行验证访问的过程就结束了。
如果还要添加其它用户,则不用加参数-c了
htpasswd /usr/etc/passwd xingxing
重新启动Squid,密码认证生效
重启squid服务:
/etc/init.d/squid restart
刷新
/usr/sbin/squid -s
一切配置以后:
squid –z 初始化缓存
squid –k parse 检查语法
service squid start 启动squid
chkconfig squid on 加入开机启动
netstat –nltp 查看3128端口是否打开
客服端的配置:
ip : 192.168.1.12 gw:192.168.1.1
然后打开浏览器-工具-选项-连接-局域网设置-代理服务器
地址:192.168.1.1 端口:3128
一切搞定之后在浏览器输入www.baidu.com即可访问!