恩山无线论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
小博无线
查看: 44293|回复: 90

[原创修改]TT+openvirtual**,使用修改autoddvirtual**方案实现自动fan wall

  [复制链接]
发表于 2011-2-21 01:14 | 显示全部楼层 |阅读模式
目前为止,autoddvirtual**方案只有发布了dd的版本,但细看代码,发现pptp也是有tt选项的,而且原作者也曾说过希望有人给出tt的方案。这几天研究以后得到以下内容,使得autoddvirtual**可以在tt下支持openvirtual**了。拿出来共享。这篇文档修改到目前为止,已经基本完毕了,而且好像不太适合新手。慢慢看吧。

前期准备
1、路由器刷好TT固件,推荐使用tomatovirtual**-1.27virtual**3.6(如果你用其他版本的tt+virtual**,比如Tomato Firmware v1.28.9054 MIPSR2-beta K26 USB virtual**3.6,那么有些差异,你需要小心看帖,小心处理),及外网连接。
2、注册一个virtual**,下面以virtual**cup为例,你要根据实情修改。

使用openvirtual**连接的方法:

一、设置好wan口能够连接外网,并配置openvirtual**如下图,其他默认。
basic.png
advanced.png
openvirtual**配置内容如下:

  1. script-security 2
  2. up '/jffs/openvirtual**/virtual**up.sh openvirtual**'
  3. down '/jffs/openvirtual**/virtual**down.sh openvirtual**'
  4. client
  5. resolv-retry infinite
  6. nobind
  7. persist-key
  8. persist-tun
  9. ca /jffs/openvirtual**/ca.crt
  10. auth-user-pass /jffs/openvirtual**/password.txt
  11. ns-cert-type server
  12. comp-lzo
  13. verb 3
  14. reneg-sec 0
  15. auth-nocache
  16. log-append /tmp/openvirtual**.log
复制代码
记得点保存。

二、准备好jffs如图:
jffs2.png
记得点保存。

三、创建password应答及ca证书文件
---注意,如果你不是初学者,这步的细节可以忽略,你只要创建好这两个文件就可以了。

ssh或者telnet进入tt(别问我用户名和密码是什么)
C:\Users\Dosar>telnet 192.168.1.1
WRT54GS login: root
Password:


Tomato v1.27virtual**3.6


BusyBox v1.14.4 (2010-01-31 21:34:54 CST) built-in shell (ash)
Enter 'help' for a list of built-in commands.
接下来输入以下指令:
# mkdir /jffs/openvirtual**
# cd /jffs/openvirtual**
# vi password.txt
按字母i后可以进入简易文本编辑模式,复制粘贴以下内容(你可以一行一行复制粘贴),然后依次按Esc键>>英文冒号>>wq
回车后便可以保存了,好了,现在password应答文件/jffs/openvirtual**/password.txt创建好了。
内容范例如下:

  1. username
  2. password
