在河里抓鱼的熊

抓鱼杂谈

Archive for March, 2010

北京的宝马警车(图)

with 2 comments

中午吃饭,路上偶见宝马警车。可能是在那里蹲点,或者在那里偷懒!头回亲眼所见,偷偷拍了张照片,犒赏各位看官:

北京的宝马警车

北京的宝马警车

Written by qianxiong

March 30th, 2010 at 2:03 pm

Posted in 路闻

Tagged with ,

一点关于西厢计划安装配置的问题

without comments

对于崇尚自由的人们来说,西厢计划简直就是神来之笔,它让我们在这个黑暗的年代看到了曙光,为我们打破信息谎言创造了途径。最值得赞叹的是:这是规则之下的博弈。gfw今天棋逢对手了!

具体的编译、安装和配置请看http://code.google.com/p/scholarzhang/wiki/INSTALL
配置请看http://code.google.com/p/scholarzhang/wiki/USAGE
为了不重复发明轮子。在此,我仅仅提供一些应对问题的经验。

如果按照官方文档的指引,基本能够成功,但是从留言和我自己的经历来看,在中途可能还是有一部分人会遇到一点问题而成功不了。这些问题官方文档没有提及,也许是因为软件作者本身水平太高,这些问题基本遇不到,或者顺手就解决了,也就没有正式的写道wiki中。

好了,说正题。

  1. 问题一。大部分朋友会遇到找不到下面三个文件:
    /lib/xtables/libipt_ZHANG.so
    /lib/xtables/libipt_CUI.so
    /lib/xtables/libipt_gfw.so
    到/lib/xtables/下的确找不到这三个文件。不过编译安装后我们可以在/usr/local/libexec/xtables/下找到文件名相似的个文件(而源文件目录下,生成的也只有这几个文件,可以断定就是他们几个)。因此,可以从/usr/local/libexec/xtables/下创建链接文件到/lib/xtables/下:
    cd /lib/xtables
    sudo ln -s /usr/local/libexec/xtables/libxt_CUI.so libipt_CUI.so
    sudo ln -s /usr/local/libexec/xtables/libxt_ZHANG.so libipt_ZHANG.so
    sudo ln -s /usr/local/libexec/xtables/libxt_gfw.so libipt_gfw.so
  2. 问题二,IP地址解析仍然不正确。即使正确设置了自己的DNS server为8.8.8.8也解析不到正确的www.youtube.com地址。反复检查了/etc/hosts文件以及/etc/resolv.conf文件都找不到哪里出了错。于是浏览器要么出现网络错误,要么出现refuse错误。如果使用命令
    nslookup www.youtube.com

    则一如既往的错。但如果使用nslookup的交互模式,并设置了dns server 为8.8.8.8,则能够解析到正确的IP地址。其实,这是因为在还没有执行ipset和iptables命令之前访问了youtube,那时DNS被污染,因此本地的DNS cache记录了被污染的DNS地址。通过执行下面的命令可以清除本地DNS Cache:

    sudo resolvconfig -d wlan0
    sudo resolvconfig -d eth0
    
  3. ipset的规则是什么,example中的规则怎么理解?
    example中的规则一般如这样”-A YOUTUBE 208.117.224.0/19 ”。前面的-A和YOUTUBE 容易理解。但是”208.117.224.0/19″是什么?其实,这是表示一个网段,将208.117.224.0转化为二进制后应该是”11010000.01110101.1110000.00000000″,每段8位,第19位是第三段第三位,就是最后那个1上。”208.117.224.0/19″就表示二进制的前19位是相同的,这表示一个网段的IP地址。与子网掩码表示的方法不同,但意思是一样的。

每个步骤保证正确之后,可以写成一个脚本,以简便每次启动过程:

首先,导出刚才的那些设置:

sudo ipset -S > ipset.ruls
sudo iptables-save > iptable.ruls

接着,把它们放到/etc目录下面,(不能放到/home目录下,因为到时候会用sudo执行,root用户访问不到自己的目录):

sudo mkdir /etc/west-chamber
sudo chmod a+w /etc/west-chamber
cp ipset.ruls iptable.ruls /etc/west-chamber/

最后,写一个脚本,并赋予可执行权限:

sudo touche /usr/local/sbin/west-chamber.sh
#!/bin/sh
#restore rules
ipset -R < /etc/west-chamber/ipset.ruls
iptables-restore < /etc/west-chamber/iptable.ruls
#set trusted nameserver
echo nameserver 8.8.8.8 > /etc/resolv.conf
echo nameserver 8.8.4.4 >> /etc/resolv.conf

#clear the resolve catch
resolvconf -d wlan0
resolvconf -d eth0
sudo chmod a+x /usr/local/sbin/west-chamber.sh

现在就可以执行

sudo west-chamber.sh

来启动西厢计划了。

现在打开youtube看看吧!

附A:一些有用的命令:

查询所有www.youtube.com的IP并保存到文件中:

$nslookup www.youtube.com | grep Address | grep -v '#53' | awk '{print $2}' >> www.youtube.com.ip

清除本地的dns缓存:

$resolvconfig -d wlan0
$resolvconfig -d eth0

统计有多少个IP:

$cat www.youtube.com.ip | sort -g | uniq | wc -l

Written by qianxiong

March 21st, 2010 at 5:19 pm