windows 2003 上配置 vpn + nat共享上网

用VPN+NAT再结合路由可以实现很方便的代理功能,适用于有一台能方便连接Internet的电脑,其他不在同一子网内的电脑能够连接到这台机器但不能完全访问Internet。比如好些学校的校园网,访问国外资源需要付流量费,此时可以找一台能够“出国”的服务器并采用此方案。

Windows 2003作为代理服务器时的配置方法如下:
1.关闭防火墙,用“管理工具”中的“服务”将“Windows Firewall/Internet Connection Sharing (ICS)”设置为“禁止”状态,否则没法启用路由和远程访问。
2.打开“管理工具”中的“路由和远程访问”配置界面,选中“路由和远程访问”节点下的“XX(本地)”(如果没有,则需要用“添加服务器”创建一个),用“操作”菜单下的“配置并启动路由和远程访问”,打开安装向导。
通常情况下只有一块网卡(否则就不需要VPN了),选择“自定义配置”并继续,选中“VPN访问”和”NAT和基本防火墙”并继续,完成安装向导。
3.会弹出对话框说已经完成安装,询问是否启动服务,选择“是”。
4.可选步骤:选中“XX(本地)”,点右键打开“属性”对话框,在“IP”标签下的“IP地址指派”中选中“静态地址池”,并添加用于VPN连接的私有地址范围,比如10.1.0.1-32。
5.打开“管理工具”中的“计算机管理”,选中“系统工具”->“本地用户和”->“用户”,双击允许进行VPN连接的用户,在用户属性的对话框中选择“拨入”标签,选中“远程访问权限(拨入或 VPN)”下的允许访问。
6.此时VPN功能已经配置好了,后面将讲述如何建立VPN连接。
选中“XX(本地)”->“IP路由选择”->“NAT/基本防火墙”,点击右键并“新增接口”,选择用来连接外部网络的接口,通常是“本地连接”,在弹出的对话框中选择“公共接口连接到Internet”,并选上“在此接口上启用NAT”,确定。(千万不要把本地再加上接口,否则上不了,原理我不太清楚,达人指教!)
此时已经完成了NAT的配置。

客户端的配置,以Windows XP为例:

1.创建VPN连接:在“网上邻居”的“属性”界面,打开“新建连接向导”,选择“连接到我的工作场所的网络”,再选择“虚拟专用网络连接”(既VPN),随便输入一个名字作为公司名(比如VPN,它是作为VPN连接的名字),如果之前有其它的拨号连接根据情况选择是否自动拨入,输入上面配置了VPN服务的服务器地址,完成向导。
2.双击刚创建的VPN连接,在连接对话框中输入刚才配置的有拨入权限的用户名和密码,并连接。可能某些协议在VPN上不支持,会弹出警告对话框,“接受”即可。
到此为止,已经可以用Windows 2003作为代理来上网了,赶紧打开浏览器畅游Internet吧:-)

[总结]Squid服务在实际工作的应用、优化和流量监控

一、squid的推荐学习及基础配置
1.Squid学习指南(彭勇华)
http://blog.s135.com/book/squid/
二,Squid2.6基础配置重要语法详解(抚琴煮酒)
http://hi.baidu.com/yuhongchun02 … 523c1c8618bf2e.html
3.squid3.0做反向代理服务器(冷锋)
http://hi.baidu.com/billdkj/blog … f379d1f2d38599.html
4.squid3.0与squid.26的区别(NetSeeK,推荐)
http://bbs.linuxtone.org/thread-2746-1-1.html
5.squid2.6做反向代理模型(王斌斌 抚琴煮酒)
http://hi.baidu.com/yuhongchun02 … 826da4cd1166ac.html
6.squid+iptables透明代理+防火墙终极配置(赵兵)
http://hi.baidu.com/yuhongchun02 … 419b21ab184cf9.html
7.squid(2.6)如何使用用户身份认证(抚琴煮酒)
http://hi.baidu.com/yuhongchun02 … 9c7127730eec71.html
8.squid3.0与squid2.7的区别(NetSeek)
http://bbs.linuxtone.org/thread-2746-1-1.html
9.squid安装调试中的几个常用命令(抚琴煮酒)
http://hi.baidu.com/yuhongchun02 … 235b554fc22605.html
10.在squid中refresh_pattern的一些理解和建议(linuxtone)
http://bbs.linuxtone.org/viewthread.php?tid=138
11.squid3.0反向代理基础语法(抚琴煮酒)
http://hi.baidu.com/yuhongchun02 … cd63026f068c73.html

