软件 CentOS5/Squid2.6
时间 2008.8.29
Step 1 超级简单的安装过程
yum install squid # 够简单吧
Step 2 修改配置文件
# 默认的配置文件是 /etc/squid/squid.conf,为了让它能用,一般至少修改两个地方 # 首先,明确写出 visible_hostname,否则启动时候会报错如下: #Squid Cache (Version 2.6.STABLE6): Terminated abnormally. #CPU Usage: 0.005 seconds = 0.002 user + 0.003 sys #Maximum Resident Size: 0 KB #Page faults with physical i/o: 0 #FATAL: Could not determine fully qualified hostname. Please set 'visible_hostname' visible_hostname Ysquid # 然后就是设定允许远程客户端的ip,这个你可以在配置文件中搜索 our_networks ,然后设定它,比如 acl our_networks src 11.12.13.14/32 22.33.44.55/32 http_access allow our_networks
Step 3 启动服务
/etc/init.d/squid start # 按理说,修改完上面两个参数,我就应该可以用代理了,虽然这时的配置还没有隐藏客户信息的要求,我只是想试试看能不能用先。
Step 4 测试在11.12.13.14这台机器上设定代理,打开网页,然后浏览器毫不留情的失败了,郁闷!接下来花了将近1个小时确认错误。
Step 5 花了很多时间研究配置文件,终于实在看不出来问题,放弃了,下面是我详细的debug过程。 Step 6 其实后面就很顺利了,修改端口到8080
Step 7 然后是隐藏客户信息的相关设置
# 默认设置时,会出现下面两个讨厌的http参数,一看就知道用代理了 HTTP_X_FORWARDED_FOR 11.12.13.14 HTTP_VIA 1.1 Ysquid:8080 (squid/2.6.STABLE6) # 修改squid配置文件,添加 forwarded_for off HTTP_X_FORWARDED_FOR 11.12.13.14 # 这句就消失了 HTTP_VIA 1.1 Ysquid:8080 (squid/2.6.STABLE6) # 这句还在 # 继续修改squid配置文件,再添加 header_access Via deny all 和 header_access X-Forwarded-For deny all HTTP_X_FORWARDED_FOR 11.12.13.14 # 这句就消失了 HTTP_VIA 1.1 Ysquid:8080 (squid/2.6.STABLE6) # 这句也消失了,一切都好了
Step 8 不要忘了重新启动服务
/etc/init.d/squid restart
73,77c73 < < # yfang 2008.8.29 the IDC has ban the des port 3128 < # http_port 3128 < http_port 8080 < --- > http_port 3128 998d993 < cache_dir ufs /var/spool/squid 300 16 256 2529,2532d2523 < # yfang 2008.8.29 < acl our_networks src 11.12.13.14/32 22.33.44.55/32 < http_access allow our_networks < 2849d2839 < visible_hostname Ysquid 3127,3129d3116 < # 2008.9.1 yang.fang < forwarded_for off < 3450,3454d3436 < # 2008.8.29 yang.fang < header_access Via deny all < header_access X-Forwarded-For deny all <
# 下面说明一下两种版本nc完成同样的监听本地端口的最简单的这个功能的不同写法 # nc-1.84-10.rc6 (on CentOS5) nc -l 1234 # nc-1.10-22 (on CentOS4) nc -l -p 1234 # 以上两种写法不能混用,效果检查可以通过另外一台机器telnet xxx.xxx.xxx.xxx 1234做到