文章迁移附(2023.3.23)
这篇当时没备份,所以图没了...

目标人群

想和小伙伴联机却不想用第三方平台的富有动手能力的兄弟。

准备

你需要一台有公网ip的机器。这里分别以云服务器为例来搭建虚拟局域网。
一台腾讯云服务器
一台win10
几只小伙伴

技术介绍

下面是我从其他地方复制来的定义,可以稍微了解一下。

VPN

虚拟专用网络(Virtual Private Network,也就是我们常说的VPN)是一门新型的网络技术,它为我们提供了一种通过公用网络(如最大的公用因特网)安全地对企业内部专用网络进行远程访问的连接方式。我们知道一个网络连接通常由三个部分组成:客户机、传输介质和服务器。VPN网络同样也需要这三部分,不同的是VPN连接不是采用物理的传输介质,而是使用一种称之为“隧道”的东西来作为传输介质的,这个隧道是建立在公共网络或专用网络基础之上的,如因特网或专用Intranet等。

L2TP

L2TP(Layer 2 Tunneling Protocol) VPN是一种用于承载PPP报文的隧道技术,该技术主要应用在远程办公场景中为出差员工远程访问企业内网资源提供接入服务。

技术小结

用人话说就是服务器作为主机,身首异处身处异地的小伙伴们通过VPN连到主机上,这就形成了一个虚拟的局域网,贴一张图来康康。↓
异地组网示意图
更形象点来说,就是你居家通过连接学校、企业的VPN来访问内网环境。

开始搭建

这里用的是腾讯云的一台小鸡子,操作系统是Ubuntu Server 20.04 LTS 64bit。 前置包安装

apt-get install libreswan strongswan xl2tpd ppp lsof

三行命令搭建L2TP+IPSec。

wget --no-check-certificate https://raw.githubusercontent.com/teddysun/across/master/l2tp.sh
chmod +x l2tp.sh
./l2tp.sh

敲完过一会儿就会出现下面这个。
异地组网1

异地组网2-1672924748251

我们稍微配置一下下。
异地组网3
然后就会自动下载一大坨文件,我们稍等一会,最后这样输出就是装好了。
异地组网4
这里不是为什么libreswan2.7安装报错,但实际上我们已经安装了3.2版本的,于是我就把这个下载来的脚本用vim打开,把libreswan检测的代码删了,不然一直在报错运行不下去。(后来发现还是有点问题,换CentOs7.6系统再重复了一便操作)

配置

如果有防火墙记得打开500,1701,4500这三个端口的UDP协议!

  • service ipsec start 启动服务
  • service x12tpd start
  • service ipsec stop 停止服务
  • service x12tpd stop
  • service ipsec restart 重启服务
  • service x12tpd restart
  • ipsec verify 验证ipsec的状态
  • l2tp -a 增加一个连接账户
  • l2tp -d 删除一个连接账户
  • l2tp -l 展示现有的账户
  • l2tp -m 修改账户的密码 要是有报错
Checking that pluto is running不ok的话

执行ipsec start
要是有报错

NETKEY: Testing XFRM related proc values
         ICMP default/send_redirects                    [OK]
         ICMP default/accept_redirects                  [NOT DISABLED]

  Disable /proc/sys/net/ipv4/conf/*/accept_redirects or XFRM/NETKEY will act on or cause sending of bogus ICMP redirects!

执行echo 0 > /proc/sys/net/ipv4/conf/default/accept_redirects
诸如此类上面会写报错信息的,自己修改下。
其他我没报错,如果有的话可以去查一下怎么鼓捣,消灭所有报错,直到ipsec verify全都是ok~

客户端连接

VPN选择带有预共享密钥PSK的L2TP模式输入主机地址、PSK、用户名、密码就可以连接了,但是奇怪的是我华为手机能连得上,win10连不上,很怪,有待研究。

后言:说实话,搞这玩意儿搞到一半不知道装了个什么东西把我控制台搞烂了,于是就重装系统去了,但是我好像没修改反向代理的下载设置,导致博客的备份文件太大了不能下载,博客就无了,还好有一个之前的快照备份,回滚了下有些东西没了www只能说鼓捣需谨慎,快照必先行!

Q.E.D.