VPN v Ubuntu - Hamachi
Většinu času jsem v Praze, a když je potřeba nakonfigurovat něco na domácích počítačích, tak není úplně ideální zjišťovat, co se stalo pomoci Skypu, jabberu a následně je vést k vyřešení problému. Proto jsem se rozhodl to vyřešit nějak lépe. :)
Většinu času jsem v Praze, a když je potřeba nakonfigurovat něco na domácích počítačích, tak není úplně ideální zjišťovat, co se stalo pomoci Skypu, jabberu a následně rodiče vést k vyřešení problému. Proto jsem se rozhodl to řešit nějak lépe. :)
Požadavky
- musí to fungovat v Ubuntu
- musí to fungovat přes NAT
- nesmí to být příliš komplikované zprovoznit
Získání hamachi
Rozhodl jsem se použít hamachi, které má i verzi pro linux.
Ze serverů hamachi je nutné stáhnout poslední dostupnou verzi, rozbalit ji a nainstalovat ji jako root. V následujícím kusu kódu stačí do HAM_VER přiřadit číslo poslední verze.
HAM_VER=0.9.9.9-20-lnx wget "http://files.hamachi.cc/linux/hamachi-${HAM_VER}.tar.gz" tar -xzf hamachi-${HAM_VER}.tar.gz cd hamachi-${HAM_VER} sudo make install
Toto je nutné provést na každém počítači jako první krok.
tuncfg
Nejdříve je nutné, aby se automaticky spouštělo tuncfg, které vytváří virtuální síťové zařízení.
K tomuto účelu se hodí následující skript, který je navíc nutné nastavit, aby se spouštěl během bootování.
#! /bin/sh case "$1" in start) /sbin/tuncfg ;; stop) killall tuncfg ;; restart|force-reload) $0 stop $0 start ;; *) echo "Usage: tuncfg {start|stop|restart|force-reload}" >&2 exit 3 ;; esac
Tento soubor je nutné uložit do souboru /etc/init.d/tuncfg (1. řádek následuícího skriptu). Aby bylo možné pokračovat v instalaci hamachi rovnou i tento skript spustíme.
sudo gedit /etc/init.d/tuncfg sudo update-rc.d tuncfg defaults 85 sudo chmod a+x /etc/init.d/tuncfg sudo /etc/init.d/tuncfg start
Vytvoření sítě
Nejdříve je nutné hamachi klienta incializovat, aby se dal začít používat. Následně je možné hamachi spustit a vytvořit síť.
Parametr -n u inicializace udává jméno uživatele v síti hamachi. Název sítě musí být unikátní v rámci celé hamachi sítě.
hamachi-init -n $USER hamachi start hamachi login hamachi create [nazev] [heslo]
Tento krok je nutné provést jednou na libovolném počítači.
hamachi
Pro automatické spouštění hamachi je nutné vytvořit spouštěcí skript. V následujícím kódu je nutné nastavit název a heslo sítě.
#! /bin/sh HAM_CONF=/root/.hamachi # konfigurace HAM_NET=[nazev] HAM_PAS=[heslo] case "$1" in start) hamachi -c $HAM_CONF start hamachi -c $HAM_CONF login sleep 2; hamachi -c $HAM_CONF join $HAM_NET $HAM_PAS hamachi -c $HAM_CONF go-online $HAM_NET ;; stop) hamachi -c $HAM_CONF go-offline $HAM_NET hamachi -c $HAM_CONF logout hamachi -c $HAM_CONF stop ;; restart|force-reload) $0 stop $0 start ;; *) echo "Usage: hamachi {start|stop|restart|force-reload}" >&2 exit 3 ;; esac
Tento kód je potřeba uložit do souboru /etc/init.d/hamachi (2. řádek následujícího kódu). Před prvním spuštěním hamachi je opět nezbytné inicializovat prostředí a nastavit automatické spouštění hamachi klienta.
sudo hamachi-init -c /root/.hamachi -n `hostname` sudo gedit /etc/init.d/hamachi sudo update-rc.d hamachi defaults 90 sudo chmod a+x /etc/init.d/hamachi sudo /etc/init.d/hamachi start
Administrace sítě
Na počítači, ze kterého chceme spravovat takto vytvořenou síť je nutné provést konfiguraci tuncfg, inicializaci hamachi a připojit se do vytvořené sítě.
hamachi-init -n $USER hamachi start hamachi login hamachi join [nazev] [heslo] hamachi go-online [nazev]
Závěr
Zvolené řešení není úplně bezpečné - 2 programy zbytečně běží pod rootem, ale není problém toto vyřešit vytvořením dalšího uživatele.
- Martin's blog
- Printer-friendly
- 544 reads