Вы находитесь на странице: 1из 65

【香港一人一 VPN Server】

Edited by YH Fung

Version 0.02
目录
背景 .................................................................................................................................................. 3
1 “破网”一词是什么? ........................................................................................................... 4
2 怎样才能破网呢?................................................................................................................... 4
2.1 Virtual Private Network ................................................................................................. 4
2.2 懒人方案一:Draytek Vigor 2200E Plus ...................................................................... 4
2.2.1 Draytek Vigor 2200E Plus在香港家里安装程序............................................... 5
2.2.2 PC在大陆安装程序(PPTP VPN Client)......................................................... 7
2.3 懒人方案二:Buffalo WZR-HP-G300NH .................................................................... 13
2.4 为什么VPN后,浏览不到Youtube、Facebook,六合彩网站 ................................. 14
2.5 DDNS是什么和怎样设? ........................................................................................... 14
3 VPN技术应用 .......................................................................................................................... 16
3.1 LAN-to-LAN.................................................................................................................. 16
3.2 Teleworker-to-LAN ...................................................................................................... 16
4 Software VPN Server ............................................................................................................... 16
4.1 PPTP Server ................................................................................................................. 16
4.2 OpenVPN Server.......................................................................................................... 16
5 Hardware VPN Servers ............................................................................................................ 17
5.1 Commercial/Domestic VPN Routers ........................................................................... 17
5.2 DD-WRT Routers.......................................................................................................... 17
5.3 Tomato Routers ........................................................................................................... 17
6 其他破网技术......................................................................................................................... 18
6.1 怎样利用Putty + SSHd 破大陆长城网 (避免网警对PPTP VPN流量控制)......... 18
6.2 Putty + SSHd 破网技术攻略 ...................................................................................... 25
6.3 DD-WRT OpenVPN Static Key 破网攻略 .................................................................... 30
6.4 「白凤」(psiphon) 躲开网络监控工具 ................................................................... 37
6.5 Tomato mod OpenVPN 教学...................................................................................... 44
6.6 使用两台DD-WRT (VPN 版本)Router做Site-to-Site OpenVPN 高度加密的 VPN
tunnel 55
7 Examples of LAN-to-LAN Configuration .................................................................................. 59
7.1 Configuration of two Draytek Vigor 2200E Plus routers using IPSec VPN ................... 59
8 一人一VPN故事 ...................................................................................................................... 64
8.1 Veiver .......................................................................................................................... 64
背景
以前我们不知道什么叫 VPN,但是因为有一天我订购的香港太阳日报突然有一天不能再看了,
主要原因大陆把香港的报纸封了,那么时候没有办法,只有看别的。那个时候信报刚刚有网
上版,于是订购了,它有论坛,偶然我都去看看,偶然发现什么叫“洋葱头”的软件可以用
来看香港的新闻,于是下载了洋葱头,果然真的可以在大陆看到香港的信息。

为什么我们喜欢看香港的信息,因为我们香港人都是从小在香港长大,习惯当地的生活和文
化,所以香港发生什么一举一动都想知道。其实我也不太明白为什么设计这样的软件,可能
都是用来破网用,可能在不同的国家有不同的需要。偶然一天我发现有一个讲技术的网站
HKEPC,里面有个HKPEC论坛在网络宽频板块看到HOMINNS写关于破网的文章,于是开始我
学习VPN技术的历程。因为他写了很多比较启发性的文章,因为没有去跟帖,慢慢帖子就被
锁上,因为论坛资源所限,最后被删掉,我看到这样非常可惜,于是特意起一幅【香港一人
一VPN Server】专帖,专门介绍VPN Server的应用,鼓励香港在大陆工作的网友家里安装一
台VPN Server,用过自己的VPN Server,那么你就可以得到香港的信息,如香港的报刊、论
坛、youtube、facebook,六合彩等等。

香港的 HKEPC 的 members,请你注意在大陆查看香港信息时,只能看而不能散播,不然可


能会招致麻烦。

由于在V0.01 面世的非常匆忙,只能简单说一下。现在版本是V0.02,内容增添了篇幅,方便
阅读和参考。本册子大约会在一个月更新一次,最新的手册可以在本人的MSN SkyDrive找到。

YH Fung

2009-10-1
1 “破网”一词是什么?
在一般的情况下,你在某处上网连接到另外一边是没用问题,但是可能某些人不让你去浏览
某些网站,所以中间设了一道防火墙,于是大家就看不到外面的网站,而专心工作。但是某
些人却喜欢看外面的网站,于是想尽方法去越过这道墙——爬墙、破网。

2 怎样才能破网呢?
破网方法有很多种,利于我说的“洋葱头”,你下载洋葱头的软件,安装后就可以使用了,
但是下载速度比较慢。其实还有别的方法去破网,但是这里我们不会谈及,我们主要是利用
Virtual Private Network(VPN)技术去破网。

2.1 Virtual Private Network

可能大家都不明白什么叫 Virtual Private Network (VPN), 简单来说就是用科技把你现在的电


脑接到某处的服务器(VPN server)
,然后通过这个技术,你的电脑与远方的服务器连在一起,
这样你建立一条私人专线(Virtual Private Tunnel),从很远的地方接到你身处的电脑里,外
面的人在一般的情况下是看不到你在看什么,传送什么的。

那么怎样才有自己的 VPN Server 呢?不用人有不同的方案,例如 1)香港家里开着一台 PC,


然后在那里其他一个 VPN Server 程序;2)香港家里安放着一台带有 VPN server 功能的 router
就可以。那么具体是怎样做呢?那些 router 带有破网功能的 VPN servers 呢?

2.2 懒人方案一:Draytek Vigor 2200E Plus

因为有些 members 在大陆工作非常繁忙,根本没有时间去专研 VPN 技术,所以我提议一个


懒人破网法,就是去市场买一只带有 VPN server 功能的 router,那么应该买哪一只呢?因为
我用 Draytek 产品比较多,比较熟悉,所以先介绍它。

这只 router 出来很久,听说都有 5 年,Draytek 出名做 VPN router,而这只 router 又不贵,


在香港卖大约是 800 港元,在大陆淘宝网大约卖 550 人民币。