二、Squid优化相关
1.隐藏Squid版本(NetSeek)
http://bbs.linuxtone.org/viewthread.php?tid=131
2. squid优化建议(听松一隅)
http://bbs.linuxtone.org/viewthread.php?tid=36
3. 学习CDN不得不读之-Squid优化补遗(ZT)
http://bbs.linuxtone.org/viewthread.php?tid=395
4.squid反向代理基本概述及性能事项(NetSeek)
http://bbs.linuxtone.org/thread-1667-1-1.html
5.header中的Cache-control参数说明 [php编码] (NetSeek)
http://bbs.linuxtone.org/viewthread.php?tid=2382
6.减少linux下squid time_wait(张宴)
http://hi.baidu.com/yuhongchun02 … e4b9e7ce1b3e0f.html
7.squid日志TCP命中率字段祥解(NetSeek)
http://bbs.linuxtone.org/viewthread.php?tid=1932
8.关于maximum_object_size优化(NetSeek)
http://bbs.linuxtone.org/viewthread.php?tid=1124
9.squid动态URL日志记录不完整(ready)
http://bbs.linuxtone.org/viewthread.php?tid=1045
10.squid TCP_NEGATIVE_HIT 缓存错误页面时间 negative_ttl(NetSeek)
http://bbs.linuxtone.org/viewthread.php?tid=637
11.squid的优化(扶凯)
http://www.php-oa.com/2008/02/03/squidyouhua.html
12.Squid中有关多线程大文件断点续传和流媒体的处理方法(扶凯)
http://www.php-oa.com/2008/08/07/squidcdn.html
13.网页加速的十四条原则(扶凯)
http://www.php-oa.com/2008/07/27 … b3%95%e5%88%99.html

三,squid在CDN中的应用及负载均衡
1.深度剖析:CDN内容分发网络技术原理
http://bbs.linuxtone.org/viewthr … 26amp%3Btypeid%3D57(NetSeek)
2.CDN内容分发网络架构与四大关键技术
http://bbs.linuxtone.org/viewthr … 26amp%3Btypeid%3D57(NetSeek)
3.CDN应用常识介绍
http://hi.baidu.com/yuhongchun02 … 96aed2ad6e75ce.html(抚琴煮酒)
4.我谈对CDN的看法
http://bbs.linuxtone.org/thread-2689-1-2.html(晓辉)
5.CDN中squid节点的X-Cache和X-Cache-Lookup的意义(扶凯)
http://www.php-oa.com/2008/06/23 … lookupdeyiyi-2.html
6.网络多数据中心站点CDN网络构建实例精讲(田逸推荐!)
http://micangel.ys168.com
7.Squid3.0反向代理+DNS轮询实现负载均衡(抚琴煮酒)
http://hi.baidu.com/yuhongchun02 … 9d70a7cbefd0d0.html

四、Squid缓存删除的问题
squid缓存批量删除的工具(张宴)
http://blog.s135.com/post/308/
squid清除缓存的shell脚本,存在10%的误差(张宴)
http://hi.baidu.com/yuhongchun02 … 55c25a342acc79.html

五、Squid如何防盗链
1.Squid图片及mp3防盗链(NetSeek)
http://bbs.linuxtone.org/viewthread.php?tid=132
2.Squid防盗链终极解决方案(相濡以沫)
http://hi.baidu.com/yuhongchun02 … 327ac97dd92a52.html
3.squid-2.6之Web反向代理加速实做/防盗链/防盗用/防爬虫(HonestQiao )
http://bbs2.chinaunix.net/viewthread.php?tid=798564&extra=