复制代码
用同样的方法创建virtual**cup.com的ca证书/jffs/openvirtual**/ca.crt。注意,该文件对virtual**cup.com来说是通用(免费、付费用户)的,如果你不是这个服务商,那要根据自己的实际情况而定。

  1. -----BEGIN CERTIFICATE-----
  2. MIIDbzCCAtigAwIBAgIJANshgRedAOZYMA0GCSqGSIb3DQEBBQUAMIGCMQswCQYD
  3. VQQGEwJDTjESMBAGA1UECBMJR1VBTkdET05HMREwDwYDVQQHEwhTSEVOWkhFTjET
  4. MBEGA1UEChMKVlBOQ1VQLkNPTTEWMBQGA1UEAxMNVlBOQ1VQLkNPTSBDQTEfMB0G
  5. CSqGSIb3DQEJARYQYWRtaW5AdnBuY3VwLmNvbTAeFw0xMTAxMjMxMzU5MTRaFw0z
  6. MTAxMTgxMzU5MTRaMIGCMQswCQYDVQQGEwJDTjESMBAGA1UECBMJR1VBTkdET05H
  7. MREwDwYDVQQHEwhTSEVOWkhFTjETMBEGA1UEChMKVlBOQ1VQLkNPTTEWMBQGA1UE
  8. AxMNVlBOQ1VQLkNPTSBDQTEfMB0GCSqGSIb3DQEJARYQYWRtaW5AdnBuY3VwLmNv
  9. bTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAufmKRSwpqv6Ple0lQaMXpJAG
  10. 8nQ6P1h4G9aO90qp7RLDCENYCV8eYEuqVuFSuZECugGusz28W6Z0Gl6Z/TdRp7ya
  11. rCmQuZhJ+8IS1d8HWMzWQRsEoK02uPXqEFH2kkRpLg/LrtiUSw6TvpbJfSXCWBzO
  12. VoFdGQQu87txf/F+iJMCAwEAAaOB6jCB5zAdBgNVHQ4EFgQUO1oLcbFexI516Cxm
  13. yNYzil0mCTswgbcGA1UdIwSBrzCBrIAUO1oLcbFexI516CxmyNYzil0mCTuhgYik
  14. gYUwgYIxCzAJBgNVBAYTAkNOMRIwEAYDVQQIEwlHVUFOR0RPTkcxETAPBgNVBAcT
  15. CFNIRU5aSEVOMRMwEQYDVQQKEwpWUE5DVVAuQ09NMRYwFAYDVQQDEw1WUE5DVVAu
  16. Q09NIENBMR8wHQYJKoZIhvcNAQkBFhBhZG1pbkB2cG5jdXAuY29tggkA2yGBF50A
  17. 5lgwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOBgQBRBWOgs1fBpgENABcg
  18. NXL0bhUcZ3/AL0jxN5cKFvUFtOtTiDWfTQg6RuqH/37kbK7Ld5bkT9VzdlsMbgsO
  19. CcW6yKQDZug1zuFBMLy4QnBiU+6i3W8yIuLHStEHVPOi2VyXB4aHgKROfmPvlwXm
  20. R1cn0HIKFp0pXJhk4gobd7WYcg==
  21. -----END CERTIFICATE-----
复制代码
好了,现在两个自定义文件创建好了。分别是:
/jffs/openvirtual**/password.txt
/jffs/openvirtual**/ca.crt

四、如何放置脚本到jffs
切换到/jffs/openvirtual**目录,下载两个脚本:
# cd /jffs/openvirtual**
# for i in virtual**up virtual**down; do wget http://autoddvirtual**.googlecode.com/svn/trunk/$i.sh;done;
# chmod a+x *.sh
这时记得ls -l /jffs/openvirtual**/看一下是否档案确实下载下来了,并且都是可执行的。

五、修改virtual**up.sh、virtual**down.sh两个文件
还是用vi就可以实现修改virtual**up.sh、virtual**down.sh两个文件,方法不再赘述了。
在这两个文件中找到:

  1.                 "openvirtual**")
  2.                         OPENvirtual**SRV=$(nvram get openvirtual**cl_remoteip)
  3.                         OPENvirtual**DEV='tun0'
复制代码
把'tun0'改为$(ifconfig |grep tun | grep -Eo "tun([0-9.]+)" | cut -d: -f2)。
修改完以后应该是这样的:

  1.                 "openvirtual**")
  2.                         OPENvirtual**SRV=$(nvram get openvirtual**cl_remoteip)
  3.                         OPENvirtual**DEV=$(ifconfig |grep tun | grep -Eo "tun([0-9.]+)" | cut -d: -f2)
复制代码

如果你用的不是这个版本的tt,比如Tomato Firmware v1.28.9054 MIPSR2-beta K26 USB virtual**3.6,那么你需要做进一步判断,观察一下wan_gateway_get
root@WRT610N_V2:/tmp/home/root# nvram show |grep wan_gateway
wan_gateway=0.0.0.0
wan_gateway_get=119.xxx.xxx.1
发现wan_gateway为0.0.0.0,那么你需要修改这两个文件里所有wan_gateway为wan_gateway_get,最后记得保存。

