IPSec虚拟私人局域网折腾历程

最近突然意识到Windows和Android其实自带了VPN功能,可以通过这些功能方便的从工作地远程回家庭网络访问资源。同时我发现原先使用OpenWrt的PassWall插件搭建的SS服务器有个很奇怪的问题:在外网电脑连接后无法使用ip连接内网远程桌面。而在外网使用手机连上SS服务后又没有这个问题,手机上RemoteDesktop可以秒连电脑操作(不是很清楚为什么,有时间检查一下问题所在)。

因此开启了继ShadowSocks远程回家后的又一个家用VPN服务搭建计划。

Windows10下内置VPN类型如下:

  • PPTP
  • L2TP/IPSec
  • SSTP
  • IKEv2

Windows10创建VPN连接窗口:

一般情况下安卓手机内置支持的VPN类型如下:

而后经过筛选后决定使用L2TP/IPsec PSK即使用预共享秘钥的L2TP/IPsec类型搭建。

IPSecVPN服务器搭建历程

最开始本来想使用SoftEther简单搭建,但是可能因为我家的网络比较复杂(我也不知道是什么原因,要查日志才知道),SoftEther搭建设置好后会出现无法获取IP的情况。在尝试OpenWrt上还有Docker中安装后就选择放弃这个选项。

Windows使用需要注意端口一定要是默认端口1701

方法汇总

在我的家庭网络环境下一共有以下几种搭建方式:

  • Vmware虚拟机(Esxi Managed)(X) 由于服务器断电重启需要一段时间,同时在服务器出现故障时无法远程访问,因此pass
    • Docker安装Portainer管理
    • 虚拟机直接安装
  • OpenWrt (X) 我的OpenWrt安装在iKuai虚拟机上,没有权限修改网络 在物理机上直接安装的OpenWrt应该可以使用没有问题
    • 直接装IPSecVPN rpm包
    • 在Docker内安装
  • Synology NAS
    • VPN Center套件 (?) 在我的机器上无法安装,但是在写博客时莫名其妙安装上了
    • iPKGui安装 (?) 稳定性无法保证,未进行进一步尝试
    • Docker安装 (X) 未知原因无法连接,pass
  • iKuai
    • 在Docker内安装 (X) iKuai未给Docker容器开启privilege模式无法使用
    • 内置IPSecVPN服务器 (V) 最终方案

1.Vmware虚拟机

一开始想在Vmware虚拟机中安装,但是考虑到服务器只有一个小VPS支持它停电安全关机,而来电启动需要先启动系统(系统自检+Esxi启动=5mins)然后启动按照自启顺序需要先启动VCSA然后是HomeAssistant,后面才应该是其他功能虚拟机(6mins),因此需要至少11mins,而且还不稳定,可能会哪天内存炸了就无法远程回家通过iDrac查看服务器问题。因此排除使用Vmware虚拟机搭建IPsecVPN服务器。

2.OpenWrt

2.1 IPSecVPN服务器插件

使用OpenWrt搭建本来是一个很好的方法,但是我在OpenWrt上简单设置了IPSec服务器后无法连接(原因可能如下,要查日志才知道)。同时由于时间有限就放弃了。

2.1 OpenWrt Docker中安装IPSecVPN

在OpenWrt的Docker服务中安装则在我这里出现了一个问题,我的OpenWrt是在iKuai虚拟机中虚拟化出来的,而iKuai本来是一个闭源封闭系统,给予虚拟机权限有限无法进行IPSec网络设置,因此无法使用OpenWrt中Docker搭建IPSec服务。但在其他OpenWrt直接安装在物理机上的情况应该没有问题。

3.Synology NAS

3.1VPN Center

由于某些原因,国内的群辉机器和群辉中国官网上无法下载VPNCenter套件,只有去群辉国际或香港网站上找对应机型的资源。

但是比较悲催的是,我的DS 218+不知道什么原因,无法通过DSM套件中心手动安装,一直显示执行命令行错误。所以跳过。

???但是在我写博客的时候,在进行测试截图的时候突然就安装上了?????,什么神奇操作????

???

3.2 iPKGui

使用iPKGui安装strongswan包,由于之前实用iPKGui安装的一些包出现了问题,比如使用其安装的softether vpn在一次重启后出现了问题,因此为了服务稳定就跳过了该方法,但如果在其他机器上测试比较稳定,还是比较推荐使用iPKGui安装对应包的方法在这类设计在7*24服务的机器上安装VPN服务。

3.3 Docker安装

使用Docker安装IPSecVPN 服务器时,我使用的镜像为 hwdsl2/ipsec-vpn-server:latest ,但由于出现

L2TP kernel support not detected (try modprobing l2tp_ppp and pppol2tp)

经过查找,GitHub Issue 上说明可以直接忽略掉该警告,但由于搭建好后该服务后我无法连接上,因此避免折腾跳过该方法。

4.iKuai

4.1 Docker内安装

同样由于iKuai对Docker中容器没有使用特权模式,因此无法使用。

4.2 使用iKuai内置IPSecVPN服务

使用iKuai认证计费中本地认证服务L2TP服务端最终实现了我想要的功能,但是由于L2TP/IPSec不能设置网关,因此通过该服务连接回来的设备无法享受我OpenWrt旁路由的其他科学上网服务,但由于我的需求仅为 使用Windows/Android内置的VPN服务远程回家使用远程桌面等内网服务,因此无法科学上网也没有什么大问题。

远程控制软件推荐

Parsec

Parsec是我现在使用的主要远程控制软件,拥有超低延迟和高清晰度等优点,可以方便的在电脑上部署,同时可以沉浸式使用远程机,非常方便。同时可以限制其带宽、客户端分辨率等丰富的自定义设置。同时他还支持多人控制同一电脑,在某些场景下非常实用。

在网速比较稳定的情况下甚至可以尝试远程使用三维软件比如C4D等,同时可以尝试玩儿一些不怎么吃即时性的游戏比如文明6,群星等(P社玩家狂喜)。

Teamviewer

Teamviewer也是一款非常好用的远程软件,是我在找到Parsec前一直使用的远程软件,经常用在一些比较专业的场景下安全地远程访问设备。我WindowsServer就一般会安装Teamviewer。


1.0 wep 2022/01/14 基本内容撰写

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注