openvpn体验
参考:自 “seven” 博客http://liuyu.blog.51cto.com/183345/166047
使用openvpn,不懂原理,遇到一点点的问题,都像一座大山一样。自己丝毫没有分析,解决的能力。
今天遇到一个很奇怪的问题,同样的设置,丝毫没有改变。前两天还能用,今天突然就不好用了。看过服务器端的log,也看过客户端的log。双方是有通信的,错误的信息是“TLS Error: TLS Handshake failed.”。从log我是看不出什么线索的,网上搜答案。有说是时间不对的,有说证书错误。尝试了相应的调整,没有效果。直到“seven”的博客,提到下面这段话:
The connection stalls on startup when using a proto udp configuration, the server log file shows this line:
TLS: Initial packet from x.x.x.x:x, sid=xxxxxxxx xxxxxxxx
however the client log does not show an equivalent line.Solution: You have a one-way connection from clientto server. The server to client direction is blocked by a firewall,usually on the client side. The firewall can either be (a) a personalsoftware firewall running on the client, or (b) the NAT router gatewayfor the client. Modify the firewall to allow returning UDP packets fromthe server to reach the client.这和我遇到的状况是一样的。问题应该是:服务器已经收到客户端的请求信息,但是客户端收不到服务器的信息,所以验证失败了。
接着,我把防火墙关了。但还是不行。
由于我是NAT,没有独立ip,server想要把信息发送到我,必然要通过某个table的转换。于是,可怕的想法,难道。。。果断地换端口,把默认的1194改成任意的一个端口。重启服务,客户端重新连接,OK啦。