六、squid服务的日志及服务器流量监控
之所以如此推荐mrtg,是因为本人公司的CDN用MRTG+shell监控流量及状态,效果不错)
1.Nagios监控相关资源汇总(NetSeek,推荐)
http://bbs.linuxtone.org/thread-1281-1-1.html
2.安装MRTG进行全面监控(haijd)
http://bbs.linuxtone.org/thread-971-1-1.html
3.MRTG监控squid流量(NetSeek)
http://bbs.linuxtone.org/thread-840-1-1.html
4.sarg对squid的日志流量分析报表(按小时,天,周生成)
http://www.php-oa.com/2008/03/20/sarg-squid-hour.html

APACHE负载过高自动重启的办法

抽时间找了一个centos/linux负载过高自动重启apache的脚本,保护你的vps不因超负荷被关闭。稍微改了点,适合所有可以通过service httpd start | stop 来重启apache的vps或服务器。最后别忘记在crontab设置每隔几分钟执行一次即可。

一行命令自动安装,安装成功后请看 crontab -l :

wget http://www.ctohome.com/linux-vps-pack/restart_apache_by_load.sh;sh restart_apache_by_load.sh;

TOP_SYS_LOAD_NUM表示到达这个负载的时候,就会停止apache。然后过段时间负载降下来后,再尝试启动apache

#!/bin/sh

# crontab usage: */3 * * * * /backup/www.ctohome.com/loadavg_restart_apache.sh >> /backup/www.ctohome.com/restart_apache.log

TOP_SYS_LOAD_NUM=5
SYS_LOAD_NUM=`uptime | awk ‘{print $(NF-2)}’ | sed ‘s/,//’`

