使用 SoftEther VPN 搭建虚拟局域网

2019-06-09 11552点热度 37条评论

在我们日常使用网络的过程中,局域网是非常有用的一个技术,它可以让一个范围内的多个设备互相访问、发现,共享一个广域网等。

由于局域网的特性,可以用来做很多事,常见的比如:局域网传输文件、游戏联机。

说起游戏联机,如果想和小伙伴一起玩局域网联机的游戏,小伙伴又没跟我在同一个局域网,这就是件很难解决的事情?这时候就可以用虚拟局域网来解决问题。

虚拟局域网可以让设备不受物理条件的限制,通过种种手段,让多个设备处于同一内网。通常的手段是 VPN。

那么虚拟局域网有什么用呢?比如说可以访问远程的 samba,游戏局域网联机等等。

因为最近小山跟朋友局域网联机玩游戏,所以找了很多解决方案,最后我选择了 SoftEther VPN,它安装和管理起来相当方便,而且运行稳定,下面就教大家如何使用它来搭建虚拟局域网。

SoftEther VPN 虚拟局域网

准备工作

首先,需要一台具有可访问公网 IP 的设备,用来作为虚拟局域网的服务器。

服务器的性能不需要太高。1G 内存就差不多,但是带宽很重要,带宽的大小、网络的延迟取决于你用虚拟局域网做什么。

如果要玩游戏,网络延迟就很重要了,最好在 50ms 以下,不能超过 100ms。我推荐使用国内的共享 IP 服务器,端口开放也不需要太多,3 个就够了。

如果是做其他用途,比如访问远程的文件,就很随意了。

安装 SoftEther VPN 和管理软件

先安装 SoftEther VPN Server

访问 SoftEther 下载中心:https://www.softether-download.com/

选择一个组件:SoftEther VPN Server

选择系统:根据你的服务器系统进行选择,我以 Linux 为例。

选择 CPU:根据你服务器的 CPU 架构进行选择

下载并解压最新版本的压缩包

解压之后会得到 vpnserver 文件夹,里面是半成品的文件,需要 make 编译一下,切换到 vpnserver 目录,运行make即可,如果有询问,一直输入1即可。

这样二进制文件就编译好了,将二进制文件复制到一个全新的目录,依次执行下列命令:

sudo mkdir -p /usr/local/vpnserver

sudo cp -p hamcore.se2 /usr/local/vpnserver/hamcore.se2

sudo cp -p vpncmd /usr/local/vpnserver/vpncmd

sudo cp -p vpnserver /usr/local/vpnserver/vpnserver

至此,SoftEther VPN Server 就安装好了。

开始运行:sudo /usr/local/vpnserver/vpnserver start

停止运行:sudo /usr/local/vpnserver/vpnserver stop

如果你想使用 systemd 管理它并开机启动,执行以下命令:

sudo curl https://cdn.mivm.cn/www.mivm.cn/archives/softether-vpn-lan/vpnserver.service -o /etc/systemd/system/vpnserver.service

开始运行:sudo systemctl start vpnserver

停止运行:sudo systemctl stop vpnserver

开机启动:sudo systemctl enable vpnserver

取消开机启动:sudo systemctl disable vpnserver

查看运行状态:sudo systemctl status vpnserver


接下来安装 SoftEther VPN Server 管理程序,基于 Windows,方便管理。

访问 SoftEther 下载中心:https://www.softether-download.com/

选择一个组件:SoftEther VPN Server Manager for Windows

选择系统:Windows

选择 CPU:Intel (x86 and x64)

下载最新版本的安装包

询问安装什么组件的时候,只需要选择【SoftEther VPN Server 管理工具(仅限管理工具)】即可。

安装完成后打开管理工具,点击 [新设置] 添加一个服务器。

[设置名] 随意填写,[主机名] 填写服务器的 IP 地址,[端口号] 可以填写 443、992、1194、5555,那个都可以,务必确保这些端口没有被其他程序占用且可以访问,管理模式选择 [服务端管理模式],默认没有密码,不需要输入。

首次连接会让你设置新密码,然后会弹出【SoftEther VPN Server 简单安装】的窗口,关闭即可。接着会询问你是否需要设置 IPsec/L2TP,点击 [否]。

基础设置 SoftEther VPN Server

点击【OpenVPN / MS-SSTP 设置】,取消选中 [启用 OpenVPN 克隆 Server 功能] 和 [开启 MS-SSTP VPN 克隆 Server 功能]。

点击【加密与网络】,取消选中 [使用并保持互联网的连接]。

删除左下角【监听器列表】的多余端口,只保留一个就行,如果想更改端口,先新建一个端口,然后使用新端口连接到服务器,再把旧端口删除。

关闭 动态DNS

SoftEther VPN Server 自带动态 DNS 功能,这个功能一般来说没啥用,关闭它需要编辑配置文件。

点击右下角的【编辑设置】,点击 [保存到文件] 保存到本地,打开保存的文件。

在前几行找到declare DDnsClient,然后把它下面的bool Disabled false改成bool Disabled true

编辑配置文件

 

点击【编辑配置文件】窗口的 [导入文件并应用],导入刚刚修改好的文件。

SoftEther VPN Server 会自动重启,管理程序也会自动关闭。

做完上面这些,SoftEther VPN Server 的基础设置就完成了,接下来,开始创建虚拟局域网。

创建虚拟局域网

SoftEther VPN 中,每个虚拟局域网对应一个虚拟 HUB,同一个 HUB 内的所有设备可以互相访问,不同的 HUB 之间不可以互相访问。

一般只需要创建一个虚拟 HUB 就行了。

