vpnserver 設置


如何使用SoftEther設置多協議VPN服務器

的Ubuntu安全聯網

介紹

本文介紹了如何使用SoftEther軟件包安裝和配置多協議VPN服務器。我們在Linux上通過IPSec和SSTP VPN服務器啟用和配置OpenVPN和L2TP。

什么是SoftEther

SoftEther VPN是世界上功能最強大,易於使用的多協議VPN軟件之一,由日本築波大學的好伙伴開發。它可以在Windows,Linux,Mac,FreeBSD和Solaris上運行,並且是免費軟件和開放源代碼。您可以免費將SoftEther用於任何個人或商業用途。

步驟1:創建虛擬服務器

首先,您需要創建一個DigitalOcean Droplet。如SoftEther的網站所述,SoftEther將在內核v2.4或更高版本的幾乎所有Linux發行版上運行;但是,建議選擇以下發行版之一:CentOS,Fedora或Red Hat Enterprise Linux。

我個人曾在32位和64位版本的Ubuntu,CentOS和Fedora上進行過嘗試,並且運行良好。

步驟2:更新伺服器軟體

使用以下命令,將服務器軟件包更新和升級到最新版本:

Debian / Ubuntu:

apt-get update && apt-get upgrade

CentOS / Fedora:

yum upgrade

步驟3:下載SoftEther

您可以從他們的網站下載最新的Linux版SoftEther服務器軟件包:

下載SoftEther

不幸的是,目前無法通過程序包管理器獲取最新版本(甚至使用單個URL)。因此,您必須使用桌面瀏覽器瀏覽他們的網站以下載軟件包。有兩種處理方法:首先,在您自己的計算機上瀏覽其網站,然后根據您的服務器配置(OS,x86 / x64等)找到相應軟件包的鏈接,然后使用wget下載該軟件包。打包到您的服務器。或者,您可以使用基於終端的Web瀏覽器(例如lynx)來瀏覽SoftEther網站並下載正確的軟件包。

使用lynx的方法如下:

首先在您的服務器上安裝lynx:

Debian / Ubuntu:

apt-get install lynx -y

CentOS / Fedora:

yum install lynx -y

現在,使用下面的命令瀏覽SoftEther下載網頁:

lynx http://www.softether-download.com/files/softether/

使用Lynx瀏覽SoftEther文件列表

此頁面包含可用的所有版本的SoftEther。選擇所需的版本(在本教程中,我們使用v2.00-9387-rtm-2013.09.16),然后按Enter鍵轉到鏈接。現在選擇Linux,然后在下一頁中選擇SoftEther VPN Server根據您的服務器硬件架構,選擇一個程序包;32位-英特爾的x8664位-英特爾的x64或者AMD64為DigitalOcean 32位或64位微滴的工作。最后,通過按鏈接上的“ D”鍵從下一頁下載tar文件,並在Lynx詢問時選擇“保存到磁盤”。保存文件后,我們可以按“ Q”退出Lynx並繼續進行安裝。

步驟4:安裝和配置SoftEther

現在,我們必須提取從SoftEther下載頁面收到的軟件包並進行編譯。本教程中使用的軟件包名為softether-vpnserver-v2.00-9387-rtm-2013.09.16-linux-x86-32bit.tar.gz,因此我們將使用以下命令將其提取:

 tar xzvf softether-vpnserver-v2.00-9387-rtm-2013.09.16-linux-x86-32bit.tar.gz

解壓縮后,將在工作文件夾中創建一個名為vpnserver的目錄。為了編譯SoftEther,必須在服務器上安裝以下工具和軟件包:

makegccbinutils(gcc)libc(glibc)zlibopensslreadlinencurses

確保已安裝這些。您可以使用以下命令安裝構建SoftEther所需的所有軟件包:

Debian / Ubuntu:

apt-get install build-essential -y

CentOS / Fedora:

yum groupinstall "Development Tools"

注意:在Fedora上,我發現沒有使用上述命令安裝gcc軟件包,因此您必須使用yum install gcc手動安裝它

現在,我們已經安裝了所有必需的軟件包,我們可以使用以下命令來編譯SoftEther:

首先“ cd”進入vpnserver目錄:

cd vpnserver

現在運行“ make”將SoftEther編譯為可執行文件:

make

SoftEther許可協議

SoftEther將要求您閱讀並同意其許可協議。選擇1以閱讀協議,再次確認已閱讀,最后選擇同意許可協議。

現在,SoftEther已編譯並制成可執行文件(vpnserver和vpncmd)。如果該過程失敗,請檢查是否已安裝所有需求包。

現在已經編譯了SoftEther,我們可以將vpnserver目錄移動到其他地方,在這里我們將其移動到usr / local