echo $(date +”%y-%m-%d”) `uptime`
if [ `echo “$TOP_SYS_LOAD_NUM < $SYS_LOAD_NUM"|bc` -eq 1 ] then echo "#0#" $(date +"%y-%m-%d %H:%M:%S") "pkill httpd" `ps -ef | grep httpd | wc -l` /usr/sbin/apachectl stop sleep 8 pkill httpd sleep 8 for i in 1 2 3 do if [ `pgrep httpd | wc -l` -le 0 ] then /usr/sbin/apachectl start sleep 30 echo "#1#" $(date +"%y-%m-%d %H:%M:%S") "start httpd" `ps -ef | grep httpd | wc -l` fi done else if [ `pgrep httpd | wc -l` -le 0 ] then /usr/sbin/apachectl start sleep 30 echo "#2#" $(date +"%y-%m-%d %H:%M:%S") "start httpd" `ps -ef | grep httpd | wc -l` fi fi 没有什么坏处,至少还可以监控系统的历史负载。下面的是某个vps设置了最大负载3的重启apache情况,效果不错: tail -f restart_apache.log 10-07-17 13:57:01 up 14:53, 2 users, load average: 0.34, 1.09, 1.14 10-07-17 14:00:01 up 14:56, 2 users, load average: 0.97, 1.06, 1.11 10-07-17 14:03:01 up 14:59, 2 users, load average: 1.38, 1.26, 1.18 10-07-17 14:06:01 up 15:02, 2 users, load average: 0.63, 0.92, 1.06 10-07-17 14:09:01 up 15:05, 2 users, load average: 0.98, 0.81, 0.98 10-07-17 14:12:01 up 15:08, 2 users, load average: 0.55, 0.71, 0.90 10-07-17 14:15:01 up 15:11, 2 users, load average: 0.46, 0.59, 0.81 10-07-17 14:18:02 up 15:14, 2 users, load average: 3.06, 1.30, 1.01 #0# 10-07-17 14:18:02 pkill httpd 38 #1# 10-07-17 14:18:51 start httpd 34 10-07-17 14:21:01 up 15:17, 2 users, load average: 1.14, 1.59, 1.20 10-07-17 14:24:01 up 15:20, 2 users, load average: 1.19, 1.45, 1.21 10-07-17 14:27:01 up 15:23, 2 users, load average: 0.29, 0.95, 1.05 10-07-17 14:30:01 up 15:26, 2 users, load average: 0.99, 0.85, 0.98 10-07-17 14:33:01 up 15:29, 2 users, load average: 1.15, 1.22, 1.12 10-07-17 14:36:01 up 15:32, 2 users, load average: 4.58, 2.94, 1.78 #0# 10-07-17 14:36:01 pkill httpd 36 #1# 10-07-17 14:36:49 start httpd 27 10-07-17 14:39:01 up 15:35, 2 users, load average: 2.24, 2.49, 1.79 10-07-17 14:42:01 up 15:38, 2 users, load average: 1.37, 1.87, 1.66 10-07-17 14:45:01 up 15:41, 2 users, load average: 0.69, 1.44, 1.54 10-07-17 14:48:01 up 15:44, 2 users, load average: 1.73, 1.68, 1.62 10-07-17 14:51:01 up 15:47, 2 users, load average: 0.81, 1.34, 1.49 10-07-17 14:54:01 up 15:50, 2 users, load average: 1.71, 1.25, 1.41 10-07-17 14:57:01 up 15:53, 2 users, load average: 1.93, 1.52, 1.47 10-07-17 15:00:01 up 15:56, 2 users, load average: 1.29, 1.43, 1.44 10-07-17 15:03:01 up 15:59, 2 users, load average: 1.45, 1.42, 1.43 10-07-17 15:06:01 up 16:02, 2 users, load average: 0.73, 1.24, 1.36 10-07-17 15:09:01 up 16:05, 2 users, load average: 1.66, 1.55, 1.47 10-07-17 15:12:03 up 16:08, 2 users, load average: 3.59, 2.02, 1.63 #0# 10-07-17 15:12:07 pkill httpd 35 #1# 10-07-17 15:12:55 start httpd 28 10-07-17 15:15:01 up 16:11, 2 users, load average: 1.19, 1.78, 1.63 10-07-17 15:18:01 up 16:14, 2 users, load average: 1.38, 1.60, 1.58 10-07-17 15:21:01 up 16:17, 2 users, load average: 3.32, 2.20, 1.79 #0# 10-07-17 15:21:01 pkill httpd 33 #1# 10-07-17 15:21:50 start httpd 33 10-07-17 15:24:01 up 16:20, 2 users, load average: 1.18, 1.66, 1.64 10-07-17 15:27:01 up 16:23, 2 users, load average: 1.67, 1.73, 1.67 10-07-17 15:30:01 up 16:26, 2 users, load average: 1.15, 1.55, 1.60 10-07-17 15:33:01 up 16:29, 2 users, load average: 0.85, 1.30, 1.49 10-07-17 15:36:01 up 16:32, 2 users, load average: 0.30, 0.89, 1.30 10-07-17 15:39:01 up 16:35, 2 users, load average: 0.37, 0.90, 1.25 脚本执行如果报错 /backup/www.cthome.com/loadavg_restart_apache.sh: line 6: bc: command not found /backup/www.cthome.com/loadavg_restart_apache.sh: line 6: [: -eq: unary operator expected 表示没有bc命令,centos可以用 yum -y install bc 安装它

200 0 64 |200 0 0 |304 0 0| 404 0 0百度蜘蛛在日志中的返回代码

打开日志文件,如:
2010-02-09 00:52:03 W3SVC1 2**.**.1**.7* GET /***/index.html – 80 – 220.181.7.43 Baiduspider+(+baidu/search/spider.htm) 200 0 0