SoftEther VPN Server 会默认创建一个名为 [DEFAULT] 的虚拟 HUB,把它删掉。

然后创建一个新的虚拟 HUB,点击 [创建虚拟 HUB] → [虚拟 HUB 名] 随便填,比如我用来玩游戏,叫它 [GameLAN] → 密码填不填都行,如果填了密码,可以使用这个密码单独管理 HUB 而不是整个服务器 → 选中 [不要向匿名用户枚举] →  [确定]。

创建好以后,点击 [管理虚拟 HUB]。

首先把 DHCP 服务器打开,这样连接 VPN 之后就会自动分配 IP 地址,点击 [虚拟 NAT 和虚拟 DHCP 服务器]  → [启用 SecureNAT] → [SecureNAT 配置] → 取消选中 [使用虚拟 NAT 功能]。

然后把 [默认网关地址] 和 [DNS 服务器地址] 清空 → [确定] → 关闭 [虚拟 NAT 和虚拟 DHCP 服务器] 窗口。如果不清空默认网关地址,当客户端连接 SoftEther VPN 之后,可能所有网络流量都会经过 SoftEther VPN Server

SecureNAT 配置

最后一步,创建用户。点击 [管理用户] → [新建] → 填写用户名和密码 → 完成创建。如果只是你一个人用,创建一个用户就可以了,如果是多个人用,最好每个人一个用户。

然后关闭掉 [管理用户] 和 [管理虚拟 HUB] 的窗口

由于 SoftEther VPN 没有官方手机客户端,为了可以在手机上使用,需要启用 L2TP 功能,以便在手机上进行连接。

点击 【IPsec / L2TP 设置】 → 选中 [启用 L2TP 服务器功能(L2TP over IPsec)] → 在下方的 [IPsec 预共享密钥] 填写 8 个字符,最好是随机的 → [确定]

注意,L2TP 不支持自定义端口,服务器必须开启 500 和 4500 端口,对于共享 IP 的服务器来说,L2TP 就无法使用了。

至此,虚拟局域网就完全可用了,接下来教大家如何在 Windows 以及 Android 使用 SoftEther VPN。

Windows 客户端使用

Windows 使用 SoftEther VPN 非常的方便,因为有官方客户端。

访问 SoftEther 下载中心:https://www.softether-download.com/

选择一个组件:SoftEther VPN Client

选择系统:Windows

选择 CPU:Intel (x86 and x64)

下载最新版本的安装包

安装完成后打开客户端,点击 [添加新的 VPN 连接],第一次会提示需要创建虚拟网卡,等待创建完成即可。

[连接设置名] 随意填写,[主机名] 填服务器 IP,[端口号] 填服务器的监听端口,[虚拟 HUB 名] 填刚刚创建的虚拟 HUB 名称,右边填写用户名和密码,取消选中 [断开后自动重连]。

点击 [高级设置],[TCP 连接数] 设置为 8。

创建完毕后,双击进行连接,连接成功并提示分配到 IP 地址即可。

Windows 下使用需要注意,VPN 默认是公用网络,如果想让 VPN 访问程序的服务,Windows 防火墙允许访问的时候,记得勾选公用网络。

Android 设置 VPN

由于 Android 没有官方客户端,只能使用系统的 VPN 功能来创建 L2TP 连接,方法也很简单,以下操作以 Android Pie 为例。

找到手机的 VPN 设置,新建一个 VPN 连接。

VPN 类型/协议 选择 [L2TP/IPsec PSK],[服务器地址] 填写服务器 IP,[L2TP 密钥] 和 [IPSec 标识符] 不用管,[IPsec 预共享密钥] 填刚刚设置的预共享密钥。

用户名填写格式为 [用户名@虚拟 HUB 名],比如我刚刚创建的虚拟 HUB 名为 [GameLAN],新建用户名为 [test],那么我的 L2TP 用户名就是 [test@GameLAN],密码还是刚刚新建用户时的密码。

选中 [显示高级选项],[转发路线] 填写虚拟 HUB 的 IP 段,就是 DHCP 服务器设置的 IP 段,默认为 192.168.30.0/24,[转发路线] 务必要设置,否则所有流量都会经过 VPN。

Android VPN 设置

全部设置完成,就可以连接了。

 


以上就是如何使用 SoftEther VPN 搭建虚拟局域网的方法,希望可以帮助到有用的小伙伴。

如果有任何不懂的地方,欢迎加入 QQ 群小山进行探讨。

微信公众号二维码

微信扫描二维码关注我们

如果觉得文章有帮助到你,可以点击下方的打赏按钮赞助下服务器费用。

小山

一个什么都不会但要装作很厉害的人

文章评论

  • ``

    L2TP可以正常连接使用,openvpn连接后只能用外网,内网不能正常使用,请问是什么原因?

    2022-11-14
    • 小山

      @`` 抱歉,我没有使用 OpenVPN 的经验,无法帮到你。

      2022-11-15
  • Andy

    你好,请教一下按教程设置好后连接vpn无法访问局域网设备要怎么解决?谢谢

    2021-10-01
    • 小山

      @Andy 局域网设备需要设置Windows防火墙允许公用网络访问对应服务。

      2021-10-01
  • test

    您好 我们使用这SE搭建了一个服务器 然后使用客户端连接后互相使用虚拟ip可ping通 但是玩游戏就不行(局域网找不到房间) 我看网上有说是icmp的原因但是没说具体为什么 请问您有思路吗

    2021-09-19
    • 小山

      @test 需要让游戏允许访问公用网络(Windows 防火墙)

      2021-09-19
  • 此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据