AutoOpenVPN

休假天,折腾天。 本来准备把路由器WRT610N刷上dd-wrt,然后安装autoddvpn。 动手之前在推上面自言自语了一会儿,结果两个推友说你刷Tomato吧。 于是回忆起dd-wrt曾经烧过我一台路由器,虽然是二手的。那就Tomato吧。 事实证明工作的时候不宜上推,我心想Tomato跟dd-wrt最终都是用的OpenVPN,应该差不多吧。 结果完全不一样。autoddvpn在Tomato上面根本就不能工作。 原本想把autoddvpn改改,应该就可以在Tomato上面使用了,结果越深入就越发现这两个系统差距太大,脚本的触发方式完全不同。 正要放弃时,我突然想到OpenVPN在2.1版以后引入了执行外部脚本的能力,以此为突破口,终于搞定了Tomato的OpenVPN。 如果你已经安装了最新的tomatousb并已经配置好了全局OpenVPN,那么只要下载vpnup.shroute.sh,放置到/jffs/openvpn/目录下,并赋以执行权限。然后在VPN Tunneling – Client – Advanced 页面的 Custom Configuration栏里填入

--script-security 3 system
--route-up "/jffs/openvpn/vpnup.sh"

这样基本就算完成了。 当然,你还可以设置一下dnsmasq,以防止DNS污染。甚至你也可以在/jffs/openvpn/目录新建vpnup_custom.sh文件加入自己的GFWlist。 如果有时间我会另外写一份详尽一些的教程吧。 今天就这样了,晚安。

A Bridge To Home Theater (1)

如果你有自己的家,客厅肯定要摆个大彩电,液晶或是等离子,全高清。
你很快发现数字电视不够精彩,在你的大电视上面满屏幕马赛克,惨不忍睹。
你想要得到彩电卖场演示碟那样的效果,你不够钱买蓝光播放器,你更不够钱买所有心仪的蓝光碟片。
你知道网上可以下载高清电影,但你不愿意把电脑开一整天去下一部电影,而且,你想要在客厅的大彩电上看,而不是电脑屏幕。
跟着我来打造你的家庭影院吧。
价格?当然不是不需要钱,但我们的钱要花的实在,你说是不是?

路由器

路由器是必须的,根据你家里基础建设和大小,你可以考虑无线路由器,毕竟这年头带wifi的手机越来越多,而且说不定你什么时候还会去买一个iPad呢。
考虑到传输高清视频的带宽需要,最好能买一个支持802.11n的路由器,若是当地wifi信号混杂,更可以考虑支持5Ghz的产品,当然价格也会贵一些。比如Linksys WRT610N。
选择路由器的时候可以稍微考虑一下“扩展性”。路由器的扩展性?比如它能不能安装dd-wrt的固件,以及支持如何。dd-wrt有一些相当棒的功能,比如它支持bittorrent下载。若是你囊中羞涩,那么用路由器外挂硬盘下载可以省下NAS盒子的钱。事实上我刚工作的时候就是这么干的。

tips:
  1. 802.11g的理论最大速率是54Megabit/s,不到7MByte/s,一般来说这个速率足够传输不那么变态的高清影片,但这个速率几乎不可能达到。事实上我用802.11n也才能到8MByte/s。无论多么好的无线网络总是比不上有线网络,100Mb的有线网通常能提供更好的速度。
  2. 笔记本的无线网卡如果支持802.11n的话,那么多半同时支持2.4Ghz和5Ghz两个频段,但手机则不同,比如最新的iPhone 4,只支持2.4Ghz频段。
  3. dd-wrt是GPL许可带来的一个产物,最初是根据Linksys的开源固件代码修改而成,所以它对Linksys的支持一直不错。它给$100以下的路由器加入很多高级功能,而这些功能原本你可能要在$1000的路由器上才可能见到。比如“XLink Kai游戏协议, 基于守护进程的服务, IPv6无线分布式系统(无线网桥和无线中继), RADIUS, 先进服务质量控制,无线输出功率控制, 超频能力”(来自维基百科)。

路由器是最简单的一个东西,下次谈谈NAS。

