OpenVPN 掉线问题解决
上周公司同事反映VPN的速度很慢,我测试了一下ping值,大概都在1000~2000ms左右,有的甚至高达9000ms。我公司一边用的是北京联通的4M ADSL,另一边是cernet。
我随即重新启动openvpn,刚启动的时候还正常,过了一段时间(长度不定,有可能几分钟,有可能几小时),ping值突然又下降到几秒。我怀疑是不是 有不正常的通信,例如病毒什么的,暂用了带宽,于是用tcpdump -i tun0去查看,没有发现可疑流量。
接着修改了openvpn的通信方式,由默认的udp,改为tcp,似乎稍微好些,但是仍然过了一段不确定的时间,就突然变得极慢。后来又改了mtu等参数,都没有用,问题依旧。
开始怀疑是不是路由器的BUG,于是刷路由器的ROM。问题依旧。
然后又干脆换了一个路由器。 问题依旧。
我擦。。。。。 这TMD是什么情况。
突然灵光一现,我用ssh tunnel 承载一下openvpn数据包试试。一ping,响应时间都在20ms左右,完全正常,而且非常稳定。
所以,不知道处于什么原因,ISP(或者GFW)干扰了我的vpn通信。 我只能说,操你大爷的。
配置如下:
[root@galaxy ~]# uname -a
Linux galaxy 2.6.18-164.el5 #1 SMP Tue Aug 18 15:51:48 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux
利用autossh
[root@galaxy ~]# cat /etc/rc.local
export AUTOSSH_POLL=60
/usr/local/bin/autossh -M 20010 -f -N -c blowfish -m hmac-md5-96 -L 1194:localhost:1194 root@你的openvpnserver_ip -p 22
/etc/openvpn/client.conf
# The hostname/IP and port of the server.
# You can have multiple remote entries
# to load balance between the servers.
remote 127.0.0.1 1194