它带有 PPTP,IPSec, L2TP VPN 功能,可以开 16 个 VPN accounts 给 16 个人使用,一般我


们用 PPTP VPN 技术来破网比较多, IPSec 和 L2TP 用于 lan-to-lan 连接比较多。但是它没有
wifi and gigabit LAN,如果一般破网用,应该可以足够。然后远程控制也非常方便,很多人
采用后都没有什么投诉。
2.2.1 Draytek Vigor 2200E Plus在香港家里安装程序

你用 IE 打开 router web configurator page


2.2.2 PC在大陆安装程序(PPTP VPN Client)

在大陆的 PC,打开网络连接,然后按照下面的说明来建立你的 PPTP Client。


下图,点击“创建一个新的连接”
按“下一步”。

选择“连接到我的工作场所的网络”
选择“虚拟专用网络连接”

在“公司名”输入你容易记的名称。
输入你的 VPN Server Hostname or IP Address
输入用户名和密码,还有在“为下面用户保存用户名和密码”打勾。按连接,如果成功的话,
你可以浏览香港三大网站。
2.3 懒人方案二:Buffalo WZR-HP-G300NH

这款 Buffalo router 比之前的 Draytek Vigor 2200E Plus 有好几个好处,


它有 gigabit LANs, Wifi-N,
NAS, BT, 而最重要的事,它有 PPTP VPN Server。而这个 PPTP VPN Server 在手册里是没有提
及过的,但是在 router 里有选项,可以把它调出来。

要注意,它只能开 8 个 accounts,但是不能共用一个 account,而在 Draytek Vigor 2200E Plus


router 就可以共用一个 VPN account。因为经过测试,它的 PPTP VPN Server 在 HKBN 100M
下都能正常工作,其他功能我角色没有进行测试过, 请大家参考其他玩站。

具体怎样设置,我也很少接触,不过应该也难。如果你有这方面的详细经验,可以说说。
2.4 为什么VPN后,浏览不到Youtube、Facebook,六合彩
网站

因为大陆的 DNS 把这几个网站改了它的 IP,所以用大陆的 DNS 去接是解不开的,你要用香


港的 DNS 就可以解开。 怎样知道香港 router 的 DNS 呢?那么你先 VPN 到香港,
然后打开 router
,在 router 里就可找到。然后把这些信息放在大陆的 PC 的 TCP/IP 栏里的 DNS 就可以。

2.5 DDNS是什么和怎样设?

当一个VPN server设好后,如果用IP,基本上在大陆就可以连到香港的VPN server,但是如果


IP address变了就会连不到。那么怎样办呢?有些member就打IDD电话到香港,叫家人在
router后面的PC运行一个网页, http://www.getip.com, 然后告诉你现在的新IP是什么。如果IP
不是经常变,这个方法都相当好用,但是如果经常变就不好办。为了针对router IP经常变的
问题(dynamic IP)
,router里有一个Dynamic Domain Name System(DDNS)设置。

那么 DDNS 又是一个什么东西呢?你可以不用 IP address 去登入你的 VPN server,在 DDNS


里最出名为 DynDNS.org,它可以提供 3 个免费的 domain names 给你使用,例如:
vpn1.dyndns.org, vpn2.dyndns.org, vpn3.dyndns.org. 在你的 Windows PPTP Client 里,你填入
vpn1.dyndns.org 就可以,而不用再输入 IP address。

如果你在香港 VPN 香港的 VPN server 还可以,如果你在大陆 VPN 香港的 VPN server 问题就
出来了!为什么呢?就是应为大陆把 dyndns.org 这个 domain 封了!所以你不能 VPN 回香港,
那么用什么 domain 呢?这里不能说,因为说了出来,可能又会被封,但是在 DynDNS.org
里有很多其他 domain names 可以让你选择,你可以在里面找找,一定会有些 domain names
没有被 blocked 的。

一般的 router 只有一个 DDNS 你可以设,而听过 Tomato 可以有两个 DDNS 可以设,在 Draytek
Vigor VPN routers 里一般都会有 3 个 DDNS 让你可以设的。如果你用 Draytek Vigor VPN router,
那么你最好设 2 个 DDNS 比较有保险,还有一个用大陆的,另外一个用外海的,如在
DynDNS.org 里找适合的 domain names。
3 VPN技术应用
大部分的 VPN 都是以 Client-to-Server 模式进行,
Client 和 Servr 可以是 PC 或者 router 来实现。
如果公司网络连接,一般都是用 routers,而破网的,大部分都是 Client 是 PC,而 Server 是
router。

3.1 LAN-to-LAN

以前公司小的时候,什么电脑系统都可以放在一起,但是公司大了,分别在不同的地方,那
么两边的网络怎样连在一起呢?以前我们都是租用电话公司的专线连接的。如果地方近也可
以,但是原来很远,哪里有这么长的线给你用,而且费用也非常贵。由于互联网屈起,这些
专线纷纷避互联网取代,利用 VPN 技术,就可以把两边的 Network 连起。一般都是两边都
是采用 routers 来实现。

3.2 Teleworker-to-LAN

在外工作的人员或者客户想与公司的电脑系统联系,一般都是采用 VPN Client 连接公司的


VPN Server 这种模式比较多,而最简单就是是 PPTP,因为所有 Microsoft Windows 都自带有
PPTP Dialler。有的系统是用 IPSec 连回公司的。

4 Software VPN Server

4.1 PPTP Server

(HOMEINNS 在这方面经验)

4.2 OpenVPN Server


5 Hardware VPN Servers

5.1 Commercial/Domestic VPN Routers

http://www.draytek.us/pmatrix.html

http://www.draytek.com/user/SupportAppnotes.php

Buffalo WZR-HR-G3000NH,内面有 PPTP Server,有 gigabit LAN,wifi-N,NAS,BT,除了 PPTP


Server 测试过一个月,能正常超过,没有发生大的问题,至于其他 functions,据说有点问题,
具体要自己去了解。

Draytek Vigor 的 VPN routers 比较稳定,大家可以考虑。

5.2 DD-WRT Routers

由于有不少的 members 都会用旧的 router 重新刷新第三方固件(third party firmware), 把


没有用的 router 变成功能强大的 router,下面的是 DD-WRT 的官方网站。