在这个访问记录里面,2**.**.1**.25* 为你服务器的IP地址,220.181.7.43是百度蜘蛛的IP,/***/index.html 为你蜘蛛访问你的页面 80是端口 GET是打开方式 W3SVC1是记录的文件夹,这里说明,百度蜘蛛已经访问了你的index.html这个页面,那么最重要的是最后面的这个参数200 0 0。
下面我给大家一一分析下。

1:200 0 0 200成功访问该页面,0代表抓取成功并带回数据库。这个时候你就放心了,这个页面已经被百度收录,但是还没有释放出来,在这个期间,百度会对这个页面进行一系列的计算,比如:词频、镜像、链接、等等,塞你的这个页面属于采集页面,那么你很难看到他释放你这个页面,通常是:直接删除不释放、或者释放后没有排名。

2:200 0 64这里大家又要奇怪了,出现了这个带64的返回码,其实也属于正常,但是这个64被人说的很神秘,由于很多网站在出现64的返回码后被K或者降权,所以,有人称之为百度K占的前兆,但是我并不这么认为,64的出现不代表百度要K你,但是64的大量出现确实会带来很大的问题,下面看看我的理解。网络上流传着这么几种解释第一:64为K站的前兆。第二64的出现只是64位操作系统。第三:网络不可达对于我来说比较认可第三种说法,网络不可达,由于某种原因无法完全打开页面,或者网络不稳定这些原因,导致蜘蛛无法带回页面或者说不抓取该页面,200 0 64的解释也应该为:访问了该页面,但并没有任何抓取也没有带回数据库。这种原因多为空间不稳定、服务器不稳定,或者服务器配置错误引起的,还有一点必须说明,在好的空间也会有64的返回码,所以这个不要担心,但是为什么又有人说,我的网站出现了很多64后又被K了或者降权了呢?其实很简单,塞你的日志中大量的出现了64,就说明某种原因导致蜘蛛一直无法抓取页面,这样,你检查下空间的稳定性和服务器的配置是否有问题,空间长期不稳定和配置出现问题在大多数情况下是会被降权的。这就是为什么第一种说法没有依据的地方,也是我不赞同的地方。那么第二种说法,64位操作系统。有人这么解释:sc-win32- status,在你日志的头部,有这么句话,说明是32位系统,如蜘蛛访问是使用64位系统则显示为:200 0 64,这个观点我不认可,我做过这样的一个测试,朋友的一个网站,首页打开总的很慢,一般十几秒才可以打开,在检测友情链接的时候经常是显示该网站无法打开,于是为了证实这个网络不可达的猜测,我问他要了两个月的日志进行分析,分析结果为:首页访问记录,在白天的时候返回码70%都为64,晚上的时候返回大部分都是200 0 0,而且蜘蛛的爬行时间也有了明显的改变,访问这个网站的时候,大多都是在晚上,白天的次数逐渐的减少。

3:304 0 0这个返回码代表蜘蛛访问的页面没有更新,和他之前来的时候是一样的,所以看到这个不要担心,蜘蛛来过,只不过你没有更新,所以他也不愿意带走这个页面。

4:404 0 0这个是代表404页面,但是有个很严重的问题,这个返回码告诉我们,蜘蛛来到了404页面并把他带走了,崩溃~~~~,如是这样的话基本上你要倒霉了,如你有太多的404,那么蜘蛛就会不断是抓取,不断的带走,这样会造成无数的重复页面,最终导致K站或者降权,正确的返回码是404 0 64 这就代表蜘蛛没有抓取你这个页面。

5:500错误500错误是服务器内部错误,是由程序的错误造成的,500错误是会给你减分的,这点基本的逻辑都可以想的到,如发现500错误,马上查看是哪个页面的,然后去修正以下错误吧!

6:302如在日志中发现302的返回码也是需要注意的,302为临时重定向,如你是长期的将这个页面重定向到另一个页面,麻烦你使用301永久重定向,如是302的话百度蜘蛛下次来还会访问这个页面,这样又会造成复制大量页面的问题,结果肯定是K,所以,抽空检查以下。