"西厢计划"Ubuntu安装配置指南

来源:https://docs.google.com/View?id=dfmrksq7_0fbf866hn

"西厢计划" 是今天听到的最振奋人心的消息, 穿越GFW这么多年, 基本上各种类型的方法都用过, 每每穿墙都有一种莫名的快感, 想着GFW同学被无数人一次又一次地虐待. 作为新世纪的有志青年, 翻墙已经成了一种必须掌握的技能. 俗话说得好, "不会翻墙的网民不是好公民." 看到这里你应该已经知道"西厢计划"到底是个什么东西了, 但它不同于以往的所有翻墙技术, 算是翻墙界的最新研究成果吧. "西厢计划"的优势在于可以用最直接的方式访问网站, 比如平时用的代理、VPN都是先到另一个地方绕一圈, 而按照作者的说法, "西厢计划"直接注入GFW系统, 这样当你访问敏感词网站时, GFW就变得像个傻子一样, 根本不会进行重置操作, 从而以最快的速度访问网站.

目前还只能在Linux系统中进行使用, 且要求内核版本大于等于2.6.17, 下面是我在Ubuntu中安装配置的全过程.

安装

这里下载安装文件, 解压进入目录. 先安装一些依赖软件: 
$ sudo apt-get install autoconf automake libtool aptitude xtables-addons-common iptables-dev 
注:若“xtables-addons-common”未安装成功,参考文章最后附篇。

接下来开始编译加安装: 
$ ./autogen.sh
$ CFLAGS="" ./configure --prefix=/usr --libexecdir=/lib
$ make
$ sudo make install

配置

在安装文件的"examples"目录中有一些已经设定好的ipset规则, 这些规则用来过滤那些特定的网络访问, 先导入所有规则:
 $ sudo ipset -R < CHINA 
$ sudo ipset -R < GOOGLE 
$ sudo ipset -R < YOUTUBE 
$ sudo ipset -R < NOCLIP 

再使用iptables设定具体的过滤规则: 
$ sudo iptables -A INPUT -p tcp --sport 80 --tcp-flags FIN,SYN,RST,ACK SYN,ACK -m state --state ESTABLISHED -m set --match-set NOCLIP src -j ZHANG -m comment --comment "client-side connection obfuscation" 

$ sudo iptables -A INPUT -p tcp --dport 80 --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j CUI -m set --match-set CHINA src -m comment --comment "server-side connection obfuscation" 

$ sudo iptables -A INPUT -p tcp --sport 80 -m state --state ESTABLISHED -m gfw -j LOG --log-level info --log-prefix "gfw: " -m comment --comment "log gfw tcp resets"

$ sudo iptables -A INPUT -p udp --sport 53 -m state --state ESTABLISHED -m gfw -j DROP -m comment --comment "drop gfw dns hijacks" 

最后修改主DNS, 在"/etc/dhcp3/dhclient.conf"文件中找到"prepend domain-name-servers", 将后面的IP替换为没有被感染的DNS地址, 比如"8.8.8.8", 重启网卡: 
$ sudo ifconfig eth0 down
$ sudo ifconfig eth0 up

大 功告成! 打开浏览器试试吧, YouTube、Blogger、Picasa、Google Groups、Google Docs的Spreadsheet这些都已是畅通无阻, 不过目前Twitter、Facebook还无法访问, 但相信"西厢计划"以后将会越来越强大.

2010.3.13更新:

以上配置在重启之后都会消失, 这就麻烦了, 总不能每次开机都先输这么一长串命令吧. 在参考了Ubuntu官方Wiki之后, 有了一个很好的解决办法.

首先确定你已经设定好了上面的所有规则, 接着将当前规则导出并放到"/etc"目录中: 
$ sudo ipset -S > ipset.rules 
$ sudo iptables-save > iptables.rules 
$ sudo mv ipset.rules iptables.rules /etc 

其 实我们需要做的就是让系统在每次开机的时候自动读取这些规则, 这可以有很多种方法, 比如写成脚本, 放到rc目录中, 但我觉得下面的方法更加灵活一点. 这里又要分成两种方法, 如果你使用了NetworkManager, 请看第一种, 否则看第二种. 之所以要这样分开讨论, 是因为第二种方法会导致NetworkManager不能正常工作. 这里下载NetworkManager的配置脚本, 加上可执行权限, 最后放到"/etc/NetworkManager/dispatcher.d"目录中.

在"/etc/network/interfaces"文件中添加如下几行: 
auto eth0 
iface eth0 inet dhcp     
pre-up ipset -R < /etc/ipset.rules     
pre-up iptables-restore < /etc/iptables.rules     
post-down ipset -S > /etc/ipset.rules     
post-down iptables-save > /etc/iptables.rules



在ubuntu中添加debian的源并安装xtables-addons

三月 16th, 2010 edikud 0 Comments/41 hits

也许你想在ubuntu中安装xtables-addons来编译某个爱情故事。那么这里给出一个具体步骤。

我实验的是使用ubuntu 9.04

1. 找到一个debian源。


我用的是http://debian.ustc.edu.cn/debian 如果是用其他的源,可以下面的PUBKEY和地址要替换掉。

2. 系统 -> 系统设置 -> 软件源

在第三方软件中加入 deb http://debian.cn99.com/debian  unstable main

这时候Update有可能会提示
NO_PUBKEY 9AA38DCD55BE302B

如果提示就使用下面的命令把公钥导入,否则可以忽略这两条命令。

gpg --keyserver pgpkeys.mit.edu --recv-key F1D53D8C4F368D5D

gpg -a --export  F1D53D8C4F368D5D | sudo apt-key add -

3. update

sudo apt-get update
 
4. install
sudo apt-get install xtables-addons-common


如果你是为了编译某个爱情故事需要的xtable来的话, 可以再

sudo apt-get install --reinstall iptables-dev

就可以继续编译那个爱情故事了。

1 条评论:

Unknown 说...

依此法编了一遍,无效
Ubuntu 10.04 LTS