其实这篇文章最初的思路形成于2008年《DePCnization》,现在才算是完全的实现。钱是一个关键的瓶颈。
数码设备真不是烧钱的东西,房子才是。

联通计费错误

昨天晚上我查了一下本月手机的上网流量,吓我一跳,居然用了1G多。

photo

但是我明明记得五天前,联通的流量提醒发过来的只有500M左右。

photo

也就是说我在这五天中用掉了500M流量。
问题是我并没有怎么特别的用流量啊。
iPhone自身的统计也显示没有1G的流量。

photo

今早打电话给10010,客服说“我们的计费系统不可能错”,你要不对一下详单。
当时在公司没法上网,回家后一查清单,发现了有问题的地方。

清单显示我在2G网络的情况下每五分钟下载了10M内容,以联通的GPRS速度来说这几乎是不可能的,而且数据大小几乎都集中在10241K,非常诡异。
更为奇妙的是,在5月25日这天,从下午2点到5点,我的手机都是处于离线状态的,因为我上班的地方几乎没有信号(,并且我向联通反映过多次也没有得到解决)。

于是我再次拨通了联通的客服电话,对方的回答是“一切账单以最终出帐的为准”,也就是说我需要等到六月才能向他们反映这个问题。
那么早上你们说计费系统不可能出错是在放屁么?

我无法想明白的就是,如果我的手机因为这个错误的收费而停机,造成的损失又应该由谁来承担?
PS:联通有计费错误双倍返还的承诺吗?

OpenVPN的自动启动和智能路由

以下将以Witopia的OpenVPN和Win7为例,介绍一下如何设置OpenVPN的自动启动和智能路由。
Mac和Linux用户也可以在所引用的页面找到相关的资料,熟悉*nix系统的人应该不难举一反三。
这个方法理论上可以适用于任何使用OpenVPN的代理提供商。

1、升级到新版OpenVPN
1.1、安装Witopia,到安装目录中找到config文件夹,备份其中的文件。
1.2、卸载Witopia。
1.3、安装OpenVPN,将第1.1步中备份的文件还原到OpenVPN的config文件夹中。确保该目录中只剩一个opvn文件。 /若丢失了opvn文件也可以重做一个,注意要把地址解析为IP。

2、设置智能路由
2.1、下载最新的路由表。 /若有python环境也可以自己生成routes.txt
2.2、在1.3步opvn文件的最后,添加第1步的路由表。 /将所有文本复制在其结尾
2.3、在1.3步opvn文件的最前,添加”max-routes 1200”。 /1200是建议值,必须大于2.1的路由表行数。
2.4、(可选)在1.3步opvn文件最前,添加”management localhost 7505”。 /以后可以通过telnet连接localhost:7505查看状态和操作。

3、设置自动启动
3.1、在管理–服务中找到OpenVPN一项,属性中设为”自动(延迟启动)”。 /选“延迟启动”可以保证服务在Windows完全载入完成后才开始连VPN,否则可能因为DHCP未启动等原因连接失败。该选项从Vista开始支持。

4、开始享受无墙的网络吧!
国外连接走VPN,国内直连。

参考网站:
1、Witopia
2、chnroutes
3、OpenVPN

Ambition of Google Building Maker

Google 在今天发布Google Building Maker,一个基于网页的简单工具,让你从不同的照片中定位同一个建筑的三维造型,构建一个简单的建筑模型。
构建3D模型的技术显然是继承了Sketchup,但是是否就能够简单说Google Building Maker就是一个Sketchup的简化版呢?我认为并不是那么简单。

我试用了一下Google Building Maker,发现Google会提供同一个建筑不同角度的5张甚至更多张卫星图,而指示建筑的气球形标记,在不同的卫星图上有可能差得很远:在1号图上指示的是这个建筑,2号图有可能就指到建筑旁边的空地上面了。

众所周知,Google并不仅仅向一家公司买过卫星图,每家公司也会定期更新自己的卫星图。由于卫星轨道的变化,所有这些卫星图,即使是针对同一个地区的,也是不同的高度和角度的照片。而且,由于定位误差所造成的漂移,有可能导致不同照片的坐标并不一致。

