见世界

基于linode科学上网

回顾

作为一个程序员,工作学习都少不了科学上网。所以我从12年开始持有linode ,自建vpn.

最初的方式是pptpd,搭建使用都很简单(我当时参考的是一份chinaunix的文档,非常靠谱,按部就班即可)。但是某年某段时间,不知是因为有重大会议召开,还是日期相加等于10,又或者电信线路出了问题,我的vpn频繁断线,无法使用。我意识到pptpd是不可控的。

我尝试以l2tp的方式重新部署vpn,但是在当年centos 6下,野生libreswan存在我无法解决的问题,只能作罢。

之后一直使用issh + SwitchyOmega的方式科学上网。这个方式最大的问题在于iPhone手机无法使用,我用免费版greenvpn替代。直到上周,greenvpn完全无法使用。

IPsec + L2TP

官逼民反,我只好着手解决问题。

我参考以下文档进行部署,所有依赖都可以在 centos7 + epel 中找到。
科学上网:CentOS 7安装IPSec L2TP VPN (linode vps)

L2TP方式需要使用防火墙进行转发,并且必须开启 MASQUERADE 参数。
开启防火墙服务,需要允许已有服务、端口穿透防火墙,否则外部无法访问;开启 MASQUERADE 参数会导致127.0.0.1不再指向本机。

前一个问题可以通过搜索『firewalld 基本操作』解决。后一个问题我没有找到现成的解决方案,理解防火墙原理后才配置成功。文档参考:
Firewalld的结构