当前位置: 首页>>技术教程>>正文


在Ubuntu 16.04 Xenial Xerus Linux上设置SoftEther VPN服务器

, ,

介绍

无论您是希望能够通过不安全的网络(例如Internet)远程连接到公司网络,还是要在两个远程点之间构建虚拟网络,您都将需要VPN(虚拟专用网络)。 VPN使您可以通过Internet或不受信任的网络安全地连接到远程LAN(局域网)。

SoftEther是一个开源VPN服务器,是OpenVPN的替代产品。它被认为是世界上功能最强大的easy-to-user multi-protocol VPN软件。本文涉及如何在Ubuntu Xenial Xerus Linux上设置SoftEther。

您将需要什么

  • Ubuntu 16.04 Xenial Xerus Linux
  • 建议使用30 GB的可用磁盘空间
  • 根特权

请注意,本文使用的二进制文件是x64体系结构。如果您的计算机不是x64,则需要选择合适的二进制文件。

约定

#-要求给定linux命令以root特权直接作为root用户执行或通过使用sudo命令
$-需要给出linux命令以普通非特权用户身份执行
> -从vpncmd命令行界面执行的给定命令

准备服务器

升级系统:


$ sudo apt update
$ sudo apt upgrade

安装(如果尚未安装)build-essential出于编译目的:


$ sudo apt install build-essential

安装SoftEther

获取软醚源

让我们获取SoftEther的源代码(最新版本是2016-11-27发布的4.22版本):


$ wget http://www.softether-download.com/files/softether/v4.22-9634-beta-2016.11.27-tree/Linux/SoftEther_VPN_Server/64bit_-_Intel_x64_or_AMD64/softether-vpnserver-v4.22-9634-beta-2016.11.27-linux-x64-64bit.tar.gz



(adsbygoogle = window.adsbygoogle || [])。push({});


解压缩源


$ tar xzf softether-vpnserver-v4.22-9634-beta-2016.11.27-linux-x64-64bit.tar.gz

成功解压后,我们找到一个名为vpnserver在当前目录中。

从源代码安装


$ cd vpnserver
$ sudo make

在安装过程中,我们将必须输入1阅读许可协议,输入1再次确认我们已经阅读了许可协议,最后键入1同意许可协议。安装后,我们可以查看输出以确认整个过程正确无误。一切正确完成后,我们将可以使用以下命令从安装文件夹运行vpn服务器:


$ sudo ./vpnserver start

将其配置为daemon

配置为守护程序

让我们按照以下步骤将vpn服务器配置为daemon

将安装文件夹移至/usr /local


$ cd ..
$ sudo mv vpnserver /usr/local

赋予文件适当的权利


$ cd /usr/local/vpnserver/
$ sudo chmod 600 *
$ sudo chmod 700 vpnserver
$ sudo chmod 700 vpncmd

在继续进行操作之前,让我们检查一下vpn服务器能否在我们的服务器上正常运行。在开始之前进行此检查很重要vpnserver

  • 跑过vpncmd命令
  • 类型3
  • 然后输入check

$ cd /usr/local/vpnserver/
$ sudo ./vpncmd


(adsbygoogle = window.adsbygoogle || [])。push({});


check vpnserver installation
如果一切都做好,我们将在操作结束时收到“All checks passed”消息。

创建系统服务

创建文件/lib/systemd/system/vpnserver.service


$ sudo vi /lib/systemd/system/vpnserver.service

并将以下内容放入其中:


[Unit]
Description=SoftEther VPN Server
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/vpnserver/vpnserver start
ExecStop=/usr/local/vpnserver/vpnserver stop

[Install]
WantedBy=multi-user.target

现在,VPN服务器会在启动时自动启动,并且我们能够使用以下方法管理vpnserversystemctl

systemd service for vpnserver



(adsbygoogle = window.adsbygoogle || [])。push({});


准备SoftEther VPN服务器以供使用

