OpenVPN连接问题排查

OpenVPN相对于PPTP的一大优势,就是有完整的log,可以根据客户端的log来发现无法连接的问题所在。以下为本人的VPN用户经常遇到的问题,希望对其他搭建OpenVPN服务的人有所帮助。

注意:本日志主要用于本人的OpenVPN服务(https://yegle.net/openvpn/)的用户用于自行排查问题用,转载请保留此信息,谢谢:-)

各个平台下OpenVPN连接log所在的位置:

Windows下:如果使用OpenVPN GUI进行连接,默认的log会存放在OpenVPN安装目录下log文件夹。
Linux下:在OpenVPN配置文件中添加一行:log-append /path/to/logfile,连接后/path/to/logfile即为连接log。
Mac OS下:tunnelblick里,Details菜单(感谢@tianyi提供信息:-))
Android下:tunneldroid里,按menu查看log。

OpenVPN的log文件为普通文本文件,可以用各种文本编辑器,例如记事本、写字板、VIM等工具打开。一般情况下为了方便查看问题所在,建议在OpenVPN的配置文件中添加verb 5,可以在log里输出更多有效信息。

正常连接时,log的最后一行是:

Fri Mar 5 09:58:04 2010 Initialization Sequence Completed

这表明OpenVPN成功建立了连接并成功修改了路由表,已经可以正常使用VPN。

问题1:

Mon Mar 01 21:42:13 2010 us=78000 CreateFile failed on TAP device: \\.\Global\{3D3B7076-EC34-48DE-82A4-B34956532951}.tap
Mon Mar 01 21:42:13 2010 us=78000 All TAP-Win32 adapters on this system are currently in use.
Mon Mar 01 21:42:13 2010 us=78000 Exiting

解答:这个问题仅在Windows上出现。原因未知,怀疑与防火墙软件有关。通常情况下可以通过重启系统解决。如果没有解决的话,可以到OpenVPN安装目录下bin文件夹,依次执行delalltap.bat和addtap.bat,即可解决。注意,如果使用的是Vista/Win7/Win2003Win2008这样的带UAC的Windows系统,需要用管理员权限执行这两个脚本。

问题2:

Thu Dec 03 22:46:07 2009 us=651000 C:\WINDOWS\system32\route.exe ADD 128.0.0.0 MASK 128.0.0.0 10.7.0.1
Thu Dec 03 22:46:07 2009 us=667000 ROUTE: route addition failed using CreateIpForwardEntry: 拒绝访问。 [status=5 if_index=14]
Thu Dec 03 22:46:07 2009 us=667000 Route addition via IPAPI failed [adaptive]
Thu Dec 03 22:46:07 2009 us=667000 Route addition fallback to route.exe
Thu Dec 03 22:46:07 2009 us=667000 ERROR: Windows route add command failed [adaptive]: returned error code 1

解答:这是在Vista/Win7/Win2003Win2008等系统中没有用管理员权限安装及启动OpenVPN GUI造成的,OpenVPN进程没有相应权限修改系统路由表。解决方法是重新用管理员权限安装OpenVPN,并在启动OpenVPN GUI时右键选择使用管理员权限打开。

问题3:

Mon Feb 1 18:44:52 2010 us=241882 /system/xbin/bb/route add -net 128.0.0.0 netmask 128.0.0.0 gw 10.7.0.1
Mon Feb 1 18:44:52 2010 us=244293 ERROR: Linux route add command failed: could not execute external program
Mon Feb 1 18:44:52 2010 us=244628 Initialization Sequence Completed

解答:这是Android下,Cyanogen Mod和OpenEclair两个ROM,曾经有段时间使用了错误的OpenVPN二进制文件,导致的无法调用busybox添加ip和路由。具体请参考Android上OpenVPN的设置与使用这篇日志,重新安装OpenVPN二进制文件,相应地修复busybox

问题4:

Sat Mar 06 16:31:42 2010 us=107000 There are no TAP-Win32 adapters on this system. You should be able to create a TAP-Win32 adapter by going to Start -> All Programs -> OpenVPN -> Add a new TAP-Win32 virtual ethernet adapter.

解答:这个问题在Windows上发生,原因未知。解决方案如log所述:开始->所有程序->OpenVPN->Add a new TAP-Win32 virtual ethernet adapter。如果是Vista/Win7,用管理员权限执行
(待续)


随机日志:
Processing.js

Solidot上看见的新闻,去官网看了看演示的demo,简直太震撼了!

转一个来炫一下~~下面这个可不是flash~~~



UPDATE:尝试了一下想把这个DEMO给引用过来,发现不行……还是给出原文链接吧:http://ejohn.org/apps/processing.js/examples/basic/clock.html


随机日志:
通过googleearth-package生成Google Earth的deb安装包

今天同学聊天提到Google Earth突然一个玩玩于是网上找到google的APT里面安装添加然后update直接输入sudo aptitude install google然后tab安装一个叫googleearth-package软件包以为这个就是google的APT里面下载的Google Earth但是安装菜单到Google Earth选项

