- 论坛徽章:
- 1
|
本人是第一次配置squid,写个配置过程以备以后查询,相信肯定有很多的问题存在,希望各位高手及时指出,以便于改正!另外个人感觉配置的功能还是非常单一,只是简单的访问网站而已。新手可以参考一下,高手就免了 
同时也希望大家多多交流,希望能够从大家身上学习到更多知识,谢谢!
特别推荐以下地址,有问题的时候可以去看看,虽然是英文的,但个人感觉内容很丰富,也很详细。
http://www.visolve.com/squid/squid24s1/contents.htm
目的:配置简单的proxy server,实现从client能够通过proxy server访问网页即可
环境:本次安装测试环境都在虚拟机下实现
Proxy Server: Redflag Server 4.1 eth0(可上internet):172.17.196.10,eth1:192.168.0.1(连接client)
Client : Redhat 9.0 eth0:192.168.0.2
配置参考:http://squid.visolve.com/squid/sqguide.htm
一、Proxy Server/Client 配置
1、默认只安装了一块网卡eth0,可以上internet,为实验需要另外增加网卡eth1
#cd /etc/sysconfig/network-scripts
#cp ifcfg-eth0 ifcfg-eth1 (配置连接client的IP,并更改相关的设备名和配置)
(由于使用系统默认的安装后配置出现问题,察看n多资料也搞不定,无奈后来采用手动安装)
2、下载squid 2.5并编译
访问 http://www.squid-cache.org/ 下载 squid2.5,文件名:squid-2.5.STABLE13.tar
tar -xvf squid*
cd squid*
./configure
make
make install
(默认安装在/usr/local/squid)
3、基本配置
#vi /usr/local/squid/etc/squid.conf
找到 cache_dir,http_port,http_access,cache_effective_user & cache_effective_ group
去掉cache_dir,http_port,http_reply_access allow all前面的#号
把#cache_effective_user nobody改成cache_effective_user squid
#cd /usr/local/squid/var
#mkdir cache
#chown squid:squid cache (默认所有者和组是root,不改在后面的配置过程中将出现错误,下同)
#chown squid:squid logs (同上)
4、启动squid (下面过程配置的时候问题最多 )
#/usr/local/squid/sbin/squid -z
#/usr/local/squid/sbin/squid -NCd1 (后面是数字1哦!)
如果没问题的话将显示:"Ready to serve requests".
#/usr/local/squid/sbin/squid
5、配置Client端
#vi /etc/resolve.conf 加入ISP的DNS地址
nameserver 202.101.172.35
#vi /etc/sysconfig/network
GATEWAY=172.17.196.254 配置网关
OK,到现在为止如果没有错误的话就基本上已经配置完成了!下面可以测试了!
1、在client机器上打开Mozilla Firefox,将代理服务器地址(192.168.0.1)和端口(312 填写后输入网址测试,如果能正常打开网页就已经OK了!
2、在Proxy Server 察看日志是否有纪录:
#more /usr/local/squid/var/logs/access.log
1142505973.961 6305 192.168.0.2 TCP_MISS/302 647 GET http://www.google.com/ -
DIRECT/64.233.189.104 text/html
1142505974.317 344 192.168.0.2 TCP_MISS/200 1829 GET http://www.google.com/in
tl/zh-CN/ - DIRECT/64.233.189.104 text/html
1142505974.517 100 192.168.0.2 TCP_MISS/200 4550 GET http://www.google.com/in
tl/zh-CN/images/hp0.gif - DIRECT/64.233.189.104 image/gif
1142505974.577 159 192.168.0.2 TCP_MISS/200 2975 GET http://www.google.com/in
tl/zh-CN/images/hp2.gif - DIRECT/64.233.189.104 image/gif
1142505974.707 289 192.168.0.2 TCP_MISS/200 1683 GET http://www.google.com/in
tl/zh-CN/images/hp3.gif - DIRECT/64.233.189.104 image/gif
1142505974.793 374 192.168.0.2 TCP_MISS/200 3226 GET http://www.google.com/in
tl/zh-CN/images/hp1.gif - DIRECT/64.233.189.104 image/gif
1142506523.020 8204 192.168.0.2 TCP_MISS/200 16931 GET http://www.linux.org/
二、配置过程中碰到的问题:
1.FATAL: Could not determine fully qualified hostname. Please set 'visible_hostname'
运行#/usr/local/squid/sbin/squid -z的时候提示下列错误:
FATAL: Could not determine fully qualified hostname. Please set 'visible_hostname'
Squid Cache (Version 2.5.STABLE13): Terminated abnormally.
CPU Usage: 0.040 seconds = 0.000 user + 0.040 sys
Maximum Resident Size: 0 KB
Page faults with physical i/o: 279
已放弃
解决:增加fully qualified hostname,有好多种办法,我的是vi /etc/hosts, 增加192.168.0.1 test.redflag.com,也可以运行
'visible_hostname' 定义一个hostname,或者直接编辑squid.conf增加visible_hostname。
2.FATAL: Failed to make swap directory /usr/local/squid/var/cache: (13) Permission denied
运行:# /usr/local/squid/sbin/squid -z后提示:
2006/03/16 17:28:48| Creating Swap Directories
FATAL: Failed to make swap directory /usr/local/squid/var/cache: (13) Permission denied
Squid Cache (Version 2.5.STABLE13): Terminated abnormally.
CPU Usage: 0.010 seconds = 0.000 user + 0.010 sys
Maximum Resident Size: 0 KB
Page faults with physical i/o: 9
解决:是由于没有创建cache目录的原因。
#mkdir /usr/local/squid/var/cache
3.WARNING: Cannot write log file: /usr/local/squid/var/logs/cache.log
/usr/local/squid/var/logs/cache.log: Permission denied
运行:# /usr/local/squid/sbin/squid -NCd1 后提示:
WARNING: Cannot write log file: /usr/local/squid/var/logs/cache.log
/usr/local/squid/var/logs/cache.log: Permission denied
messages will be sent to 'stderr'.
解决:更改logs目录权限,设置成和cache一样,所有者和组都为squid
4.察看日志(1142505973.961 6305 192.168.0.2 TCP_MISS/302 647 GET http://www.google.com/ - DIRECT/64.233.189.104 text/html)的时候发现最前面一段"1142505973.961"不知道是什么意思?不知道能否改成具体的时间?这样就可以知道具体访问日期了!
3.怎样把squid 加到服务里,可以让它自动启动?现在运行service squid start不行,只能运行/usr/local/squid/sbin/suid
[ 本帖最后由 smallfish 于 2006-3-17 11:37 编辑 ] |
|