Úvod
Ať už se chcete vzdáleně připojit k vaší podnikové síti nebo vytvořit virtuální síť mezi dvěma vzdálenými body prostřednictvím nezabezpečené sítě (např.:Internet), budete nějak potřebovat VPN (Virtual Private Network). VPN vám umožňuje bezpečně se připojit ke vzdálené LAN (Local Area Network) prostřednictvím internetu nebo nedůvěryhodných sítí.
SoftEther je Open Source VPN Server, alternativa k OpenVPN. Má se za to, že je to nejvýkonnější a uživatelsky snadno použitelný víceprotokolový VPN software.
Náš článek se zabývá tím, jak nastavit SoftEther na Ubuntu Xenial Xerus Linux.
Co budete potřebovat
- Ubuntu 16.04 Xenial Xerus Linux
- Doporučujeme 30 GB volného místa na disku
- Oprávnění uživatele root
Všimněte si, že binární soubory použité v tomto článku jsou architektury x64. Pokud váš počítač není x64, musíte vybrat vhodné binární soubory.
Konvence
# – vyžaduje, aby dané linuxové příkazy byly spouštěny s právy root buď přímo jako uživatel root, nebo pomocí sudo
příkaz
$ – vyžaduje, aby dané linuxové příkazy byly spouštěny jako běžný neprivilegovaný uživatel
> – daný příkaz má být spuštěn z rozhraní příkazového řádku vpncmd
Příprava serveru
Upgradujte systém:
$ sudo apt update $ sudo apt upgrade
Nainstalujte (pokud ještě není nainstalováno) build-essential
pro účely kompilace:
$ sudo apt install build-essential
Instalace SoftEther
Načítání měkčích zdrojů
Pojďme načíst zdroje SoftEther (nejnovější sestavení je verze 4.22 vydaná 27. 11. 2016):
$ 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
Dekomprimujte zdroje
$ tar xzf softether-vpnserver-v4.22-9634-beta-2016.11.27-linux-x64-64bit.tar.gz
Po úspěšné dekompresi najdeme složku s názvem vpnserver
v našem aktuálním adresáři.
Instalovat ze zdrojů
$ cd vpnserver $ sudo make
Během procesu instalace budeme muset zadat 1
pro přečtení licenční smlouvy zadejte 1
znovu, abyste potvrdili, že jsme si přečetli licenční smlouvu, a nakonec zadejte 1
odsouhlasit licenční ujednání.
Po instalaci můžeme projít výstup, abychom potvrdili, že celý proces proběhl správně bez jakékoli chyby.
Jakmile bude vše správně provedeno, budeme moci spustit vpn serveru z instalační složky pomocí tohoto příkazu:
$ sudo ./vpnserver start
Udělejme to lépe, když jej nakonfigurujeme jako daemon
.
Konfigurace jako démon
Pomocí těchto kroků nakonfigurujte náš server vpn jako daemon
.
Přesuňte instalační složku do /usr/local
$ cd .. $ sudo mv vpnserver /usr/local
Udělte příslušná práva k souborům
$ cd /usr/local/vpnserver/ $ sudo chmod 600 * $ sudo chmod 700 vpnserver $ sudo chmod 700 vpncmd
Než půjdeme dále, zkontrolujte, zda server vpn může na našem serveru normálně fungovat. Je důležité provést tuto kontrolu před spuštěním vpnserver
.
- Spusťte
vpncmd
příkaz - Zadejte
3
- Potom zadejte
check
$ cd /usr/local/vpnserver/ $ sudo ./vpncmd
Pokud je vše v pořádku, měli bychom na konci operace obdržet zprávu „Všechny kontroly prošly“.
Vytvořte službu systemd
Vytvořte soubor /lib/systemd/system/vpnserver.service
$ sudo vi /lib/systemd/system/vpnserver.service
A vložte do něj následující obsah:
[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
Nyní se VPN server spouští automaticky při bootování a my jsme schopni spravovat vpnserver pomocí systemctl
.
Připravte SoftEther VPN Server k použití
SoftEther nabízí mnoho případů použití:Ad-hoc VPN, vzdálený přístup k LAN, LAN to LAN most atd. V tomto článku jej nakonfigurujeme pro použití „Vzdálený přístup k LAN“.
Nejprve vytvoříme virtual hub
a poté vytvořte jakési propojení mezi tímto virtual hub
a serverová síť (podniková LAN).
Nastavte heslo správce pro vpncmd
Ze zřejmých důvodů se doporučuje okamžitě nastavit heslo správce pro vpncmd
jakmile je nainstalován server VPN. To se provádí pomocí vpncmd
nástroj:
$ cd /usr/local/vpnserver/ $ sudo ./vpncmd
Jak je znázorněno na obrázku výše, vybereme 1
pro „Správa VPN serveru nebo VPN Bridge“, pak stačí stisknout Enter
pro následující otázky, dokud nezískáme VPN Server>
výzva. Na příkazovém řádku zadáme ServerPasswordSet
.
Vytvořte virtuální centrum
Pomocí vpncmd
, vytvoříme virtual hub
s názvem „myFirstHUB“:
$ cd /usr/local/vpnserver/ $ sudo ./vpncmd > HubCreate myFirstHUB
Připojte virtuální rozbočovač k síti serveru
Abychom klientům umožnili přístup k síti serveru, musíme propojit virtual hub
do LAN. To lze provést pomocí připojení Local Bridge nebo pomocí SecureNAT
funkce.
V našem případě SecureNAT
funkce bude použita. SecureNAT
funkce umožňuje používat server VPN jako jednoduchou síťovou bránu, DHCP server nebo jednoduchou bránu pro vzdálený přístup ke vzdáleným stránkám.
Vyberme náš virtual hub
a povolte SecureNAT
funkce.
$ cd /usr/local/vpnserver/ $ sudo ./vpncmd > Hub myFirstHUB > SecureNatEnable
Vytvořit uživatele
Příkaz pro vytvoření uživatele:UserCreate
Po vytvoření uživatele musíme nastavit heslo. Všimněte si, že je možné použít i jiné metody ověřování:NTLM
, RADIUS
atd. Výchozí metoda ověřování je „password“.
Příkaz pro nastavení hesla:UserPasswordSet
Konfigurace klienta
SoftEther poskytuje klienty pro mnoho OS včetně Linuxu.
Stáhněte si klienta
Použijeme wget
příkaz ke stažení klienta.
$ 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
Rozbalte zdroje
$ tar xzf softether-vpnclient-v4.22-9634-beta-2016.11.27-linux-x64-64bit.tar.gz
Instalovat ze zdrojů
Kompilace klienta je podobná serveru.
$ cd vpnclient $ sudo make
Po instalaci změníme oprávnění souborů následovně:
$ sudo chmod 600 * $ sudo chmod 700 vpnclient $ sudo chmod 700 vpncmd
Nyní můžeme spustit klienta VPN a provést požadovanou konfiguraci pro připojení k serveru.
$ sudo ./vpnclient start $ sudo ./vpncmd
Vyberte 2
pro vstup do „Správa klienta VPN“. A proveďte tyto akce:
- Vytvořte virtuální adaptér (použijte
NiceCreate
, zadejte „jakýkoli“ název, který chcete) - Vytvořte připojení VPN (
AccountCreate account0
) - Uveďte název hostitele cílového serveru a číslo portu (server:port)
- Vyberte
virtual hub
ke kterému se chcete připojit (v našem případě používáme „myFirstHUB“ vytvořený na serveru) - Zadejte uživatelské jméno
- Použijte dříve vytvořený virtuální adaptér
Nyní můžeme spustit připojení klienta VPN. Než tak učiníme, musíme zadat heslo pro uživatele, kterého jsme předtím nakonfigurovali v připojení VPN.
> AccountPassword account0 > standard > AccountConnect account0
Klient je nyní připojen, ale virtuálnímu adaptéru není přiřazena žádná IP adresa. Jako poslední krok musíme požádat o IP adresu ze serveru vpn. Můžeme použít ifconfig
příkaz k nalezení virtuálního adaptéru vpn (předpona vpn_
) a poté použijte dhclient
příkaz k vyžádání IP adresy.
$ sudo dhclient vpn_ethvpn0
Po tomto příkazu klient VPN získá IP adresu ze serveru SoftEther VPN a může komunikovat se vzdálenou LAN.
Děkujeme za váš zájem o tento článek. Oceňujeme vaše dotazy a vylepšení.