cd ..
mv vpnserver /usr/local
cd /usr/local/vpnserver/

然后更改文件權限以保護它們:

chmod 600 *
chmod 700 vpnserver
chmod 700 vpncmd

如果您希望SoftEther在啟動時作為服務啟動,請/etc/init.d目錄中創建一個名為vpnserver的文件並將其更改為以下內容:

首先使用vi創建並打開文件nano

vi /etc/init.d/vpnserver

並將以下內容粘貼到文件中:

#!/bin/sh
# chkconfig: 2345 99 01
# description: SoftEther VPN Server
DAEMON=/usr/local/vpnserver/vpnserver
LOCK=/var/lock/subsys/vpnserver
test -x $DAEMON || exit 0
case "$1" in
start)
$DAEMON start
touch $LOCK
;;
stop)
$DAEMON stop
rm $LOCK
;;
restart)
$DAEMON stop
sleep 3
$DAEMON start
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac
exit 0

最后,按esc並鍵入:wq以關閉vim,以保存並關閉文件

如果一個目錄不存在,我們必須在/ var / lock / subsys中建立一個目錄

mkdir /var/lock/subsys

現在,更改啟動腳本的權限,並使用以下命令啟動vpnserver

chmod 755 /etc/init.d/vpnserver && /etc/init.d/vpnserver start

使用以下命令使其在啟動時運行:

Debian / Ubuntu:

update-rc.d vpnserver defaults

CentOS / Fedora:

chkconfig --add vpnserver 

現在已安裝SoftEther VPN Server,並將其配置為在啟動時運行。最后,我們必須檢查VPN服務器是否正常工作:

cd /usr/local/vpnserver
./vpncmd

現在按3選擇“使用VPN工具”,然后鍵入:

check

如果所有檢查均通過,則您的服務器已准備好成為SoftEther VPN服務器,您可以繼續下一步。輸入“ exit”退出VPN Tools

有兩種方法可以配置SoftEther VPN服務器:您可以使用基於Windows的服務器管理器從遠程管理和配置任意數量的SoftEther VPN服務器。或使用內置的vpncmd工具配置服務器。

您可以使用他們的網站下載適用於Windows的SoftEther Server Manager,並使用其提供的GUI進行配置,如果您是Windows用戶,這是一種更好的選擇。

在這里,我們使用vpncmd來配置我們的VPN服務器。

步驟5:更改管理員密碼

現在,您已經安裝了SoftEther VPN服務器,您必須分配管理員密碼才能與SoftEther一起使用。您可以使用vpncmd進行此操作,vpncmd是SoftEther的基於命令行的管理工具:

./vpncmd

1選擇“ VPN Server或VPN Bridge的管理”,然后按Enter而不輸入任何內容以連接到localhost服務器,再按Enter而不輸入任何內容以通過服務器管理模式連接到服務器。

然后使用以下命令更改管理員密碼:

ServerPasswordSet

步驟6:創建虛擬集線器

要使用SoftEther,我們必須首先創建一個虛擬集線器。在此,作為示例,我們創建一個名為VPN的集線器,以在vpncmd工具中輸入以下命令

HubCreate VPN

接下來,將要求您輸入集線器的管理員密碼。每當您未以服務器管理員模式登錄並且要管理該特定集線器時,都將使用此密碼

現在,選擇使用此命令創建的虛擬集線器:

Hub VPN

步驟7:啟用SecureNAT

有兩種將集線器連接到服務器網絡的方法:使用本地網橋連接或使用SecureNAT功能。

您可以單獨使用每個,但是同時使用這兩個會導致問題。

在這里,我們使用SecureNAT,它非常容易設置,並且在大多數情況下都可以很好地工作。您也可以使用Local Bridge,但隨后也必須安裝和配置DHCP服務器。

SecureNAT是虛擬NAT和DHCP服務器功能的組合。您可以使用以下命令啟用SecureNAT:

SecureNatEnable

步驟8:創建和管理用戶

現在,我們必須為虛擬集線器創建用戶才能使用VPN。我們可以使用UserCreate命令為Virtual Hub創建用戶,並通過UserList查看當前用戶的列表可以將用戶添加到組,甚至可以具有不同類型的身份驗證模式(包括:密碼,證書,RADIUS,NTLM等)。

通過使用UserCreate命令,我們創建一個名為“ test”的用戶:

UserCreate test

身份驗證的默認類型是密碼,但是我們可以使用以下命令將其更改為其他類型:

UserNTLMSet 用於NT域驗證

UserPasswordSet 用於密碼驗證

UserAnonymousSet 用於匿名身份驗證

UserRadiusSet 用於RADIUS身份驗證

