infrastruktura:vpn:softether

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.

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.

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.

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.

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ě.

Takto vypadá nastavení pod tlačítkem IPsec Settings:

A takto nastavení pod PPP Settings:

Ruční nastavení brány a routingu pro servisní síť:

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í:

U starších verzí Androidu nebyl potřeba root telefonu. Všechno se řešilo přes Síť a internet → VPN.

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:

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:

  • infrastruktura/vpn/softether.1776938313.txt.gz
  • Poslední úprava: 23.04.2026 11:58
  • autor: Petr Nosek