于是Google就想出了这么一个主意,以娱乐的方式让人们公开的矫正和对齐这些图片,在收集到足够的数据之后,也可以用算法对齐余下的图片。
Google并不是第一次有利用人肉的计划,Google Image Labeler 显然是一个最佳的前例。

在对齐了不同角度的卫星图片之后,创造出粗糙的3D模型就已经是现有的程序可以完成的工作了。
Google并不去要人肉去构建每一个建筑的模型来获得一个3D地球。

Google想建一个Matrix吗?

从Nokia到iPhone

曾经有句话说:symbian基本上是手机,windows mobile基本上是pda,iPhone基本上是ipod。
这话很有道理。
iPhone和N95最大的区别就是,它基本上是个网络终端。实际上,如果你正常使用的话,它一直都是在线的,有一个独立的IP。不会像95一样,开个程序就要问你接入点。这种设计思路的根本差异是其他差异的源头。
因此,3G对于iPhone来说是必不可少的。虽然3G连接同等时间下比2G耗电,但是换成同等数据量来比较,结果可能完全相反。
iPhone没有实体键盘,也不存在用合法途径安装其他输入法的途径,要命的是,这个原装输入法的词库还诡异到要命!你知道"yitian"的首选词是什么吗?
但是,除开这些问题,iPhone还是一个不错的手机,虽然一天一充的耗电量让它某些方面可以与笔记本相比较。
其实,这篇文章,就是在iPhone上面写的。

Google被封的事实与猜测

2009年6月24日夜晚,从Twitter上传来Google被封的消息,当时我还在地铁上,只能用手机确认,cmwap连接下,www.google.com (以下简称google)无法访问。

回到家后立刻进行了测试,结果如下:

  1. google无法访问
  2. 本地(广州电信)DNS无法解析google域名,返回null
  3. 经过GFW,从国外一DNS也无法得到google的IP,返回也是null
  4. 使用已知的Google IP (74.125.127.160) 直接访问正常
  5. 使用已知的IP修改Hosts文件,google无法访问
  6. 同时,mail.google.com 在ssl连接下访问正常,域名解析正常
  7. 打开VPN后,除了2,其他的都回归正常。并且在百度搜索 www.google.com 被重置连接。

由以上事实可以推断:此次对Google的屏蔽是URL黑名单和DNS投毒并举。

=========== 猜测从这里开始 ===========

此次对Google的封锁是GFW自主学习的结果。
关于GFW的自主学习坊间早有传言,证据之一是经常有流量突增的国外站点被屏蔽掉。
Google原本享受的屏蔽就比较高级,撞墙以后要5分钟才会恢复。此次误封(存疑),一方面是因为六四刚过,GFW的警戒等级尚未调低,另一方面因为CCTV曝光谷歌事件导致原来一部分谷歌的流量转向了Google,加之上Google搜索敏感词的人比率不低,所以Google被GFW自动屏蔽了。
至于说误封,因为在一个小时之内,我从广州电信又能解析到Google的域名,而且可以正常访问。但也不能排除是GFW工作人员手欠或是试探民意。

=========== 猜测到这里结束 ===========

DNS投毒?
DNS投毒和URL或IP黑名单比起来,算是比较新的封锁技术。
通过返回一个TTL长达一天的假IP,该技术可以保证即使在开了代理的情况下,用户仍然无法访问到正确的网站。即便使用openDNS,GFW仍可能伪造解析结果,并且它甚至不需要保证100%成功。因为一般正常的TTL不会太久,Twitter的TTL就只有30秒(可能是平衡负载的需要)。因此,即使你这30秒能访问twitter,也许下次就会收到一个TTL长达一天的假IP。然后你的电脑缓存此结果,正巧,Windows的默认设置最长的TTL也是一天。如果你什么都不做,那么一天以内你就别想登录twitter了。

DNS缓存?
DNS缓存有很多层级的。仅从本机来看,都不是一层那么简单。
Hosts文件可以看成最基础的DNS缓存,只要是在这个文件中记录的域名,系统就不会向网络上的DNS请求解析,因此在这里设置正确的域名解析结果是万无一失的办法,只是十分麻烦。
往上一层是DNS Cache,Vista下可以看到这个服务。重启该服务可以清空DNS缓存,在命令行下进行ipconfig /flushdns 也是一样的效果。
有的应用程序会有自己的DNS缓存,如Firefox的about:config有一项为network.dnsCacheEntries,这个控制缓存的数量,设为零后会清空。(有人反映没有这一项,可以自己新建一个试试。)

3G鼎立

随着联通在多个省市放出186的号段,移动、电信、联通,三大无线运营商都开始了3G网络的运营。
虽然这个局面早在1月就可以窥见端倪,但是到现在我才敢评说三大运营商。
水真的太深了。我不敢说我就弄懂了这其中的门道,仅做抛砖引玉之用。

移动 – TD-SCDMA

虽然都带着一个CDMA,但是三个网络互不兼容。TD一般被说成是中国制定的3G标准,这话大有文章。确实,TD是中国原邮电部电信科学技术研究院(现大唐电信科技股份有限公司)向国际电信联盟提出的3G标准。但是,TD最初却是由西门子开发,被西门子卖给了大唐电信。基于以上两个事实,可以得出几点结论。

  1. TD的专利目前属于中国。
  2. TD的核心技术不是由中国研发的。
  3. 西门子选择了开发WCDMA而不是TD-SCDMA。

大唐电信买到TD的技术后,利用自身的政府背景,在工信部向移动施压,强安给移动一个TD牌照。
移动愿不愿意要TD?愿意才怪!移动早就秘密部署过技术上更为成熟的WCDMA,意图在3G中抢得先机。
这个故事简化之后,简直成了中国技术界的一种范本:一个国产或是伪国产的技术,通过挟持政府,排挤国际成熟技术,取得市场份额,进而获取暴利。
大唐电信在数钱的时候才不会想到什么“中国人自己的3G标准”这种废话呢。我甚至可以凭着直觉说,大唐电信和工信部在此过程中肯定牵扯到上亿的腐败。
所以说人怕出名猪怕壮,不是移动,又有哪个够那些利益集团吸血的呢?

联通 – WCDMA

联通虽然将自己辛辛苦苦建设了几年的CDMA2000拱手送给了电信(其实电信有付钱),但是收下了两大固网之一的网通,从此不必担心带宽和网间结算费用,又拿到了在全世界布网最多的WCDMA,和移动那个冤大头比起来,真的不算亏。
联通主要的问题在自身,人人都说联通是扶不起的阿斗,这话一点都没错。
在2G时代,联通一直是移动的小弟。网络建设比不过移动,服务质量比不过移动,客户资源比不过移动……说起联通来,人们只觉得网络差,客服差,除了资费便宜一点,没别的优势。因此,联通的客户,除了少量集团客户外,大部分都是低端客户。就连员工,可以跳槽到移动也绝不会留在联通,使得联通非常缺乏优秀的员工。
这次5·17电信日,联通的不足完全的暴露了出来。全国各地政策不一,有的可以直接放号,有的要等抽签,深圳一个联通的营业厅甚至就没有装修好。打客服也能得出不同的答案,有的员工甚至都不知道186是联通的3G号段。
二流网络,二流服务,给人这种印象的联通,非要反差似的提出最高的资费标准。吸引高端客户?对不起,高端客户一听到要抽签,转头就走。

电信 – CDMA 2000

电信是重组中最幸运的一个:没什么代价的白白抱了一个移动网络回家,而且升级到3G还基本上不需要什么成本。技术上足够成熟,手机终端也不可谓不丰富。
但是电信没有任何移动运营经验(小灵通基本上是按照固话经营的)。三大运营商,只有电信提出了按时长计费的上网方案从一个侧面印证了这点。

总结

3G鼎立,决胜的是时间。
如果移动有充足的时间让TD技术成熟…
如果联通有充足的时间建设网络,培养员工和市场…
如果电信有充足的时间弄懂移动网络的游戏规则,或是干脆去挖高级人才…
就看谁跑得快了。