http://www.dd-wrt.com/wiki/index.php/Main_Page

在 flash firmware 时大家要注意的事,不要 flash 错了 firmware,一般情况下不会出错。 同


一型号而不同 version 的 router 都要小心,因为不同 version 的 router,hardware 内容也不一
样。所以要不同版本的 firmware 才能适合用。

5.3 Tomato Routers

http://www.polarcloud.com/tomato

http://tomatovpn.keithmoyer.com
6 其他破网技术

6.1 怎样利用Putty + SSHd 破大陆长城网 (避免网警对


PPTP VPN流量控制)

和大家分享一下,我的经验,我在大陆工作差不多十年,对于”翻墙”的经验也不少,不过很少人
提及我用的方法,我说出来大家研究一下:

Hardware : Linux base Router (DD,Tomato,openwrt,wayos) 等等 with SSHD (HKside)


Software : Putty + FireFox or Maxthon (我后面会解释为什么不用 IE) (Your Desktop)

方法 : 利用 Putty make 一条 SSH Tunnel 连接到在 HK 的 Router

我以下用 Tomato 为例:


1. 开启 Tomato 内的 SSHD Server 并设定好 (图 1)
2. 申请 3322 作为 Router 的 Address

3. Download Putty Tray Console Link => http://www.xs4all.nl/~whaa/putty/

4. Run Putty Tray 并设定好

4.1 在 Host Name 上填上 HK Router 的 Address (xxxxx.3322.org) 然后在 Saved Sessions 上
填上 Profile 名称 (HK Router) 随便填 , 然后按 Save 你会看到 Profile 以加入,再点一下你刚
加入的 Profile 按 Load , 然后开始设定 SSH
4.2 设定 SSH , 在 SSH \ Tunnels 设定内填上 Source port number (8080) 和选 Dynamic 然后
按 Add
4.3 返回 Sessions 按 Save 储存设定

5. 按 open 进入 console mode , 在第一次联机会在 popup window 问你 SSH Fingerprint 事


项, 按 Yes

6. 在 Console Mode Login 去你在 HK 的 Router (User 是 root , password 就是你 Router 的
Password)

7. 完成后你以成功搭建起一个 SSH sock5 的 proxy 了

8. Proxy 为 127.0.0.1:8080 (Sock5)

应用:
如果你只是上网看看网页的话,我建议你用 Firefox 或 Maxthon ,因为在 Proxy 管理方面比较
容易,切换比较方便,顺带一提 DNS 方面最好改用 OPENDNS 等 DNS Server 因为用自带的 dns
会有很多限制我以下用 Maxthon 为例做设定 Proxy

1. 在 Maxthon Tools 内打开 manage proxy list


2. 按 Add 填上 address 如图

3. 完成后使用 Proxy 看网页试试 (youtube,Appledaily 等等) 其实用以上的方法变相是利


用 LocalHost 做 sock5 proxy ,方法虽然复虽,不合新手用,有兴趣的朋友可以研究一下
(信息来源: ChinaZ, 499#)
6.2 Putty + SSHd 破网技术攻略

因为有 member ChinaZ 的协助,使我很快掌握 Putty + SSHd 破网的技术。安装方面可以参考


ChinaZ 的帖子。下面我们看看 Putty + SSHd 在高速的 ISP 有多快。

Server:香港一台 PC 运行 Linux,里面运行 SSHd。Internet Speed 10M UL/DL。


Client:PC,ISP:中国电信 ADSL 3Mbps

下面有两个 Applications,第一个 fireFox browser, 第二个是 FTP (Using FileZilla),看看怎样


可以破网和速度的测试。

Firefox browser (看大陆境外的网页)

1、我们打开 Putty,按照 ChinaZ 的帖子进行参数设定。

2、登入 server 后,那么打开 FireFox browser,我们把 server 过来的东西接上 browser 里。


请看图一,打开工具,然后再点击高级,再根据图一来设置。没有用 local proxy server 的 IE
是打不开英国 BBC 中文网站(请看图二) ,用 Firefox 的 browser 就能打开(请看图三)。下
载速度非常快! !
!爽极了!!!

图一
图二

图三

Download speed test using FileZilla ftp client


4、安装 FileZilla ftp client, (请看图四),在菜单编辑里,选设置后,系统会弹出一个设置的
画面(请看图五) ,然后按红框里的信息填上,再按确定。

图四

图五

5、让后在主页面主机[H]里输入 download.speedtest.com.hk,然后按回车。FileZilla 自动接上


download.speedtest.com.hk server,然后把 10MBvideo.zip 文件 drag 到 PC 的 local file folder
就可以。下载速度可以看图五,大约有 194KBps,是相与我的 ADSL 3Mbps 是相当快!这种
破网方法不错!

图六
6、怎样选香港的 ISP 是非常重要,在我们破网经验是,一定要选 PCCW!
!!
6.3 DD-WRT OpenVPN Static Key 破网攻略

1、请看图一,请注意下面的假设:

Router 1 WAN IP = 192.168.2.14 (放在香港,真实情况是由香港 ISP 提供)


Router 3 WAN IP = 192.168.2.15 (放在大陆,真实情况是由大陆 ISP 提供)

Router 1 是一台 DD-WRT VPN router,模拟放在香港的老家


Router 3 是一台 DD-WRT router, 模拟放在大陆住所 (估计其他一般 router 也可以)

Firmware 是用 DD-WRT Version 24 SP1 VPN 版本。

参考文献:http://www.dd-wrt.com/wiki/index.php/OpenVPN#Server_mode_with_Static_Key

但是有些更改,主要是 router 方面。

图一(互联网实验室)
2、请看图二,在大陆的 Router 3 里一台电脑 PC 3
从 OpenVPN 官方网站:http://openvpn.net/index.php/downloads.html,
下载 OpenVPN WindowsInstaller program:openvpn-2.1_rc15-install.exe。

图二(OpenVPN 官方网站)
3、然后用默认安装 OpenVPN Client 软件,默认路径是 C:\Program Files\OpenVPN。下一步我
们 generate a static OpenVPN key。

Click on "Start > Programs -> OpenVPN -> Generate a static OpenVPN key" (请看图三)

图三(Generate a static OpenVPN key)

Static key 存放在 C:\Program Files\OpenVPN\config\key.txt


(请看图四)。这条 key 每次 generate
都不一样。然后用 dos command, rename key.txt static.key

图四(key.txt)

4、用一台电脑 PC 1 插到 Router 1 的 LAN port,打开 DD-WRT 里的界面。在 Administration ->


Commands -

>Commmand Shell text box 里把 static.key 的 key 按下面的图插入,然后按 Save Startup。


openvpn --mktun --dev tap0
brctl addif br0 tap0
ifconfig tap0 0.0.0.0 promisc up
echo "
-----BEGIN OpenVPN Static key V1-----
...INSERT YOUR STATIC KEY HERE...
-----END OpenVPN Static key V1-----
" > /tmp/static.key
ln -s /usr/sbin/openvpn /tmp/myvpn
/tmp/myvpn --dev tap0 --secret /tmp/static.key --comp-lzo --port 1194 --proto udp --verb 3
--daemon

5、再在 Command Shell text box 里把下面指令放在里面,再按 Save Firewall。完成后画面会


如图五类似。

iptables -I INPUT 1 -p udp --dport 1194 -j ACCEPT

图五
6、Reboot router (Administration -> Management -> Reboot Router)

7、然后在大陆 Router 3 里的 web administration page,在 Basic Setup -> Advanced Routing 填
下信息:(如果没有这一部,能联通,但是上不了网) (如果上不了才用!现在我已经不用了
也能上网)
Destination LAN NET: 192.168.1.0
Subnet Mask: 255.255.255.0
Gateway: 192.168.1.1
Interface:ANY

然后按 Apply Settings。

8、在大陆的 PC 3,把下面的信息放在 C:\Program Files\OpenVPN\config\client.ovpn

remote 192.168.2.14
port 1194
dev tap
secret static.key
proto udp
comp-lzo
route-gateway 192.168.20.1
redirect-gateway

在我的模拟互联网 setup,如果加了 route-gateway 192.168.20.1 和 redirect-gateway 后不能


上网,但是在真实互联网就需要这两句才能通过对方的 Gateway 上网。

9、在大陆 PC 3,执行 Start -> Programs -> OpenVPN Gui, 然后 right click OpenVPN Gui icon, 选
client -> Connect。

10、大陆的 PC 就可以虚拟地搬到香港去了!在大陆的 PC 可以 ping 到香港的 PC IP address,


还有在我的邻居找到对方的的 PC,这方便传送文件和打印的工作。

11、如果有问题,先检查之前的信息是否输入正确,不用 web management 的 warm reboot,


用 hard reboot——就是把电源。

由于 Router 1 是 Linkssy WRT54G V2.2,不运行 OpenVPN,下载速度大约是 300KBps,如果用


了 OpenVPN,速度变为 200KBps,这可 能 WRT54G V2.2 的运算极限。刚才换上 Linksys WRT54G
V4 比较快的 Router,下载速度接近 290KBps。非常接近没有 OpenVPN 的下载速度。

如果 port 1194 被查封,


不知道是否可以更改别的 port,那么我们就可以有很多 port 的选择,
大陆网警也没有我们办法。

port number 怎样改才能成功呢?


i)在 Administration -> Commands -> Startup,点击 Edit,把 port 1194 里的 1194 改到你想改
动的 port number,如 23,那么改完后为 port 23,然后按 Save Startup