UserCertSet 用於個人證書認證

UserSignedSet 用於簽名證書認證

在本教程中,我們使用密碼作為測試用戶的用戶身份驗證模式,因此使用此命令為用戶測試設置密碼

UserPasswordSet test

步驟9:設定L2TP / IPSec

要啟用L2TP / IPsec VPN服務器,可以使用以下命令:

IPsecEnable

輸入此命令后,將要求您配置L2TP服務器功能:

啟用IPsec服務器上的L2TP功能:選擇“是”以啟用具有預共享密鑰加密的IPSec上的L2TP VPN。現在,您可以使用iPhone,Android,Windows和Mac OS X設備與該服務器建立VPN連接。

啟用原始L2TP服務器功能:這將為沒有IPSec加密的客戶端啟用L2TP VPN。

通過IPsec服務器啟用EtherIP / L2TPv3功能:與通過IPsec兼容EtherIP / L2TPv3的路由器可以通過啟用此功能連接到該服務器。

IPsec的預共享密鑰:輸入要與L2TP VPN一起使用的預共享密鑰。

如果省略用戶名上的HUB,則為默認虛擬HUB:連接時,用戶必須使用Username @ TargetHubName作為用戶名來指定要嘗試連接的虛擬HUB 如果用戶不提供此類信息,則此選項指定要使用的虛擬集線器。在我們的例子中,輸入VPN

步驟10:設定SSTP / OpenVPN

SoftEther可以克隆Microsoft SSTP VPN服務器和OpenVPN服務器的功能。但是在啟用這些功能之前,我們必須為服務器生成一個自簽名SSL證書。您可以使用openssl或SoftEther自己的命令來生成SSL證書。

在這里,我們使用SoftEther的ServerCertRegenerate命令為我們的服務器生成並注冊一個自簽名SSL證書。傳遞給命令的參數是CN(通用名稱),並且必須設置為您的主機名(FQDN)或IP地址:

ServerCertRegenerate [CN]

注意1: SoftEther還帶有內置的動態DNS功能,可以為您的服務器分配唯一的永久主機名。您可以使用此功能分配的主機名來創建SSL證書並連接到服務器。

注2:如果您已經具有SSL證書,或者已使用openssl創建了一個SSL證書,則可以使用將該證書添加到服務器中ServerCertSet

現在,我們已經創建了證書,我們必須將證書下載到我們的客戶並將其添加為受信任的客戶。使用以下命令,我們將服務器證書保存到名為cert.cer的文件中

ServerCertGet ~/cert.cer

現在,您可以使用FileZilla或任何其他SFTP客戶端將證書下載到客戶端。

若要使證書在Windows中受信任,必須將其安裝在“受信任的根證書頒發機構”存儲中。這是一篇介紹操作方法的文章(請閱讀“安裝證書鏈”部分):

安裝證書鏈

現在我們已經為服務器創建並注冊了SSL證書,我們可以使用以下命令啟用SSTP功能:

SstpEnable yes

並啟用OpenVPN:

OpenVpnEnable yes /PORTS:1194

注意: OpenVPN的默認端口是1194,但是您可以通過將上面命令/ PORTS:1194部分更改為所需的一個或多個端口,將其更改為所需的任何端口(是的,它支持多個端口)。

啟用OpenVPN后,您可以下載OpenVPN客戶端的示例配置文件。在這里,我們創建一個示例OpenVPN配置文件,並將其保存到我的openvpn config.zip中

OpenVpnMakeConfig ~/my_openvpn_config.zip

然后,您可以使用任何SFTP客戶端(例如FileZilla)下載它,並將其應用於您的OpenVPN客戶端。

SoftEther還為Windows和Linux提供了專用的VPN客戶端軟件。它支持功能非常強大的稱為“基於HTTPS的以太網”SSL-VPN的SoftEther特定協議它使用HTTPS協議和端口443來建立VPN隧道,並且由於該端口是眾所周知的,幾乎所有的防火牆,代理服務器和NAT都可以傳遞數據包。為了使用SSL-VPN協議,您必須下載並安裝SoftEther VPN Client,可以從其網站獲得。

步驟11:連接到SoftEther VPN Server(客戶端配置)

由於SoftEther是多協議VPN服務器,因此有許多方法可以作為客戶端連接到它。您可以選擇任何協議來建立與服務器的安全連接,包括L2TP,SSTP,OpenVPN和SoftEther協議專有的SSL-VPN。

根據客戶端操作系統和配置,您可以使用任何上述協議。但是,我更喜歡使用SSL-VPN,因為它既安全又快速,並且如上所述,因為它使用了一個通用的知名端口(443或https-port),它可以穿透大多數防火牆。

