New Openvpn Router

重新买了一个wrt54gs,因为buffalo的wbr2-g54s坏了,本来我以为是电源坏掉,拿去万用表测了下电压和电流都是很正常的数值,只能怀疑是板子烧了,未作深究,拆开看了下,也没有看到哪个地方烧糊了。考虑到DDWRT很大程度上是基于wrt54g系列设计的,使用Openvpn也不会有问题。

如果你有一枚3G上网卡,又有一只3G路由器,恰好你还有一张若干年前的中国移不动WAP包月卡,而且你还有一个运行在公网上,端口在443的Openvpn服务器,嗯,你知道我要做什么。

将3G上网卡插上3G路由器,使用3G路由器拨CMWAP,然后将3G路由器的LAN口插上网线,另一头插进wrt54gs的internet口,不好意思它没有WAN口,然后在wrt54gs上拨Openvpn,相当不幸的是,DDWRT固件中的Openvpn没有代理服务器的设置,所以我们需要自定义配置文件,但是呢,并不是说DDWRTOpenvpnclient的设置界面是毫无用处的,你需要在那个界面中把ca.crt,client.crt和client.key的内容输入进去,根据官方文档所述,可以将自定义的配置加入startup-scripts,不过经过我的测试,从来没有成功过,但通过telnet终端界面,是可以运行的,很显然,下面这个配置,看得懂的自然就看得懂,看不懂的解释了也看不懂,所以我就不解释太多,第一句解释下,DDWRT每次重启会丢失时间,因为大家知道嘛,网络设备的时间是通过ntp获取的,不正确的系统时间会导致证书验证错误而致无法正确连接,也就是我之前提及的数字证书问题。

date 041220302011
killall openvpn
echo “client
dev tun
proto tcp
remote 202.202.0.188 443
http-proxy 10.0.0.172 80
http-proxy-timeout 30
http-proxy-retry
http-proxy-option AGENT “NokiaN90-1/3.0545.5.1 Series60/2.8 Profile/MIDP-2.0 Configuration/CLDC-1.1″
resolv-retry infinite
nobind
persist-key
persist-tun
ca /tmp/openvpncl/ca.crt
cert /tmp/openvpncl/client.crt
key /tmp/openvpncl/client.key
ns-cert-type server
comp-lzo
verb 3
redirect-gateway def1″ > /tmp/openvpncl/openvpn.conf
killall openvpn
openvpn –config /tmp/openvpncl/openvpn.conf –route-up /tmp/openvpncl/route-up.sh –down /tmp/openvpncl/route-down.sh &

连接的速度一般,不是很快,看看网页聊聊扣扣,看个电影要先缓冲一个小时,但这里是北京市二环,附近就是大唐电信,可见中国移不动的TD-SCDMA实在是不过如此。