ii) 同样地在 firewall 里的 port 1194 改到 port 23,然后按 Save Firewall。


iii)去 Administration -> Management,然后 Reboot Router,以前失败就是没有执行这一步。

iv)在上边的 Step 8 (C:\Program Files\OpenVPN\config\client.ovpn)里的 port 1194 也改到


port 23。

然后再次连接就可以了!如果 port 23 不能连接,你可以再改别的 port number 就可以!


6.4 「白凤」(psiphon) 躲开网络监控工具

安装「psiphon 白凤」后,他的计算机便自动成为「代理服务器」
(proxy)
。而当专制社会的
网友也安装了「白凤」 ,并取得任何一台代理服务器的登入账号后,便可以安全地通过自由
国家的计算机,顺利转连至世界各地的自由信息。

同时,在网络浏览结束后,「白凤」会自动删除一切网络联机记录,不会在用户计算机中留
下任何相关信息。并且,由于使用者是经由境外的服务器突破封锁,这也使得政府无法一一
追踪、封锁这些联机。(来源:wanchai, 2609#)

破解被封锁 IP 限制-Psiphon, 我系中东国家成日用, 没有 VPN ROUTER 时我用这个,好过


冇,port 位自己 set 的, 破解被封锁 IP 限制-Psiphon(免费)

针对不同封锁要求限制 通常多配备几种不同的破网程序可以应付不同的需要!!!!

「白凤」是由多伦多大学(University of Toronto)的公民研发室(Citizen Lab)开发而出,其


成员除了软件工程师外,还有一流的计算机黑客以及政治学者。他们长期窝在地下室的小小
实验室里,为了就是研发出一种更有效率、更安全的破解技术,让中国、伊朗、沙特阿拉伯
等国的民众,可以有效突破政府设下的网络封锁,安全地连结到自由国家的网站,浏览各项
信息。

Psiphon(白凤)介绍说明网:http://www.epochtimes.com/b5/6/12/2/n1542425.htm

Psiphon(白凤)特质:轻易连到各网站入口,而且不会在用户的计算机上留下踪迹,能更有效
的规避政府网络监控机制,用户只要透过一个独特的用户名称、密码与网址,就可以连上该
软件,网络浏览结束「白凤」会自动删除一切网络联机记录,不会在用户计算机中留下信息
使用者是经由境外的服务器突破封锁,所以无法一一追踪、封锁这些联机

Psiphon1.6 下载:请择一下载即可

psiphon-1.6.msi
http://psiphon.ca/download/psiphon-1.6.msi
http://www.badongo.com/file/3764818
步骤 1-开启程序:
下载安装后 第一次开启 会出现输入名称 窗口 请自行输入名称

输入名称后 程序窗口会显示属于你名称的网址 这是你日后由此连接封锁网址对外的通道

步骤 2-设定选项(建议不要乱更动 会无法正常连结):
点选 setup(设定) 开启设定页面
link 页面信息不需更改
preferences 页面设定 是否 随着 Windows 开机而启动
SSL Certificaation 此页面设定 请在 country 字段中选择国家(随意选取)
例如:
浏览大陆封锁网站就点选 china(中国)
观看日本职棒影片 会封锁非日本区 IP 就点选 Japan (日本)
其余不要更动 会造成连结失败
点选 ok 完成设定
步骤 3-设定 帐密:
回程序接口按 add-输入自行设定的账号密码(自行设定)
步骤 4-联机:
完成设定 程序接口中终会出现属于你的联机 ID
请点选 右侧 start(开启) 再点选 界面中的网址

第一次开启会出现错误窗口 或错误讯息不用理会 请继续


就会出现 Preferences 专属的网页浏览器
请在 Preferences 专属的网页的网址列中输入你要浏览的网址即可

注意:
毕竟是使用 IP 设定的伪装状态
如果不是浏览或下载被封锁的网站 就关闭此程序
才不会造成网页开启缓慢
(来源:wingchai,916#)
6.5 Tomato mod OpenVPN 教学

(信息来源:阿水, 链接点击)

Firmware download http://victek.is-a-geek.com/

OpenVPN Download: http://www.openvpn.net/download.html


(Required for key generating process and for each Client)

Original OpenVPN howto: http://www.openvpn.net/howto.html

Install OpenVPN to generate the keys used by tomato & each client:

Initialization 1

Initialization 2

CA signs all keys generated, so that each other can verify them

Note:
Common Name must be unique
Clean up + CA setup 1

CA setup 2
Generating key used by the Tomato Router

Notice:
May provide an extra challenge password for better security (but this must be the same)

Server Key Generate 1

Server Key Generate 2


Generating key used by the Client (remember this process for each client for better security or
ban each other)

Client Key Generate 1

Client Key Generate 2


Generate the DH parameter, used by both party to securely authenticate each other over the
internet

generate DH

Generated Files

Before IP

Router Setting
Remember to save the setting + start the VPN server
Feel free to add something in the custom configuration:
# OpenVPN server mode options
client-to-client # tells OpenVPN to internally route client-to-client traffic
duplicate-cn # Allow multiple clients with the same common name

之前的 config, 因為 overclock recovery 舊 setting 無改到

Basic

Advanced
Keys
For each client:
Install the openvpn

Based on the default example (client.ovpn)

##############################################
# Sample client-side OpenVPN 2.0 config file #
# for connecting to multi-client server. #
# #
# This configuration can be used by multiple #
# clients, however each client should have #
# its own cert and key files. #
# #
# On Windows, you might want to rename this #
# file so it has a .ovpn extension #
##############################################

# Specify that we are a client and that we


# will be pulling certain config file directives
# from the server.
client

# Use the same setting as you are using on


# the server.
# On most systems, the VPN will not function
# unless you partially or fully disable
# the firewall for the TUN/TAP interface.
;dev tap
dev tun

# Windows needs the TAP-Win32 adapter name


# from the Network Connections panel
# if you have more than one. On XP SP2,
# you may need to disable the firewall
# for the TAP adapter.
;dev-node MyTap

# Are we connecting to a TCP or


# UDP server? Use the same setting as
# on the server.
;proto tcp
proto udp

# The hostname/IP and port of the server.


# You can have multiple remote entries
# to load balance between the servers.
remote [[OpenVPN Server domain or IP]] 1194
;remote my-server-2 1194

# Choose a random host from the remote


# list for load-balancing. Otherwise
# try hosts in the order specified.
;remote-random

# Keep trying indefinitely to resolve the


# host name of the OpenVPN server. Very useful
# on machines which are not permanently connected
# to the internet such as laptops.
resolv-retry infinite

# Most clients don't need to bind to


# a specific local port number.
nobind

# Downgrade privileges after initialization (non-Windows only)


;user nobody
;group nobody

# Try to preserve some state across restarts.


persist-key
persist-tun

# If you are connecting through an


# HTTP proxy to reach the actual OpenVPN
# server, put the proxy server/IP and
# port number here. See the man page
# if your proxy server requires
# authentication.
;http-proxy-retry # retry on connection failures
;http-proxy [proxy server] [proxy port #]

# Wireless networks often produce a lot


# of duplicate packets. Set this flag
# to silence duplicate packet warnings.
;mute-replay-warnings

# SSL/TLS parms.
# See the server config file for more
# description. It's best to use
# a separate .crt/.key file pair
# for each client. A single ca
# file can be used for all clients.
ca ca.crt <=== To be replaced
cert client01.crt <=== To be replaced
key client01.key <=== To be replaced

# Verify server certificate by checking


# that the certicate has the nsCertType
# field set to "server". This is an
# important precaution to protect against
# a potential attack discussed here:
# http://openvpn.net/howto.html#mitm
#
# To use this feature, you will need to generate
# your server certificates with the nsCertType
# field set to "server". The build-key-server
# script in the easy-rsa folder will do this.
;ns-cert-type server

# If a tls-auth key is used on the server


# then every client must also have the key.
;tls-auth ta.key 1

# Select a cryptographic cipher.


# If the cipher option is used on the server
# then you must also specify it here.
;cipher x

# Enable compression on the VPN link.


# Don't enable this unless it is also
# enabled in the server config file.
comp-lzo

# Set log file verbosity.


verb 3

# Silence repeating messages


;mute 20
File givens to them + how to start OpenVPN

After IP (traffic pass through tomato router)

OpenVPN server status


6.6 使用两台DD-WRT (VPN 版本)Router做Site-to-Site
OpenVPN 高度加密的 VPN tunnel

(信息来源:HOMEINNS)

最近,因为我们在 HKEPC 上广为宣传,那 20 多万在国内工作的香港难胞有很多人已经在他


们香港的老家里设立 24x7 运行的 DD-WRT PPTP VPN Server,令到在晚上互联网高峰时段的
PPTP traffic (Port 1723) 的破网通信流量大增,
(尤其是在珠三角地区的港灿集中地带),国内
的网络警察随时可以在 Port 1723 守株待兔,一网打尽。

因此,在个多月前,我已经转用 OpenVPN 破网(自选 Port,又加上军事级的 AES Encryption


Algorithm),效果十分良好,在国内一些低档次的土炮酒店(招待所)里的互联网,虽然 PPTP
VPN 被封死,但 OpenVPN 还可以破网,其穿透能力和数据加密能力应该比 PPTP VPN 强得
多。

因此最近和 HKEPC 的网上高手互相交流学习 OpenVPN 这些高档次的网络知识,努力爬文,


阅读了大量的 OpenVPN 的技术文献。

最近在 DD-WRT Wiki 里,看到一段发表于 2009 年 7 月份的文章。

以前,做 Site-to-Site VPN 就要买一对互相 Compatible 的 VPN Router(最好当然是使用 IPSec


Protocol 的,当然十分昂贵,只有 "米皇" 才可以负担得来。

现在,只要你有两台 Flash 了 DD-WRT (VPN 版本) 的 Router(例如 Buffalo 或者 Linksys)


,就
可以利用 OpenVPN 建立一条 24x7 运行的 Site-to-Site VPN tunnel,
(当然是用 OpenVPN 内建
的 Encryption Algorithm,保密的能力是绝对与 IPSec 不相伯仲)

因为这篇文章在网上才刚刚发表了一个月,现在我把这一篇文章Post出来,与大家分
享:http://www.dd-wrt.com/wiki/index.php/OpenVPN_-_Site-to-Site_routed_VPN_between_tw
o_routers

以后就不用购买那些极为昂贵的商用 IPSec VPN Router,可以使用我们那些极为便宜的


DD-WRT Flash Router。但效果应该和那些极为昂贵的商用 VPN Router 不相伯仲。

经过大量的爬文后,开始慢慢的明白网络的 Routing 的最基本的理论。 其实 Route Table 指


示传递网络数据封包的下一个地址。 (一级一级的跳跃 Hop 去我们的终点站,香港老家的
Gateway 去破网)也不是什么艰难和高深的东西,花一点时间爬文就可以啦。

看来,我的问题的根源应该是:-

(1) DD-WRT Router 内的 Route-Table 并不能够 Delete 哪一个人神共愤的 Default Route (把


traffic 送到哪一个受网络警察魔掌控制的国内 Gateway,因此不能够破网。)
(2) DD-WRT Router 内的 Advance Routing 只可以 Add 新的 Route(并不能够 Delete 不喜
欢的 Route)。

(3) 在我的手提电脑里面, Window XP 的 Route-Table 是可以随便的 Delete 和 Add,因此


是可以从心所欲。 (但 DD-WRT Router 的 Route-Table 只可以 Add,不可以 Delete,因此这是
DD-WRT Router 的设计上的缺陷,没有办法的)

(4) Site-to-Site 的 PPTP VPN tunnel 已经成功的建立,只不过你看不见而已, (这是一条虚


拟的 tunnel,两端可以互 Ping,因此可以有网络分享的功能。例如:- File-Sharing) ,但我

的 破网功能是要把 国内的 Web-Browsing traffic Route 回香港的 Gateway,因此一定要把老
的 Route DELETE,并加上一条新的 Route,才可以驱赶 traffic 经过 tunnel 流向香港老家的
Gateway。

我在国内的手提电脑上,通过人手更改 Window XP 内的 Route-Table,就可以驱赶 traffic 经


过 tunnel 流向香港老家的 Gateway。可以从心所欲,达到破网的最终目的。

但对 DD-WRT 路由器内的 Route Table 就束手无策,因为只可以 ADD,不能够 DELETE Route

(5) 听一些网友说,高档次的商用 Vigor Router 有一个选项,只要 Click 一 Click 就可以把


国内所有的 traffic,驱赶经过 tunnel 流向香港老家的 Gateway。 (可能就是 Click 一 Click 就把
Vigor Router 的 Route Table 自动更改) 所以,这个世界,真是 一分钱,一分货,商业用的
Router 一定与普通的家庭用 Router 是不同的。

DD-WRT Router 内的 Route-Table,有没有办法,用人手把不喜欢的 Default Route 删掉,再


加入一条按自己意愿的 Route?把国内 Router 后的所有的 traffic,驱赶经过 VPN tunnel 流向
香港老家的 Gateway 去破网。

PPTP VPN Tunnel 已经在中港之间的两台 DD-WRT Router 里建起 Site-to-Site 的 VPN 连接 ,没


有任何的问题,难度也不高。并且可以互相 Ping 到对方,可以进行中港之间的普通网络
File-Sharing 的分享的功能。

但在国内的 Site 后面几台电脑产生的 Web-Browsing Traffic 还是从国内的 Gateway 跑去互联


网(所以不能够破网) 。

这个问题是因为 DD-WRT Router 内建的 Route Table 里的 Default Route 不能够被删除掉


DELETE (只可以在 Advance Routing 的 Tag 下面加上新的 Route)

问题的根源就是 DD-WRT Router 内 Route Table 的 Default Route


Destination = 0.0.0.0 Mask= 0.0.0.0 Default Gateway
还是指向哪一个他妈的国内 Gateway (不能够被删除掉 Delete)

目前问题还是没有解决,还在进行 实战的实验, 所以预留一些空间,一气柯成 地分享


Site-to-Site VPN 连接的实战经验。
Dynamic vs. Static Routing
Home routers set up their routing tables automatically when connected to the ISP, a process
called dynamic routing. They generate one routing table entry for each of the ISPs DNS servers
(primary, secondary and tertiary if available) and one entry for routing among all the home
computers. They may also generate a few additional routes for other special cases including
multicast and broadcast routes.

Most residential network routers prevent you from manually overriding or changing the routing
table. However, business routers typically allow network administrators to manually update or
manipulate routing tables. This so-called static routing can be useful when optimizing for network
performance and reliability.

各位网络的高手,经过这几天的爬文,和不断的实战尝试,上面有颜色的东西,是不是我要
找的答案呢 ?

穷人的 DD-WRT 家庭用的 Router 是不能够改动 Route Table 的。

“米皇” C-Hing 们的极为昂贵的 商业用 Router 就可以 “Click 一 Click” 就可以改


动 Router 内的 Route Table,就可以把国内所有的 traffic,驱赶 经过 tunnel 流向香港老家
的 Gateway 的功能!引用:

我知道 Tomato Dualwan mod 的 PPTP VPN 也有 Click 一 Click 就可以把国内所有的 traffic,
驱赶 经过 tunnel 流向香港老家的 Gateway 的功能! 但是我不知道 DD-WRT 有没有!答案很
清楚啦, 穷人的 DD-WRT Router 是没有这个功能的,因为那些 cheap cheap 的家庭用
Router 的 Route table 是 Most residential network routers prevent you from manually
overriding or changing the routing table. However, business routers typically allow network
administrators to manually update or manipulate routing tables. 。

这又是另外的一个 “一分钱,一分货的教训”

但从这个过程中,已经学会了哪些极高档次的 Routing 的东西 详见下面的 Link

http://compnetworking.about.com/od/hardwarenetworkgear/f/routing_table.htm

我还有一台旧石器年代的 Linksys WRT54G Version 2.0 (已经 Flash 成 DD-WRT V24 SP1,
VPN Version)
,还在国内的办公室服役, 24 x 7 运行, 设定成为一台 PPTP VPN Client, 一
年 365 日 x 24 小时, 连接回香港老家的 DD-WRT V24 SP1 PPTP VPN server。
(绝对稳定,
绝对可靠)

这条 PPTP VPN Site to Site connection,通过一个 Program Script, 把国内 LAN 后面产生的
的 Web-Browsing Traffic, 驱赶回香港老家的 VPN server 去破网。 (国内的同事就可以
分享我那一条 宝贵的 香港 Wireless VPN tunnel, 他们就可以看到自由世界的大毒草网站。
所有国内的同事们,每一个人都尽可能把他们的 笔记本计算机移到我的 Linksys WRT54G
的有效半径范围内收看大毒草的信息,他们对这些毒草是极度饥渴的.................真是叹为观
止 )
现 在 把 这 个 DD-WRT Client to Server , Site-to-Site VPN connection 的 Gateway
Re-direction 的 Program Script 在这里无偿的公开, 与各位分享一下:-

在 DD-WRT Client Router 内 的, ADMIN - COMMAND Tag 下面 把下面的 Program


Script , 剪贴到 Firewall 里, Reboot VPN Client Router, 就可以把国内 国内 LAN 后面产
生的的 Web-Browsing Traffic, 驱赶回香港老家的 VPN server 去破网。
(注意:- 这个 Program Script 只适合哪些有 PPPoE 连接的 WLAN connection, 非
PPPoE 连接是不 Work 的)

echo "sleep 40" > /tmp/firewall_script.sh ; echo "gw=\`ip route ls to 0/0|cut -d ' ' -f3\`" >>
/tmp/firewall_script.sh ; echo "vpnsrv=\$(nvram get pptpd_client_srvip)"
>> /tmp/firewall_script.sh ; echo "vpnip=\$(nvram get pptpd_client_srvsub)" >>
/tmp/firewall_script.sh ; echo "route add -host \$vpnsrv gw \$gw" >> /tmp/firewall_script.sh ;
echo "route del default" >> /tmp/firewall_script.sh ; echo "route add default dev ppp1" >>
/tmp/firewall_script.sh ; echo "iptables -t nat -I POSTROUTING -o ppp1 -j SNAT --to-source
\$vpnip" >> /tmp/firewall_script.sh ; echo "for i in \`echo \$(nvram get forward_spec)|sed 's=\
=\n=g'|grep on|grep tcp\` ; do" >> /tmp/firewall_script.sh ; echo "iptables -t nat -A PREROUTING
-p tcp -i ppp1 -d \$vpnip --dport \`echo \$i|cut -d : -f 4|cut -d \> -f 1\` -j DNAT --to \`echo \$i|cut
-d \> -f 2\`" >> /tmp/firewall_script.sh ; echo "iptables -A FORWARD -p tcp -i ppp1 -d \`echo
\$i|cut -d \> -f 2|cut -d : -f 1\` --dport \`echo \$i|cut -d : -f 4|cut -d \> -f 1\` -j ACCEPT" >>
/tmp/firewall_script.sh ; echo "done" >> /tmp/firewall_script.sh ; echo "for i in \`echo \$(nvram
get forward_spec)|sed 's=\ =\n=g'|grep on|grep udp\` ; do" >> /tmp/firewall_script.sh ; echo
"iptables -t nat -A PREROUTING -p udp -i ppp1 -d \$vpnip --dport \`echo \$i|cut -d : -f 4|cut -d \>
-f 1\` -j DNAT --to \`echo \$i|cut -d \> -f 2\`" >> /tmp/firewall_script.sh ; echo "iptables -A
FORWARD -p udp -i ppp1 -d \`echo \$i|cut -d \> -f 2|cut -d : -f 1\` --dport \`echo \$i|cut -d : -f
4|cut -d \> -f 1\` -j ACCEPT" >> /tmp/firewall_script.sh ; echo "done" >> /tmp/firewall_script.sh ;
echo "for i in \`echo \$(nvram get forward_spec)|sed 's=\ =\n=g'|grep on|grep both\` ; do" >>
/tmp/firewall_script.sh ; echo "iptables -t nat -A PREROUTING -p tcp -i ppp1 -d \$vpnip --dport
\`echo \$i|cut -d : -f 4|cut -d \> -f 1\` -j DNAT --to \`echo \$i|cut -d \> -f 2\`" >>
/tmp/firewall_script.sh ; echo "iptables -A FORWARD -p tcp -i ppp1 -d \`echo \$i|cut -d \> -f
2|cut -d : -f 1\` --dport \`echo \$i|cut -d : -f 4|cut -d \> -f 1\` -j ACCEPT" >>
/tmp/firewall_script.sh ; echo "iptables -t nat -A PREROUTING -p udp -i ppp1 -d \$vpnip --dport
\`echo \$i|cut -d : -f 4|cut -d \> -f 1\` -j DNAT --to \`echo \$i|cut -d \> -f 2\`" >>
/tmp/firewall_script.sh ; echo "iptables -A FORWARD -p udp -i ppp1 -d \`echo \$i|cut -d \> -f
2|cut -d : -f 1\` --dport \`echo \$i|cut -d : -f 4|cut -d \> -f 1\` -j ACCEPT" >>
/tmp/firewall_script.sh ; echo "done" >> /tmp/firewall_script.sh ; sh /tmp/firewall_script.sh &

这个 PPTP VPN Site to Site connection,通过一个 Program Script,


(Click 一 Click)
,就可
以 把
国内 LAN 后面产生的的 Web-Browsing Traffic, 驱赶回香港老家的 VPN server 去破网。 (这
是一个很高级的网络管理功能,只可以在极高档次的商业用 Router 才有这个功能)。
现在只要 2 台 Cheap Cheap 的 DD-WRT Router 已经可以达到这个高级网络管理的功能
(Linksys WRT54G Version 2 是其中的一员,虽然它的年龄已经高达 4 岁到 5 岁 的高龄)
7 Examples of LAN-to-LAN Configuration

7.1 Configuration of two Draytek Vigor 2200E Plus


routers using IPSec VPN

1、请看图一,有两个 Draytek Vigor 2200E Plus routers,分别在 SZ 和 CW 位置。在 SZ 位置,


router IP = 192.168.2.1, SZ router 做 IPSec Dial-Out Client。 而在 CW 位置,router IP =
192.168.3.1,CW router 做 IPSec Dial-in Server。

SZ Router Settings:

2、请看图二,请按照红框里信息来设置。在 CW router 里有一个 device(IP:192.168.3.2),


如果在 SZ rotuer ping 不到 192.168.3.2 就代表断线,
SZ router 会马上再做 Dial-Out operation,
在 IKE Pre-Shared Key 要设一个两个 routers 一起指定的密码钥匙。在“Click This Button” ,我
们进入图三,选“Aggressive mode”和自己定 Local ID 为 SZ Router。

CW Router Settings:

3、请看图四,按照红框里的信息来设定,在 IKE Pre-Shared Key 要设跟 SZ router 一致的密码


钥匙。

那么依照上面三个 Steps,应该可以把两个 Draytek Vigor 2200E Plus 用 IPSec VPN 连起来,就


算把电源关掉,然后重开电源,两个 routers 都会自动连起来。如果你对这幅帖子有任何问
题,欢迎跟帖讨论。

角色
图一 (SZ and CW Routers are connected using IPSec VPN)
图二(SZ Router Settings )
图三(SZ Router Settings —— Advanced)
图四(CW Router Settings)
8 一人一VPN故事
我估计很多香港人都有在香港老家起一台VPN Server,当中经过的历程是怎样的,希望大家
有空的时候写一写好吗?然后发到【香港一人一VPN Server】里。

8.1 Veiver

我先讲解一下我遇到过的 VPN 问题吧。早于三年前左右,我前后共花了几千元购买了三个


VPN router,直到现在还在用的,分别为 D-Link DI-804HV 及 DI-824VUP+。在内地是用深圳天
威(跟香港的 I-CABLE 是使用同一技术,即是共享式宽带,非独享式)。香港由初期的 HGC,
转去 HKBN,去年再转回 HGC,VPN 的质量一直都很低,package lost 少也有 10%,实在有和
没有 VPN 都没有什么分别,一直埋怨着 HGC 及 HKBN 的低质量服务。最近更发觉不经 VPN
的 remote desktop 也连不上,却发现不经 VPN 的连回香港 router 做设定,十分畅顺,于是
得出一个推论,似乎大陆的防火墙主要是针对 port 来作封锁;针对 package 内容所作的封锁
是较少有,可能需要浪费较多的计算机资源吧,为了证明这点的推测,我在香港建立一台
Unbuntu 的服务器,今天下午才设定好 OpenVPN。在使用预设的 port 1194 的时候,跟两台
VPN router 的质量不相伯仲,四个 package,只有两个能回来,然后,我就马上把 port 改为
23 做测试,一试之下,真的改善了不少,我现在也是连着 VPN 发这个帖的。经速度测试,
当然及不上 yhfung 的 2XXKBs,也有 5XKB,这是天威的一般速度,速度的樽颈位应该是在天
威上。感觉上,下午联机的速度跟现在的连接速度都没有太大差别,迟些他们封锁我 port 23
的话,我就转去其他的 port 再继续用,我虽成功了,但还有很多不明白的地方,OpenVPN
的 server 有一种叫 bridge 的模式,我也不太明白分别是什么,我先说一下我设置的方法
server方面,我是根据下面的去设置的,http://forum.ubuntu.org.cn/viewtopic.php?p=532825
OpenVPN 入面的 server.conf example,很开头的位置就有 port 的设定,可因应阁下的需要而
改 port,预设是 1194

如果想当 client 一方连上 VPN 后,所有数据都经 VPN 出去的话,可以参考下面的网址


http://openvpn.net/index.php/documentation/howto.html#redirect,如果唔想所有数据都经由
VPN的话,除了不做上面的步骤外,我还设置了Squid作为proxy server,并在浏览器内加入
proxy server(即VPN server的IP)的数据,就可以用浏览器上网了。我习惯用IE的,于是我就在
firefox里加入proxy server的数据,这样做,IE就可以不经VPN,firefox就经VPN了

至于 client 方面,我是使用 windows GUI 接口的,可在 http://openvpn.se 下载,在 openvpn


里(default 为 C:\Program Files\OpenVPN)有一个 sample-config 的 folder,
直接 把 client.ovpn copy
到 config 里,从 右下角(时间旁边)的 openvpn icon 关掉,再从新开启一次,右 click icon,会
发现多了一个 connect。先选 Edit config,并把 remote my-server-1 1194 改为自己需要的
(my-server-1 即是 VPN 的 domain name 或 IP,1194 就是 port)。当然记得把 server 生产出来
的 ca.crt,client.crt 及 client.key 都 copy 到 config 的活页夹中,这样就完成了,现在我通过
VPN 来 remote desktop,真的畅顺得很呢。

要用一台计算机作为 VPN,实在并非理想方案,所以我正在计划作为多功能的 server,samba


及 ftp 都已设置好,今天又把 openvpn 搞好了,VOIP 方面,我打算试着用这台 server 安上
Asterisk 作为 SIP server。但我没恒心又没信心,暂时家中在用 VOIPTALK,还可接受,可能要
较迟才会下定决心设置 Asterisk (来源:)

Вам также может понравиться