Zobrazit stránkuStarší verzeZpětné odkazyNahoru Tato stránka je pouze pro čtení. Můžete si pouze prohlédnout zdrojový kód, ale ne ho měnit. Zeptejte se správce, pokud si myslíte, že něco není v pořádku. ====== SoftEtherVPN ====== [[https://www.softether.org/|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: <code bash> apt-get install libreadline-dev zlib1g-dev cmake build-essential pkg-config libsodium-dev </code> Stabilní větev lze stáhnout z [[https://github.com/SoftEtherVPN/SoftEtherVPN_Stable|SoftEtherVPN_Stable]]: <code bash> git clone https://github.com/SoftEtherVPN/SoftEtherVPN_Stable.git cd SoftEtherVPN_Stable ./configure make make install </code> ==== Chyba -m64 na ARM serverech ==== Na ARM serverech se při kompilaci může objevit tato chyba: <code> 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/Mayaqua/ -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 </code> Příznak ''-m64'' je specifický pro architekturu x86-64 a ARM kompilátor ho nezná. Řešením je editace vygenerovaného ''Makefile'' – odstranit ''-m64'' ze čtyř proměnných: * ''OPTIONS_COMPILE_DEBUG'' * ''OPTIONS_LINK_DEBUG'' * ''OPTIONS_COMPILE_RELEASE'' * ''OPTIONS_LINK_RELEASE'' Pokud při kompilaci chybují knihovny, doinstalovat: <code bash> apt-get install libreadline-dev zlib1g-dev </code> ===== 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: <code bash> git pull make clean ./configure make make install </code> 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''. **Poznámka pro ARM:** Každé spuštění ''./configure'' vygeneruje nový ''Makefile'', který opět obsahuje příznak ''-m64''. Na ARM serverech je proto nutné Makefile znovu upravit (viz výše) před každým spuštěním ''make''. ===== Fail2ban pro SoftEther ===== Pokud je na serveru zapnutý [[infrastruktura:bezpecnost:fail2ban|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: <code bash> sudo apt install network-manager-l2tp network-manager-l2tp-gnome </code> 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ě. {{.:pasted:20221205-135215.png}} ==== Nastavení privátní sítě ==== {{.:pasted:20221205-134252.png}} Takto vypadá nastavení pod tlačítkem IPsec Settings: {{.:pasted:20221205-120809.png}} A takto nastavení pod PPP Settings: {{.:pasted:20221205-120707.png}} Ruční nastavení brány a routingu pro servisní síť: {{.:pasted:20221205-120957.png}} ==== 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. {{.:pasted:20221205-133333.png}} IPsec Settings: {{.:pasted:20221205-133357.png}} PPP Settings: {{.:pasted:20221205-133849.png}} IPv4 nastavení: {{.:pasted:20221205-133442.png}} ===== 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ě ==== {{.:pasted:20221205-164935.png?400}} {{.:pasted:20221205-164952.png?400}} ==== Nastavení bridge ==== {{.:pasted:20221205-165011.png?400}} {{.:pasted:20221205-165026.png?400}} ===== 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: * [[https://github.com/NovaVPN/SoftEtherVPN|pokus o implementaci IKEv2 do SoftEtheru]] * [[https://github.com/NovaVPN/SoftEtherVPN/issues/1|diskuse k licenci a integraci]] * [[https://github.com/SoftEtherVPN/SoftEtherVPN/issues/13|žádost o implementaci IKEv2 v SoftEtheru]] * [[https://strongswan.org/|strongSwan]] jako alternativu pro IKEv2 * [[https://www.wireguard.com/|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: * [[https://notes.superlogical.ch/pages/note_wg/nolayer2/|WireGuard without layer2]] * [[https://gist.github.com/zOrg1331/a2a7ffb3cfe3b3b821d45d6af00cb8f6|WireGuard GRETAP gist]] * [[https://www.root.cz/clanky/tunelujeme-ethernet-pres-wireguard-pomoci-protokolu-geneve/|Tunelujeme Ethernet přes WireGuard pomocí Geneve]] ===== Zdroje ===== * [[https://www.softether.org/|SoftEther.org]] * [[https://www.softether.org/5-download|SoftEther download]] * [[https://github.com/SoftEtherVPN/SoftEtherVPN_Stable|SoftEtherVPN_Stable]] * [[https://www.cactusvpn.com/tutorials/how-to-set-up-softether-vpn-client-on-linux/|How to set up SoftEther VPN client on Linux]] * [[https://github.com/NovaVPN/SoftEtherVPN|NovaVPN / SoftEtherVPN]] * [[https://strongswan.org/|strongSwan]] * [[https://www.wireguard.com/|WireGuard]] infrastruktura/vpn/softether.txt Poslední úprava: 23.04.2026 12:56autor: Petr Nosek