VPN tedy Virtual Private Network je technologie pro vytvoření lokální sítě mezi několika PC prostřednctvím internetu. Lze ji využít například:
- Přístup do firemní sítě z prostředí internetu
- Přístup ke vzdáleným počítačům, které jsou jinak schované za NAT
- Anonymní přístup do internetu
Tu třetí variantu já spíše nazývám „Anonymizer“ a nepovažuji to za VPN.
Už je to nějaká doba, co jsem psal o VPN n2n. Jeden článek je už staršího data. Druhý článek je novější. Od toho data už vyšla další stabilní verze mého oblíbeného N2N.
K tomu všemu vždy ale potřebujeme VPN server, tzv. SUPERNODE. Tento supernode slouží jako prostředník, aby se klienti, kteří se na něj připojí, mohli „seznámit“. Další provoz je již napřímo. Jako supernode můžeme využít nějaký dostupný. Našel jsem čínské stránky, které se tomuto tématu věnují, a kde je i nějaký seznam dostupných serverů. Nějaký čas jsem používal italský ntop.org, pak zase chvíli lucktu.com. Ale pak jsem si udělal vlastní supernode.
Server
Potřebujete server, trvale běžící počítač s přístuperm do internetu. Na firewallu si povolíme port. Většinou se používá 7777. Na serveru si nakofigurujeme /etc/n2n/supernode.conf
:
-p=7777
-c=/etc/n2n/community.list
Parametr -p určuje port, na kterém supernode poslouchá. Parametr -c definuje txt soubor s dalšími parametry jednotlivých komunit. A to je právě další síla N2N:
atari 172.16.0.0/24
c64 172.16.1.0/24
speccy 192.168.128.0/24
Každý řádek definuje název komunity a rozsah sítě. Klient pak musí zadat do parametru název sítě/komunity (a heslo). Pokud zadá nějaký název komunty, který je z tohoto seznamu, dostane přiřazenou IP adresu, pokud ji nemá nastavenou statickou. Začal jsem si postupně do vlastní VPN přidávat další a další kompy, a už jsem se začal ztrácet, jaké IPky jsou volné.
Pak celý server nahodíme. Pokud je to ubuntu jako ten můj, pak:
systemctl enable supernode.service
systemctl start supernode.service
Na serveru lze ještě definovat záložní server parametrem -l společně s parametrem -F. Čti dokumentaci.
Klient
Existuje N2N klient pro Windows, Linux, Android a viděl jsem i pro Mac (s Intel).
Na Linux i na Windows používám trvale běžícího klienta. Na linux musíme opět editovat /etc/n2n/edge.conf:
-d=n2n0
-c=speccy
-k=speccyisthebest
-a=172.16.0.1/16
#-r -a=dhcp:0.0.0.0
-l=myserver.org:7777
Parametr -d definuje název síťového rozhraní v systému. Jak správně vidíte, parametr -c je onen název skupiny, sítě. Může být i mimo definované community.list, ale pak nedostane žádnou IP adresu, pokud ji nebude mít nastavenou statickou. Heslo dané komunty (sítě) je pomocí -k. Pokud někdo zadá chybé heslo, připojí se. Ale vytvoří se nová síť, plně oddělená od té se správným heslem. Prostě do jména a hesla je možné napsat cokoliv, ale jen ti dva klienti, co mají stejné údaje, se navzájem propojí.
Pak je tu IP adresa. Na příkladu je definovaná staticky, pokud se uvede: -r -a=dhcp:0.0.0.0, pak IP dostane (nebo nedostane), jestli je daná komunita definovaná na serveru (viz. výše). Na hesle nezáleží.
Nejvíce důležité je i definice, kdo je vlastně onen supernode. Po -l (malé L) je nutné definovat vlastní server, nebo nějaký veřejný a port, na kterém naslouchá.
A nakonec můžeme nahodit i klienta na PC:
systemctl enable edge.service
systemctl start edge.service
Ve výpisu systemctl status edge
by mělo být vidět:
[OK] edge <<< ================ >>> supernode
Chcete vyzkoušet můj supernode a nastavit nějakou komunitu a rozsah sítě? Ozvěte se mi. Server se víceméně fláká.
Nakonec zkusím ještě najít odkaz na klienty pro:
Linux – https://github.com/ntop/n2n/releases/tag/3.0
Windows – https://github.com/lucktu/n2n/tree/master/Windows
Android – https://github.com/lucktu/n2n/tree/master/Android/Client
Jeden komentář na “Virtuální privátní síť N2N potřetí”
Je nám líto, ale formulář pro přidávání komentářů je momentálně uzavřen.
Ahoj Luďku, bylo by možné požádat o zřízení komunity na supertnode N2N serveru u tebe? Chtel bych to vyzkouset, jak se to bude chovat atd. děkuji. ozvi se mi prosim na muj email michal (tecka) siman (tady zavinac) gmailteckacom – klasika. moc diky.