联通连不通─VPN

打洞、翻墙已经渐渐成了中国高端网民的基本生存技能。

VPN 就是翻墙的一种利器。但是要自己搭一个VPN实属不易,如果你用的是联通(原网通)的ADSL,可能更麻烦一点。

PPTP VPN 比较简单,没有特殊安全性需求的,推荐优先选择这种。搭建方法直接参照此文就行。一个 pptpd 就搞定了。注意别忘了打开 Masquerading/NAT。

我在浙江老家(电信 ADSL)的时候,就用以上配置轻松搞定了 PPTP VPN,终于可以在 iPhone 上玩 Tweetie 和 Facebook 了。

结果一回北京,PPTP VPN 马上不好使了:能够正常连接上,但是很快就会无法访问网络,并且 ping 报错 No buffer space available。

我不是网络专家,网络技术相当业余,无法确认是联通 ADSL 的问题,还是办理宽带时附赠的华为 EchoLife HG527-a 路由器的问题(有其他 ADSL 路由器的朋友可以帮忙试验一下),但总之是联通让我的 VPN 连不通了。

我本想用别的 PPTP VPN 试验一下,好确认不是我自己 VPN 的问题,但是一时间没找到可供试用的 VPN(有 PPTP VPN 的朋友可以帮忙试验一下)。于是,我又折腾了两天,搭了个 L2TP/IPsec VPN,终于又能逍遥游了。

搭建 L2TP/IPsec VPN 的方法请见此文

可能遇到的问题和解决方法:

  1. 连接不上,/var/log/auth.log 中有类似如下记录:
    Mar 10 11:01:36 hostname pluto[14061]: ERROR: asynchronous network error report on eth0 (sport=4500) for message to your.client.ip.address port 4500, complainant your.server,ip.address: No route to host [errno 113, origin ICMP type 3 code 1 (not authenticated)]

    在 ipsec.conf 中加上 leftnexthop=your.server.gateway.ip 应该可以解决。

  2. 连接不上,/var/log/system 中有类似如下记录:
    Mar 11 14:44:20 hostname pppd[4407]: The remote system is required to authenticate itself
    Mar 11 14:44:20 hostname pppd[4407]: but I couldn't find any suitable secret (password) for it to use to do so.

    这是由于验证过程中未使用 l2tp-secrets 中的密码(至于为何如此我不懂,另请高人解释),而是使用 pptp(L2TP/IPsec 也是要走 pptp 的)的密码,所以需要在 /etc/ppp/chap-secrets 中设置密码(具体请见上面如何搭建 PPTP VPN)。


Leave a Reply