六、重开机之后检查 autoddvirtual**.log
root@DD-WRT:/tmp# tail -f /tmp/autoddvirtual**.log
[INFO#357] 01/Jan/1970:00:00:17 log starts
[INFO#357] 01/Jan/1970:00:00:17 modifying /tmp/openvirtual**cl/route-up.sh
[INFO#357] 01/Jan/1970:00:00:17 /tmp/openvirtual**cl/route-up.sh not exists, sleep 10sec.
[INFO#357] 01/Jan/1970:00:00:28 /tmp/openvirtual**cl/route-up.sh not exists, sleep 10sec.
[INFO#357] 28/Jul/2010:03:10:48 /tmp/openvirtual**cl/route-up.sh modified
[INFO#357] 28/Jul/2010:03:10:48 modifying /tmp/openvirtual**cl/route-down.sh
[INFO#357] 28/Jul/2010:03:10:48 /tmp/openvirtual**cl/route-down.sh modified
[INFO#357] 28/Jul/2010:03:10:48 ALL DONE. Let's wait for virtual** being connected.
[INFO#687] 28/Jul/2010:03:11:14 virtual**up.sh started
[INFO#687] 28/Jul/2010:03:11:37 virtual**up.sh ended

至此,你应该可以自动fan wall了,如果还不放心,还可以用:
# route
检查一下你的路由表,正常的话你会看到上百条路由表记录。

……
183.92.0.0      119.122.168.1   255.252.0.0     UG    0      0        0 ppp0
117.124.0.0     119.122.168.1   255.252.0.0     UG    0      0        0 ppp0
175.152.0.0     119.122.168.1   255.252.0.0     UG    0      0        0 ppp0
121.60.0.0      119.122.168.1   255.252.0.0     UG    0      0        0 ppp0
175.188.0.0     119.122.168.1   255.252.0.0     UG    0      0        0 ppp0
117.76.0.0      119.122.168.1   255.252.0.0     UG    0      0        0 ppp0
121.40.0.0      119.122.168.1   255.252.0.0     UG    0      0        0 ppp0
112.128.0.0     119.122.168.1   255.252.0.0     UG    0      0        0 ppp0
221.192.0.0     119.122.168.1   255.252.0.0     UG    0      0        0 ppp0
124.220.0.0     119.122.168.1   255.252.0.0     UG    0      0        0 ppp0
27.224.0.0      119.122.168.1   255.252.0.0     UG    0      0        0 ppp0
27.148.0.0      119.122.168.1   255.252.0.0     UG    0      0        0 ppp0
116.244.0.0     119.122.168.1   255.252.0.0     UG    0      0        0 ppp0
124.172.0.0     119.122.168.1   255.252.0.0     UG    0      0        0 ppp0
112.192.0.0     119.122.168.1   255.252.0.0     UG    0      0        0 ppp0
116.216.0.0     119.122.168.1   255.252.0.0     UG    0      0        0 ppp0
116.208.0.0     119.122.168.1   255.252.0.0     UG    0      0        0 ppp0
221.172.0.0     119.122.168.1   255.252.0.0     UG    0      0        0 ppp0
116.60.0.0      119.122.168.1   255.252.0.0     UG    0      0        0 ppp0
116.52.0.0      119.122.168.1   255.252.0.0     UG    0      0        0 ppp0
120.76.0.0      119.122.168.1   255.252.0.0     UG    0      0        0 ppp0
58.116.0.0      119.122.168.1   255.252.0.0     UG    0      0        0 ppp0
116.8.0.0       119.122.168.1   255.252.0.0     UG    0      0        0 ppp0
116.4.0.0       119.122.168.1   255.252.0.0     UG    0      0        0 ppp0
……
default         192.168.8.5     128.0.0.0       UG    0      0        0 tun11
128.0.0.0       192.168.8.5     128.0.0.0       UG    0      0        0 tun11
default         192.168.8.5     0.0.0.0         UG    0      0        0 tun11

注意,此时,访问国内是直连的,访问国外是走virtual**的。当然了,如果有些国外网站是你经常连上,而你很肯定这网站不需要fan wall,并且直连效果会更好的。像这种情况就需要自定义直连。可以参阅这里http://code.google.com/p/autoddvirtual**/wiki/ExRoute

要是你在autoddvirtual**连接正常之前就已经访问过被墙的网站,那么你的dns解析可能已经被污染了,所以在autoddvirtual**连接不正确之前不要这样做。否则你要在Windows命令提示符下清一下dns解析缓存(如果你用其他操作系统版本,可能需要查询一下说明文档,以获知该指令的用法):

C:\Users>ipconfig /flushdns

Windows IP 配置

已成功刷新 DNS 解析缓存。

如果还不能访问,那么可以试试在tt里设置 Dnsmasq Custom configuration。位置为tt固件>>Advanced>>DHCP / DNS Server (LAN)>>Dnsmasq Custom configuration。填写以下内容后保存,指定相应访问网站必须走用google dns解析,重启一下路由再试。
Dnsmasq Custom configuration 内容范例:

  1. address=/www.facebook.com/66.220.149.25
  2. address=/www.youtube.com/72.14.213.190
  3. address=/twitter.com/128.242.240.52
  4. address=/www.twitter.com/128.242.245.84
  5. address=/api.twitter.com/128.242.240.29
  6. address=/encrypted.google.com/72.14.203.100
  7. address=/twitter.com/128.242.245.212
  8. address=/mail.google.com/74.125.153.17
  9. address=/webcache.googleusercontent.com/72.14.213.132
  10. server=/google.com/8.8.8.8
  11. server=/googleusercontent.com/8.8.8.8
  12. server=/facebook.com/8.8.8.8
  13. server=/fbcdn.net/8.8.8.8
  14. server=/twitter.com/8.8.8.8
  15. server=/youtube.com/8.8.8.8
  16. server=/ytimg.com/8.8.8.8
  17. server=/imageshack.us/8.8.8.8
  18. server=/twitter.com/8.8.8.8
复制代码
我的恩山、我的无线 The best wifi forum is right here.
发表于 2011-2-21 16:07 | 显示全部楼层
我是新手,看不懂,不过说的很细也很好,纯帮顶了!
我的恩山、我的无线 The best wifi forum is right here.
发表于 2011-2-21 17:14 | 显示全部楼层
有没有PPTP使用方法?
我的恩山、我的无线 The best wifi forum is right here.
发表于 2011-2-21 18:54 | 显示全部楼层
本帖最后由 coffilk 于 2011-2-21 18:58 编辑
求教lz以下问题
我启动virtual**后 route -n没有类似tun11的
是不是由于virtual**cup.com我本身也是要翻墙才能访问的原因,我用google DNS 也就是8.8.8.8 能ping通该地址,但无法访问

刚才又重新修改了下路由的dns设置,解决了这个问题
感谢lz的技术贴
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2011-2-21 21:08 | 显示全部楼层
本帖最后由 dosar 于 2011-2-21 22:10 编辑
有没有PPTP使用方法?
devil 发表于 2011-2-21 17:14

pptp设置应该简单,设置好virtual**以后,auoddvirtual**的启动、终止命令应该为:
# /jffs/openvirtual**/virtual**up.sh pptp
# /jffs/openvirtual**/virtual**down.sh pptp
ps,路由器名称请保持默认即tomato,否则可能失败。
我的恩山、我的无线 The best wifi forum is right here.
发表于 2011-2-21 22:06 | 显示全部楼层
mark~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
我的恩山、我的无线 The best wifi forum is right here.
发表于 2011-2-22 01:33 | 显示全部楼层
[INFO#1413] 22/Feb/2011:01:27:10 add default gw 192.168.8.5
[INFO#1413] 22/Feb/2011:01:27:10 adding the static routes, this may take a while.
[INFO#1413] 22/Feb/2011:01:27:27 preparing the exceptional routes
[INFO#1413] 22/Feb/2011:01:27:27 modifying the exceptional routes
[INFO#1413] 22/Feb/2011:01:27:27 fetching exceptional routes for flickr
[INFO#1413] 22/Feb/2011:01:27:27 missing /tmp/exroute.d/flickr, wget it now.
[INFO#1413] 22/Feb/2011:01:28:12 /tmp/exroute.d/flickr not found, skip.
[INFO#1413] 22/Feb/2011:01:28:12 modifying custom exceptional routes if available
[INFO#1413] 22/Feb/2011:01:28:13 virtual**up.sh ended
自动添加了192.168.8.5的网关 可是ping不通....
我的恩山、我的无线 The best wifi forum is right here.
发表于 2011-2-22 20:12 | 显示全部楼层
强列顶起来,已经收藏了
我的恩山、我的无线 The best wifi forum is right here.
发表于 2011-2-22 20:16 | 显示全部楼层
收 藏 了, 备 用!
我的恩山、我的无线 The best wifi forum is right here.
发表于 2011-2-22 22:01 | 显示全部楼层
www.virtual**cup.com 打不开了
我的恩山、我的无线 The best wifi forum is right here.
发表于 2011-2-22 22:54 | 显示全部楼层
本帖最后由 猢狲 于 2011-2-23 09:24 编辑

www.virtual**cup.net可行。
貌似没成功,
log是这样的
[INFO#1332] 23/Feb/2011:09:20:17 virtual**up.sh started
[INFO#1332] 23/Feb/2011:09:20:17 make  gw 125.87.84.8
[INFO#1332] 23/Feb/2011:09:20:17 delete default gw 125.87.84.8
[INFO#1332] 23/Feb/2011:09:20:17 add default gw 192.168.8.5
[INFO#1332] 23/Feb/2011:09:20:17 adding the static routes, this may take a while.
[INFO#1332] 23/Feb/2011:09:20:26 preparing the exceptional routes
[INFO#1332] 23/Feb/2011:09:20:26 exceptional routes disabled.
[INFO#1332] 23/Feb/2011:09:20:26 exceptional routes features detail:  http://goo.gl/fYfJ
[INFO#1332] 23/Feb/2011:09:20:26 virtual**up.sh ended
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2011-2-23 09:33 | 显示全部楼层
www.virtual**cup.net可行。
貌似没成功,
log是这样的
23/Feb/2011:09:20:17 virtual**up.sh started
23/Feb/2011:09:20:17 make  gw 125.87.84.8
23/Feb/2011:09:20:17 delete default gw 125.87.84.8
23/Feb/2011:0 ...
猢狲 发表于 2011-2-22 22:54

我改一下教程吧。
用这个命令查询:
# ifconfig |grep tun
我的恩山、我的无线 The best wifi forum is right here.
发表于 2011-2-23 09:41 | 显示全部楼层
[root@RT-N16 root]$ ifconfig |grep tun
tun11     Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2011-2-23 09:44 | 显示全部楼层
[root@RT-N16 root]$ ifconfig |grep tun
tun11     Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
猢狲 发表于 2011-2-23 09:41

没错,一般tomato取得的是tun11。
我的恩山、我的无线 The best wifi forum is right here.
发表于 2011-2-23 09:46 | 显示全部楼层
试了这2个网址 都上不去
www.youtube.com
www.virtual**cup.com
我的恩山、我的无线 The best wifi forum is right here.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|Archiver|恩山无线论坛 ( 苏ICP备05084872号-1 )

GMT+8, 2019-2-21 01:43

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表