Toto je starší verze dokumentu!
SoftEtherVPN
SoftEther VPN je multiplatformní VPN server a klient, který umí více typů připojení včetně L2TP/IPsec. Na této stránce mám praktické poznámky ke kompilaci a aktualizaci serveru na Linuxu i k připojování klientů z Ubuntu a Androidu.
Instalace a kompilace serveru
Při první instalaci jsem narazil na to, že build potřebuje správné knihovny a že některé starší zdrojové větve dělaly problémy s parametrem -m64. Je proto dobré mít po ruce jak oficiální download stránku, tak aktuální dokumentaci build procesu.
Potřebné balíčky:
apt-get install libreadline-dev zlib1g-dev cmake build-essential pkg-config libsodium-dev
Stabilní větev lze stáhnout z SoftEtherVPN_Stable:
git clone https://github.com/SoftEtherVPN/SoftEtherVPN_Stable.git cd SoftEtherVPN_Stable ./configure make make install
U staršího zdrojového stromu jsem narazil při kompilaci na chybu:
cc: error: unrecognized command line option '-m64'
Tehdy pomohlo ručně odstranit -m64 z příslušných proměnných v Makefile a doinstalovat balíčky libreadline-dev a zlib1g-dev. Šlo ale o workaround pro konkrétní starší build, ne o obecné doporučení pro dnešní verze.
Aktualizace SoftEther VPN
Složku se zdrojáky si nechávám na serveru, aby šla aplikace průběžně aktualizovat přes Git. Postup byl:
git pull make clean ./configure make make install
Konfigurační soubor serveru /usr/vpnserver/vpn_server.config tím nebyl přepsaný. Důležité je, že se needituje ručně, ale přes nástroj vpncmd.
Fail2ban pro SoftEther
Pokud je na serveru zapnutý fail2ban, jde SoftEther chránit i proti brute-force pokusům. Praktický postup mám rozepsaný tam, ale základ je v tom, že SoftEther musí logovat do jednoho stabilního souboru a fail2ban pak sleduje sec.log pro konkrétní VPN hub.
Konfigurace Ubuntu pro připojení VPN přes L2TP
Nejprve je potřeba nainstalovat tyto balíčky:
sudo apt install network-manager-l2tp network-manager-l2tp-gnome
V nastavení sítě se pak přidá nové VPN připojení typu Layer 2 Tunneling Protocol (L2TP).
Konkrétní screenshoty a nastavení v této stránce zachovávám jako praktickou referenci k tomu, jak jsem měl řešené dva scénáře: oddělenou servisní síť a bridge do domácí sítě.
Nastavení privátní sítě
Takto vypadá nastavení pod tlačítkem IPsec Settings:
A takto nastavení pod PPP Settings:
Ruční nastavení brány a routingu pro servisní síť:
Nastavení bridge
Toto nastavení jsem používal ve chvíli, kdy se měl počítač po VPN tvářit, jako by byl fyzicky v domácí síti.
IPsec Settings:
PPP Settings:
IPv4 nastavení:
Konfigurace Androidu pro připojení VPN přes L2TP
U starších verzí Androidu nebyl potřeba root telefonu. Všechno se řešilo přes Síť a internet → VPN.
Nastavení privátní sítě
Nastavení bridge
Problém s Androidem 14
Na Androidu 14 už není k dispozici L2TP/IPsec PSK tak, jak jsem ho používal dřív. V praxi to znamená, že starší postupy pro SoftEther přestaly být na novém telefonu použitelné. Podle diskusí byla podpora L2TP/IPsec PSK odstraněna už od Androidu 13.
V době psaní poznámek neměl SoftEther implementovanou podporu IKEv2. Sleduji proto tyto směry:
- strongSwan jako alternativu pro IKEv2
- WireGuard jako jiný směr VPN úplně mimo L2TP bridge scénář
WireGuard a bridge poznámka
U WireGuardu je problém v tom, že nativně řeší Layer 3, ne Layer 2 bridge. Pokud bych chtěl emulovat bridge, bylo by potřeba použít něco jako GRETAP nebo Geneve. K tomu jsem si odložil tyto odkazy:












