2010年8月17日星期二

撞墙

以前好好设置的OpenVPN,能建立VPN,但是死活无法转发包,最近不知怎么却可以了。我开始试用全局VPN下的翻墙。照旧用常见的墙外网站测试,发现三个最知名的网站:twitter.comfacebook.comyoutube.com用OpenVPN竟然翻不过去,连接很长一段时间之后显示连接超时。其它测试过的有blogger.comblogspot.combbc.co.uk/chinesefoursquare.com等,都可以成功翻越。但是,如果用更加简单的SSH Tunnel代理方式翻墙,那么上面所述的所有网站都可以翻越。

后来发现在本地进行DNS查询,twitter, facebook和youtube的IP地址每次都是不一样的,系统返回一个随机的值。但是用可信的DNS服务器,或者直接从国外的VPS上查询,才会返回正确的值。

我的ISP是北京联通的小区宽带。用系统分配的DNS服务器查询结果:
tux@Neverland:~/Desktop$ dig +nocmd +nocomments twitter.com
;twitter.com.            IN    A
twitter.com.        35888    IN    A    93.46.8.89
;; Query time: 493 msec
;; SERVER: 202.106.46.151#53(202.106.46.151)
;; WHEN: Tue Aug 17 23:22:53 2010
;; MSG SIZE  rcvd: 45

tux@Neverland:~/Desktop$ dig +nocmd +nocomments facebook.com
;facebook.com.            IN    A
facebook.com.        300    IN    A    59.24.3.173
;; Query time: 496 msec
;; SERVER: 202.106.46.151#53(202.106.46.151)
;; WHEN: Tue Aug 17 23:22:54 2010
;; MSG SIZE  rcvd: 46

tux@Neverland:~/Desktop$ dig +nocmd +nocomments youtube.com
;youtube.com.            IN    A
youtube.com.        180    IN    A    37.61.54.158
;; Query time: 503 msec
;; SERVER: 202.106.46.151#53(202.106.46.151)
;; WHEN: Tue Aug 17 23:23:51 2010
;; MSG SIZE  rcvd: 45
上面的结果,重复查询每次都不一样, 而且有的IP会在不同的网址查询结果中出现,facebook.com和youtube.com就出现过同一个结果37.61.54.158。但有时候又会返回正确的IP,这大概是GFW的策略,随机出现随机的错误IP。很明显这些域名遭遇了所谓的DNS污染。如果我们用可信的DNS服务器8.8.8.8来查询,得到正确的结果,就可以更加确凿无疑地证明受到了DNS污染。
tux@Neverland:~/Desktop$ dig @8.8.8.8 +nocmd +nocomments twitter.com
;twitter.com.            IN    A
twitter.com.        8    IN    A    128.242.240.52
twitter.com.        8    IN    A    168.143.162.100
twitter.com.        8    IN    A    128.242.240.116
;; Query time: 277 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Tue Aug 17 23:28:49 2010
;; MSG SIZE  rcvd: 77


tux@Neverland:~/Desktop$ dig @8.8.8.8 +nocmd +nocomments facebook.com
;facebook.com.            IN    A
facebook.com.        441    IN    A    69.63.189.11
facebook.com.        441    IN    A    69.63.181.12
facebook.com.        441    IN    A    69.63.181.11
facebook.com.        441    IN    A    69.63.189.16
;; Query time: 271 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Tue Aug 17 23:31:21 2010
;; MSG SIZE  rcvd: 94


tux@Neverland:~/Desktop$ dig @8.8.8.8 +nocmd +nocomments youtube.com
;youtube.com.            IN    A
youtube.com.        140    IN    A    74.125.127.93
youtube.com.        140    IN    A    74.125.95.93
;; Query time: 300 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Tue Aug 17 23:31:25 2010
;; MSG SIZE  rcvd: 61

如果没有受到DNS污染,那么即使是被GFW盾的网站,国内外的解析结果也没有什么不同。
tux@Neverland:~/Desktop$ dig +nocmd +nocomments foursquare.com
;foursquare.com.            IN    A
foursquare.com.        3014    IN    A    184.73.159.65
;; Query time: 521 msec
;; SERVER: 202.106.46.151#53(202.106.46.151)
;; WHEN: Tue Aug 17 23:33:38 2010
;; MSG SIZE  rcvd: 48


tux@Neverland:~/Desktop$ dig @8.8.8.8 +nocmd +nocomments foursquare.com
;foursquare.com.            IN    A
foursquare.com.        1409    IN    A    184.73.159.65
;; Query time: 277 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Tue Aug 17 23:33:43 2010
;; MSG SIZE  rcvd: 48
问题的解决也简单,就是把/etc/resolv.conf里面的DNS换成可信的。OpenVPN应该支持DNS推送的功能,这样就可以自动解决这个问题,待我后续再研究。另外,用SSH Tunnel代理翻墙就不会出现上述的问题,这至少证明了比起用OpenVPN,用SSH Tunnel代理翻墙并不是那么弱。

2010年8月12日星期四

手机数据转移

任务:把N97 mini上的800多个通讯录,转移到iPhone 3GS上。

这是帮别人干的。我既没有用过诺基亚的Symbian手机,也没有用过苹果的手机。我一开始就认识到这将是一个折腾的活,所以首先用Xmind画了一张思维图(加图)来指导我。

在研究这两个手机之前,我觉得可行的方法基本有两种:一种是把N97的通讯录导到Outlook里面,再从Outlook把通讯录导入到iPhone;另一种是把N97的通讯录通讯录同步到Gmail,再让iPhone和Gmail进行同步。我觉得让两个手机上网来同步可能比较麻烦,所以就选择通过电脑来中转的第一种方法。

我在N97里面,把通讯录全部复制到内置存储卡上,是836个vCard文件。Windows XP自带的通讯录,无法批量导入vCard文件,一个一个导入既不现实,也不是我想要的方法。我宁可花更多的时间来自动化完成,也不想一个一个导入。安装了我自己的Windows Mobile手机附带的Outlook 2007试用版,无奈也不能批量导入vCard文件。这时候多么希望有一个Linux命令能一下完成这个任务。我试着把这些vCard一个一个导入Outlook,发现进去后很多名片只有名字没有电话号码!

我安装了Nokia的PC套件,可以把通讯录导出,但是只能导出为CSV。而不管是XP的通讯录,还是Outlook,导入这个CSV都出错。无奈用Google导入这个CSV,没有任何问题,还把重复的几个名片合并了。但是这样用iTunes导入iPhone,把我Gmail里面自己的通讯录和N97上的混在一起导入到iPhone里面了。于是我试试雅虎,雅虎可以导入Gmail的通讯录,但是莫名其妙地只导入了一部分。最后换了一个Gmail账户,才搞定。

没想到,把手机给人后,他发现不能从iPhone的通讯录里面拨电话。研究了一下发现,所有名片的电话号码都导入到备注字段了,难怪不能拨电话呢。

于是重新开始。发现Nokia的PC套件导出的CSV文件有问题,Outlook和雅虎邮箱都不能识别这个CSV。Gmail虽然导入了,但是识别有问题,号码都当成备注了。最后放弃了思维图中的第一种方法,决定用第二种方法,相信这个方法不会存在这种问题。

注册了Nokia的Ovi商店,安装了Mail for Exchange,直接从N97 mini把通讯录同步到Gmail。然后在iPhone里面设置Exchange Mail,再和Gmail同步,就完全搞定了。

看似简单的任务,在我折腾两番后才完成。其实我一开始就应该用网络同步的方法,这样就省去了那些格式不兼容带来的烦恼。虽然一开始借助Outlook失败,但最后还是借助微软的Exchange服务完成了。

2010年8月1日星期日

出差崩溃记

我们的工作用笔记本电脑几乎是个废品:不能上网,只能用特殊处理的工作用优盘,不能刻录光盘(如果要用,要申请开放此功能)。工作笔记本电脑从2009年10月起全部收起来,不能私自保管,需要的时候打申请借用。这非常麻烦,在会议室讨论、出差都要填单子申请借电脑,签好几个字才行。要领导不在,那就得等。而且由于电脑成了公用的,这些电脑总是有这样那样的问题。

六月底一次出差,本来要借一台曾经用过的电脑。结果所里的保管员不在,就在室里借了一台没用过的。我的幻灯片是PowerPoint 2007的,电脑上是Office 2003的,我得装个2007。由于时间紧张,只能到了目的地再装。可是老出错装不上,我把本来的Office 2003卸载了,再装连2003都装不上了。最后,折腾到了凌晨四点勉强装好。

第二天修改幻灯片,我用的是德沃夏克键盘布局,Windows下的拼音输入法修改注册表即可改成德沃夏克的布局。可是这个电脑里面的几个拼音输入法,改了注册表也没用,我只好还是很不习惯地用Qwerty键盘。还好改动量不大,否则只能用别人的电脑了。

第三天早上讲幻灯片,插上投影机后发现这个电脑根本不能识别第二显示器。致命的是电脑不认普通的优盘,不能刻录光盘,也不能上网,我的幻灯片就没有办法拷贝出来了。还好这次出差我带了Ubuntu的光盘,从光盘启动Live系统后,拷贝到别人的优盘里面,最后在别人的电脑上放的片子。

这次出差被电脑折腾得几乎崩溃。如果有一台自己的工作用笔记本电脑,上面出现的问题,一个也不会发生。可是,这个如果是不可能实现的。

提高效率三点

  • 一时一事
虽然我们每个人都可以做到多任务进行,但是任务之间的切换,会打断思维和行动,让工作效率变低。所以,如果可能的话,最好能够在一段时间里面专心做一件事情。在用电脑的时候,也要尽量专心,不要开很多窗口,切换来切换去,分散了注意力而降低了效率。

  • 动手去做
有个报告,我不知从何下手,觉得一定会很糟糕地完成。可是就要到某个检查期限了,只能硬着头皮去写。但是专心写下去之后,发现并没有动手前想象的那么糟糕。在我们没有开始行动前,不管把任务想象得多么轻松或者是多么困难,都不如尽快动手开展,这样才能清晰地知道任务的分量。
  • 另外
如果事情必须由你完成,那么把不喜欢的事情尽快地完成,这样就可以更好地做你喜欢做的事情。