在這里,我們使用SoftEther自己的VPN客戶端軟件連接到我們的服務器:

首先從SoftEther的網站下載適用於Linux的SoftEther VPN客戶端。我們可以使用lynx瀏覽器下載它輸入以下命令以打開SoftEther的下載頁面:

lynx http://www.softether-download.com/files/softether/

然后,就像下載服務器軟件時一樣,選擇最新版本(此處使用v2.00-9387-rtm-2013.09.16)。現在選擇Linux,然后在下一頁中選擇SoftEther VPN Client現在,根據系統的硬件體系結構,選擇一個程序包(32位-Intel x8664位-Intel x64或AMD64適用於DigitalOcean 32位或64位Droplet)。最后,通過按鏈接上的“ D”鍵從下一頁下載tar文件,並在Lynx詢問時選擇“保存到磁盤”保存文件后,按“ Q”退出Lynx。

使用以下命令解壓縮剛剛下載的tar文件:

tar xzvf softether-vpnclient-v2.00-9387-rtm-2013.09.16-linux-x86-32bit.tar.gz

注意:更改softether-vpnclient-v2.00-9387-rtm-2013.09.16-linux-x86-32bit.tar.gz為下載文件的名稱。

現在,就像處理服務器一樣,我們必須通過運行以下命令來編譯vpnclient並使之成為可執行文件(確保在客戶端上安裝第4步中提到的開發工具):

cd vpnclient
make

當要求閱讀並接受許可協議時,請輸入3次,然后輸入1,然后將文件移動到另一個目錄並更改權限:

cd ..
mv vpnclient /usr/local
cd /usr/local/vpnclient/
chmod 600 *
chmod 700 vpnclient
chmod 700 vpncmd

然后使用以下命令啟動VPN客戶端服務:

./vpnclient start

要配置我們的客戶端,我們將使用vpncmdvpnclient目錄中時,輸入以下命令以運行vpncmd工具:

./vpncmd

選擇2進入“管理VPN客戶端”模式,然后按Enter鍵連接到並管理您剛安裝的本地VPN客戶端。

SoftEther使用虛擬適配器建立與我們的VPN服務器的連接,使用此命令創建一個名為myadapter的虛擬適配器

NicCreate myadapter

現在使用此命令,創建一個名為myconnection的新VPN連接

AccountCreate myconnection

然后輸入您的SoftEther VPN服務器的IP和端口號。該端口號可以是您在服務器上設置為偵聽的任何端口。默認情況下,SoftEther偵聽以下四個端口:443、992、1194、5555。在下面的示例中,我們使用端口443:

Destination VPN Server Host Name and Port Number: [VPN Server IP Address]:443

注意:除了輸入IP地址,您還可以輸入服務器的標准域名(FQDN)。

現在,輸入您要在服務器上嘗試連接的虛擬集線器的名稱。在我們的例子中,它被命名為VPN

Destination Virtual Hub Name: VPN

然后輸入您在服務器中創建的用戶的用戶名。我們創建了一個名為test的用戶

Connecting User Name: test

最后輸入您剛剛創建的虛擬集線器的名稱:

Used Virtual Network Adapter Name: myadapter

現在我們的VPN連接已創建,可以連接了。最后一步是將身份驗證模式更改為密碼,因為這是我們在服務器中配置用戶身份驗證模式的方式:

AccountPasswordSet myconnection

當要求輸入標准作為密碼驗證方法時:

Specify standard or radius: standard

最后,我們可以連接我們的連接–使用此命令可以做到這一點:

AccountConnect myconnection

您可以使用以下命令查看連接狀態:

AccountStatusGet myconnection

注意:為了使與服務器的連接更加安全並防止中間人攻擊,最好使用SSL證書來標識服務器。使用SoftEther可以很容易地做到這一點。為此,首先必須按照步驟10中的說明將證書文件下載到客戶端,然后使用CertAdd將其添加到客戶端的受信任證書中。然后,使用命令AccountServerCertEnable為您的VPN連接啟用證書驗證。

整理起來

在本文中,我們介紹了使用vpncmd設置SoftEther VPN服務器的過程,vpncmd是SoftEther提供的命令行管理實用程序。使用Windows的SoftEther Server Manager也可以完成此處所做的所有事情,並且使用該工具設置SoftEther VPN Server甚至更加容易。因此,如果您有Windows計算機,我建議您使用它。

就是這樣。我們已經使用SoftEther成功安裝並配置了多協議VPN服務器。現在,客戶端可以使用L2TP,IPSec,SSTP,OpenVPN等連接到我們的服務器。

 

 

 

 

 

 

 

 

 

 

 

 

參考地址  http://blog.dengxj.com/archives/9/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM