[trouble shooting] 搭建L2TP VPN报错:errno 111, origin ICMP type 3 code 3 (not authenticated)

之前使用Digital Ocean的VPS的时候VPN使用PPTP搭建的,用了一天vpn就不能用了。
当时没有仔细分析原因是什么,但是隐隐感觉没有加密的连接总是让心里不舒服。
于是在前一段时间的某天查了一下L2TP+IPSEC方式的VPN如何搭建。

相关的教程有不少,我就挑了一个看起来舒服下面回复也没有问题的(比如这篇)一步一步搭了起来。
环境配置的过程中基本上没有遇到什么大问题。一路走下来还是蛮顺利的。
最后用iPad连的时候却始终无法连接。查看了一下VPS上的auth.log日志,发现每次连接失败最后的日志都停留在这条状态上
Sep 20 00:28:14 localhost pluto[2508]: ERROR: asynchronous network error report on eth0 (sport=4500) for message to 110.185.15.166 port 42116, complainant 110.185.15.166: Connection refused [errno 111, origin ICMP type 3 code 3 (not authenticated)]

以errno 111, origin ICMP type 3 code 3 (not authenticated)做关键字,可以看到这个错误有很多人都遇到了,百度的第一条返回结果是12年的时候有人在猪八戒悬赏500块解决这个问题。
下面也有一些Blog给出了相同的解决方案,openswan的版本问题,新版本有bug,需要安装旧版本。
我现在系统安装的openswan版本是2.6.38-1,应该是最新的版本。上文中提到的解决方案是装回2.6.32版本,心里对这个解决方案不是很相信,因为一个版本如果有如此严重的问题应该很快会在新版本中fix掉,不会让我这么轻易地遇见,但是走投无路还是卸载掉了当前的版本装回了2.6.32。各种服务重启了一道之后问题依旧。于是只好装回2.6.38,继续寻找其他的解决方案。

经过了一段时间的寻找,看到ubuntuforums上有一篇相同问题的帖子标题上打了一个大大的SOLVED,很开心的点了进去,从1楼往下看,看了5分钟还是楼主一个人绝望的呼喊,他觉得很无助,为什么没有人帮他解决之类的。终于在我认为这是因为找不到答案才被标上SOLVED的时候,#8的回复出现了

Good day @robert-woodward
I solved my problem a few minutes ago,
thanks to this post https://lists.openswan.org/pipermail…ly/022546.html
Especially to this part of message:
“I also make it my habit to make leftprotoport 17/%any instead of 17/1701”

After i changed leftprotoport from 17/1701 to 17/%any in ipsec.conf and restarted ipsec service – everything got back to normal and vpn started working properly.
I hope this would solve your issue too.

其中加黑的部分是他重点提到的,问题出现的原因不详,但是抱着先解决问题后学习的心态直接按照说的修改了配置文件,ipsec重启之后,大大的VPN出现在了状态栏中。Problem Solved

DPZXSY3@ZS1$2KNA@LJ_QWV
上一张VPN的截图吧,IPsec正常工作了,刚才想到GFW能不能墙掉L2TP+IPSEC的VPN连接时看到了V2EX上这篇文章的讨论
于是赶紧瞅了一眼自己的链接IPSEC是不是正常工作了,看到IPsec: AES 256之后,大大的松了一口气。可以先告一段落睡觉了。
VPN实测速度只有几十K,而且在访问部分网站的时候完全没响应,明天晚上再来解决可能存在的问题,尽可能最大化的利用这条线的速度。

希望这篇没有原创性的文章可以帮到遇到了同样问题的朋友。

PS 不知道上图中的那个不小心点的红点会不会逼死一个强迫症。

欢迎留言讨论