新立得搜索这个软件包发现这个软件包作用从Google Earth的bin安装创建deb不知道为什么,Google Desktop和Picasa的Linux官方的deb就Google Earth没有难怪安装这个软件包把fakeroot安装……
Continue reading ‘
随机日志:
通过googleearth-package生成Google Earth的deb安装包’

Android上OpenVPN的设置与使用

这个问题被问过很多次,加上我自己的VPN用户也有询问这个问题,很多人参考的又是网上古老的文档,所以我这里写一篇讲解一下。

想要阅读下文,请确保你知道什么是adb及如何使用adb :-)
Continue reading ‘Android上OpenVPN的设置与使用’

twitter抛弃HTTP Basic Auth对中国用户的影响

今天Twitter开发者邮件列表上有一则官方声明,原文链接:https://groups.google.com/group/twitter-development-talk/browse_thread/thread/c2c4963061422f28

原文比较长,只要关心其中对中国用户影响最大的一条就可以:twitter计划在2010年6月份停止HTTP Basic Auth支持。
Continue reading ‘twitter抛弃HTTP Basic Auth对中国用户的影响’

merry xmas

mplayer -loop 0 01-圣诞结.mp3

音频片段:需要 Adobe Flash Player(9 或以上版本)播放音频片段。 点击这里下载最新版本。您需要开启浏览器的 JavaScript 支持。

神奇的网络啊…

这是个神奇的网络

你要是发出声音呢,有人会说你是想出风头,会说你不给面子,会说你死不放手,死缠烂打

你要是不发出声音呢,有人会说你认怂,会说你这下无话可说了吧,或者反过来说这人装清高,故弄玄虚

有人去ffmpeg issue tracker上丢人,这次是研究我到底是不是windows用户,以及我有qq号码,凭什么说与腾讯无关,还有我的vpn用户不遵守版权,为啥我就能这么义正辞严,还研究了我上次举报暴风之后隔这么久才举报射手,到底安的什么心。

有人邮件问我,为啥darwin是开源的,我不去要求苹果把mac os都开源了

有人或直接或委婉地质问我,为什么我不给射手面子

什么是开源软件?什么是自由软件?什么是GPL?

Tomasen仍然不承认之前有违反GPLv2的行为

这篇日志不开放评论,有意见请上twitter。如果你反感本人,记得千万别用dabr或者twip上twitter

关于射手播放器

真是造孽啊…又举报了一个播放器,谁知道这么多不明真相的人围观…
Continue reading ‘关于射手播放器’

VPN使用的误区

现在选择购买VPN的人越来越多了,但是很多人并不是很了解VPN,以至于很多时候使用上存在误区。
先举个推友的推做例子:

XXVPN确实不错,是我用过的VPN中最好的,无论是稳定性、保密性、速度都比XXXXVPN 要好

分条解释:
1、稳定性:
计算机程序是最讲究逻辑的,对于一个程序来说,除了“能工作”、“不能工作”这两个状态之外,只有一个“在XXXX状态下无法工作”的状态,而不存在所谓的“不稳定”状态。如果一个VPN,A能用而B不能用,那么多半是B的客户端设置问题而不是VPN服务端的问题
2、保密性:
有很多人误会vpn上网就绝对安全了。vpn只是提供一个到国外的加密信道,在没有使用ssl等端对端加密方法时,从加密信道出口到目的网站仍然是不加密的。具体的解释可以参考tor对自己安全性的描述。
3、速度快:
速度的快慢是个主观感受。免费vpn速度达到50k有人就觉得很快了,我用自己的vpn速度不到500k都嫌慢。拿腾讯qq下载测速和拿google chrome测速结果肯定不同。还有要区分是延时和速度,玩游戏追求低延时,搞下载追求高带宽,两者不同

是谁怂恿我写这个日志的…好像说完这三条就没了…orz…

自动解压0day资源脚本

这个脚本是以前在管理学校ftp的时候用的,当然自己在下载学校ftp资源的时候也常用这个脚本。

使用脚本要保证系统内存在rar命令。将脚本保存为dr,加上可执行权限后放到系统路径内可用
Continue reading ‘自动解压0day资源脚本’

PHP cURL代码举例

上次贴出来的twitter同步到人人的代码,很多人留言说看不懂。其实这个代码从总体上说还是比较简单的,可能大家对curl相关函数不太了解导致抱怨说看不懂。这里写篇简单的日志介绍一下curl的使用。

注意:如果你需要深入学习,请在线查看php.net的文档,本文仅仅是对不了解PHP curl函数族的用户的入门简介。代码没有经过严格检查,如有错误请留言指出。同样,全文及以下代码以CC by-nc-sa释出,转载请注明出处。
Continue reading ‘PHP cURL代码举例’

test to post from my g2 using wptogo

hey it works!