SoftEther提供了许多用例:临时VPN,对LAN的远程访问,LAN对LAN桥接器等。在本文中,我们将其配置为“对LAN的远程访问”。我们将首先创建一个virtual hub,然后在两者之间建立一种联系virtual hub和服务器网络(公司LAN)。

设置vpncmd的管理员密码

出于明显的原因,建议立即为设置管理员密码vpncmd一旦安装了VPN服务器。这是通过vpncmd效用:


$ cd /usr/local/vpnserver/
$ sudo ./vpncmd

set admin password for vpncmd
如上图所示,我们选择1对于“ VPN Server或VPN Bridge的管理”,只需按Enter对于以下问题,直到我们得到VPN Server>提示。在命令提示符下,我们键入ServerPasswordSet

创建一个虚拟中心

通过使用vpncmd,我们将创建一个virtual hub名为“myFirstHUB”:


$ cd /usr/local/vpnserver/
$ sudo ./vpncmd
> HubCreate myFirstHUB

create virtual hub

将虚拟集线器连接到服务器网络

为了允许客户端访问服务器网络,我们需要链接virtual hub到局域网。可以使用本地网桥连接或使用SecureNAT功能。就我们而言,SecureNAT功能将被使用。SecureNAT功能允许将VPN服务器用作简单网络网关,DHCP服务器或简单网关来远程访问远程站点。让我们选择我们的virtual hub并启用SecureNAT功能。


$ cd /usr/local/vpnserver/
$ sudo ./vpncmd
> Hub myFirstHUB
> SecureNatEnable

enable secure nat

建立使用者

创建用户的命令:UserCreate
创建用户后,我们需要设置密码。请注意,可以使用其他身份验证方法:NTLMRADIUS等等。默认的身份验证方法是“password”。
设置密码的命令:UserPasswordSet

create user




(adsbygoogle = window.adsbygoogle || [])。push({});


客户端配置

SoftEther为许多操作系统(包括Linux)提供客户端。

下载客户端

我们将使用wget命令下载客户端。


$ wget http://www.softether-download.com/files/softether/v4.22-9634-beta-2016.11.27-tree/Linux/SoftEther_VPN_Client/64bit_-_Intel_x64_or_AMD64/softether-vpnclient-v4.22-9634-beta-2016.11.27-linux-x64-64bit.tar.gz

解压缩源


$ tar xzf softether-vpnclient-v4.22-9634-beta-2016.11.27-linux-x64-64bit.tar.gz 

从源代码安装

客户端编译类似于服务器。


$ cd vpnclient
$ sudo make

安装后,我们将更改文件权限,如下所示:


$ sudo chmod 600 *
$ sudo chmod 700 vpnclient
$ sudo chmod 700 vpncmd

现在,我们可以启动VPN客户端并进行所需的配置以连接到服务器。


$ sudo ./vpnclient start
$ sudo ./vpncmd

选择2进入“ VPN客户端管理”。并执行以下操作:

  • 创建一个虚拟适配器(使用NiceCreate,输入您想要的“any”名称)
  • 建立VPN连线(AccountCreate account0)
  • 指定目标服务器的主机名和端口号(server:port)
  • 选择virtual hub您要连接的主机(在我们的例子中,我们使用的是在服务器上创建的“myFirstHUB”)
  • 输入用户名
  • 使用先前创建的虚拟适配器

vpn client conf
现在,我们可以启动VPN客户端连接。在此之前,我们必须为我们先前在VPN连接中配置的用户指定密码。


> AccountPassword account0
> standard
> AccountConnect account0

client account connect

客户端现在已连接,但没有IP地址分配给虚拟适配器。最后一步,我们需要从vpn服务器请求IP地址。我们可以用ifconfig查找vpn虚拟适配器的命令(前缀为vpn_),然后使用dhclient命令以请求IP地址。


$ sudo dhclient vpn_ethvpn0

执行此命令后,VPN客户端将从SoftEther VPN服务器获取IP地址,并可以与远程LAN通信。

感谢您对本文的关注。感谢您提出的问题和改进。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/11310.html,未经允许,请勿转载。