SoftEther VPN – instalace, kompilace a udržování aktualizací

Autor: | 10. 4. 2020 | IT, Linux

Štítky: git | linux | softether vpn | vpn

Při instalaci routeru jsem narazil na zajímavý VPN server SoftEther VPN. Dříve jsem používal OpenVPN, nicméně distribuce certifikátů a nastavení mi přišlo složitější. Zejména tedy zprovoznění OpenVPN na mobilních zařízeních. Co se týče SoftEther VPN, nemusel jsem na smartphonu instalovat žádný další software či telefon rootovat. Sepisuji postup na kompilaci software na Linuxu a překážky, se kterými jsem se setkal.

Stažení a kompilace

Aktuální verzi zdrojového kódu jsem stáhnul zde: https://www.softether.org/5-download. Další  alternativa stažení je přímo z GITu https://github.com/SoftEtherVPN/SoftEtherVPN_Stable.

V rozbaleném adresáři je třeba nejdříve spustit:

./configure
make

Při kompilaci ovšem došlo k této chybě:

cc -DNDEBUG -DVPN_SPEED -DUNIX -DUNIX_LINUX -DCPU_64 -D_REENTRANT -DREENTRANT -D_THREAD_SAFE -D_THREADSAFE -DTHREAD_SAFE -DTHREADSAFE -D_FILE_OFFSET_BITS=64 -I./src/ -I./src/Cedar/ -I./src/M
ayaqua/ -O2 -fsigned-char -m64 -c src/Mayaqua/Cfg.c -o tmp/objs/Mayaqua/Cfg.o

cc: error: unrecognized command line option ‘-m64’

make: *** [Makefile:111: tmp/objs/Mayaqua/Cfg.o] Chyba 1

 

Problém se mi podařilo vyřešit editací vytvořeného Makefile. Odstranil jsem příznaky -m64 ze 4 řádků, kde jsou proměnné OPTIONS_COMPILE_DEBUG, OPTIONS_LINK_DEBUG, OPTIONS_COMPILE_RELEASE, OPTIONS_LINK_RELEASE. Výsledek proměnných v Makefie pak vypadal takto:

OPTIONS_COMPILE_DEBUG=-D_DEBUG -DDEBUG -DUNIX -DUNIX_LINUX -DCPU_64 -D_REENTRANT -DREENTRANT -D_THREAD_SAFE -D_THREADSAFE -DTHREAD_SAFE -DTHREADSAFE -D_FILE_OFFSET_BITS=64 -I./src/ -I./src/C
edar/ -I./src/Mayaqua/ -g -fsigned-char -m64

OPTIONS_LINK_DEBUG=-g -fsigned-char -m64 -lm -ldl -lrt -lpthread -lssl -lcrypto -lreadline -lncurses -lz

OPTIONS_COMPILE_RELEASE=-DNDEBUG -DVPN_SPEED -DUNIX -DUNIX_LINUX -DCPU_64 -D_REENTRANT -DREENTRANT -D_THREAD_SAFE -D_THREADSAFE -DTHREAD_SAFE -DTHREADSAFE -D_FILE_OFFSET_BITS=64 -I./src/ -I.
/src/Cedar/ -I./src/Mayaqua/ -O2 -fsigned-char -m64

OPTIONS_LINK_RELEASE=-O2 -fsigned-char -m64 -lm -ldl -lrt -lpthread -lssl -lcrypto -lreadline -lncurses -lz

Dále jsem musel nainstalovat tyto balíčky, abych mohl software zkompilovat, protože při kompilaci se objevovali další chyby.

apt-get install libreadline-dev zlib1g-dev

Nyní už se podařilo SoftEther VPN zkompilovat. A nainstalovat.

make
make install

Aktualizace SoftEther VPN

Složku s instalací nechávám na serveru, abych mohl software snadno průběžně aktualizovat. K aktualizaci kódu mi slouží GIT. Nejprve tedy vstoupím do složky a aktualizuji zdrojový kód:

git pull

Jako další krok smažu staré binární soubory a soubory, který vznikly při kompilaci. Pro jistotu zmíním, že se tím nemaže již nainstalovaný kód. Takže VPN server může běžet a paralelně s tím budu kompilovat nový zdrojový kód.

make clean

A teď znovu nakonfigurovat:

./configure

Konfigurací vzniknul nový soubor Makefile, který opět obsahuje příznak -m64, který jsem musel odmazat – viz výše. Na závěr konečně kompilace a instalace nového kódu.

make
make install

SoftEther VPN je nainstalovaný v adresáři /usr. Je tam klient i server. Konfigurační soubor serveru /usr/vpnserver/vpn_server.config není aktualizací nijak dotčen – byly aktualizovány binární soubory. A pro jistotu ještě zmíním, že konfigurační soubor serveru se needituje ručně, ale skrze vpn klienta /usr/vpncmd/vpncmd.

Co se týče nastavení SoftEther VPN, tak lze využít některý ze zdrojů níže.

Další články