Tunel VPN P2P bez adresów publicznych - projekt N2N
|
hermes-80 |
Dodano 08-01-2013 22:52
|
VIP
Posty: 3676
Dołączył: 21/04/2009 11:24
|
Jak każdy z nas wie mamy wiele rodzai tuneli VPN - nie jest problemem stworzyć tunel VPN gdy mamy do dyspozycji chociaż jeden adres publiczny.
Ale co zrobić gdy żadna lokalizacja nie udostępnia nam adresu publicznego, a koniecznie chcemy połączyć obie lokalizacje?
Inspirując się opisem naszego kolegi: http://eko.one.pl/?p=openwrt-n2n zapragnąłem by takie coś odpalić na Tomato.
Korzystając z projektu N2N http://www.ntop.org/products/n2n/ możemy sobie z tym poradzić.
Czym jest projekt N2N - jak wiemy klasyczny tunel VPN tworzymy za pomocą Klienta i Serwera przy projekcie N2N mamy udostępniony publiczny bezpłatny serwer pośredniczący pod adresem: 88.86.108.50
- czyli odpada nam odpalanie serwera na publicznym IP i o to właśnie nam chodziło.
Do dzieła:
Musimy mieć zainstalowane Optware: http://openlinksys.info/forum/viewthr...ad_id=7607
Instalacja:
[root@WNR3500 root]$ ipkg update
[root@WNR3500 root]$ ipkg install n2n
Aplikacja instaluje się w lokalizacji: /opt/sbin, a paczka zawiera:
klienta - edge (będziemy z niego korzystać)
serwer - supernode (możemy odpalić swój własny węzeł pośredniczący jeśli mamy IP publiczne)
Jest to pakiet wersji v2 - lepsze zabezpieczenia: http://linux.die.net/man/7/n2n_v2, serwer nasłuc****e na porcie 86
Omówię dwa przypadki:
1. router ---- klient PC win32 (przetestowane)
2. router ---- router (nieprzetestowane)
1.
---------- Router ----------
Aby aplikacja zadziałała musimy najpierw załadować moduł tun:
[root@WNR3500 root]$ insmod tun
Odpalamy klienta:
[root@WNR3500 root]$ /opt/sbin/edge -d n2n -a 10.10.10.1 -c "nazwa_własnej_sieci" -k "hasło_do_sieci" -l 88.86.108.50:86
(jest on odpalany od razu jako deamon - jeśli nie chcemy aby odpalał się jako deamon z jakiś powodów to musimy dodać parametr -f wtedy widzimy co wypluwa w konsoli)
parametry:
-d: nazwa interfejsu w systemie
-a: IP interfejsu w systemie
-c: nazwa własnej sieci
-k: hasło do sieci
-l: publiczny serwer pośredniczący (supernode)
Aby sprawdzić poprawność połączenia się z serwerem:
[root@WNR3500 root]$ ifconfig
powinien nam się ukazać interfejs:
n2n Link encap:Ethernet HWaddr 00:FF:09:2F:DB:92
inet addr:10.10.10.1 Bcast:10.10.10.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1400 Metric:1
RX packets:1523 errors:0 dropped:0 overruns:0 frame:0
TX packets:1441 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:500
RX bytes:152230 (148.6 KiB) TX bytes:140537 (137.2 KiB)
Do firewalla dodajemy:
Cytat iptables -I OUTPUT -o n2n -j ACCEPT
iptables -I INPUT -i n2n -j ACCEPT
iptables -I FORWARD -o n2n -j ACCEPT
iptables -I FORWARD -i n2n -j ACCEPT
-----------------------------------------------------------------------------
---------- PC ----------
Teraz przechodzimy do instalacji aplikacji na win32 (sprawdzone na XP Pro 32bit SP3)
Przyzwyczajeni do okienek instalujemy sobie: GUI http://sourceforge.net/projects/n2ned...0GUI/v1.0/
Jeśli nie mamy zainstalowanego to instalujemy - Microsoft Visual C++ 2008 Redistributable Package (x86): http://www.microsoft.com/en-us/downlo...px?id=5582
Instalator domyślnie instaluje nam:
- program konsolowy edge.exe
- GUI
- wirtualną kartę sieciową TAP
C:\Program Files\N2N Edge GUI\edge.exe - programy konsolowe
C:\Program Files\N2N Edge GUI\drv - sterowniki wirtualnej karty sieciowej TAP
Instalator z automatu instaluje nam wirtualną kartę sieciową TAP ale gdyby tak się nie stało to sami ręcznie zabieramy się za instalacje:
Cytat Panel sterowania\Dodaj sprzęt\Dalej\Tak urządzenie zostało już podłączone - Dalej\Dodaj nowe urządzenie sprzętowe (na końcu listy) - Dalej\Zainstaluj sprzęt, który wybiorę ręcznie z listy - Dalej\Karty sieciowe - Dalej\Z dysku\{C:\Program Files\N2N Edge GUI\drv} - OemWin2k.inf\TAP-Win32 Adapter - Dalej\Dalej ...
Po zainstalowaniu w menadżerze urządzeń powinna być nowa karta sieciowa o nazwie: TAP-Win32 Adapter
Odpalamy i konfigurujemy:
-----------------------------------------------------------------------------
Po tych zabiegach komunikacja:
ping 10.10.10.1 z PC ---> PC TAP (10.10.10.2) --- internet --- n2n (10.10.10.1) router
Cytat Odpowiedź z 10.10.10.1: bajtów=32 czas=67ms TTL=64
Odpowiedź z 10.10.10.1: bajtów=32 czas=67ms TTL=64
Odpowiedź z 10.10.10.1: bajtów=32 czas=68ms TTL=64
Odpowiedź z 10.10.10.1: bajtów=32 czas=63ms TTL=64
ping 10.10.10.2 z routera ---> router n2n (10.10.10.1) --- internet --- TAP (10.10.10.2) PC
Cytat 64 bytes from 10.10.10.2: seq=766 ttl=128 time=64.392 ms
64 bytes from 10.10.10.2: seq=767 ttl=128 time=63.935 ms
64 bytes from 10.10.10.2: seq=768 ttl=128 time=67.518 ms
64 bytes from 10.10.10.2: seq=769 ttl=128 time=66.617 ms
Zasada jest prosta:
nazwa_własnej_sieci musi być identyczna na wszystkich klientach
hasło_do_sieci również musi być identyczne na klientach podłączanych do serwera.
-a 10.10.10.1 IP interfejsu różne na klientach z tej samej podsieci.
2.
Połączenie miedzy routerami sprowadza się do wykonania tej czynności na obu zmieniając tylko parametr -a 10.10.10.1
---------- 1 Router ----------
Instalacja:
[root@WNR3500 root]$ ipkg update
[root@WNR3500 root]$ ipkg install n2n
Aby aplikacja zadziałała musimy najpierw załadować moduł tun:
[root@WNR3500 root]$ insmod tun
Odpalamy klienta:
[root@WNR3500 root]$ /opt/sbin/edge -d n2n -a 10.10.10.1 -c "nazwa_własnej_sieci" -k "hasło_do_sieci" -l 88.86.108.50:86
Aby sprawdzić poprawność połączenia się z serwerem:
[root@WNR3500 root]$ ifconfig
powinien nam się ukazać interfejs:
n2n Link encap:Ethernet HWaddr 00:FF:09:2F:DB:92
inet addr:10.10.10.1 Bcast:10.10.10.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1400 Metric:1
RX packets:1523 errors:0 dropped:0 overruns:0 frame:0
TX packets:1441 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:500
RX bytes:152230 (148.6 KiB) TX bytes:140537 (137.2 KiB)
Do firewalla dodajemy:
Cytat iptables -I OUTPUT -o n2n -j ACCEPT
iptables -I INPUT -i n2n -j ACCEPT
iptables -I FORWARD -o n2n -j ACCEPT
iptables -I FORWARD -i n2n -j ACCEPT
-----------------------------------------------------------------------------
---------- 2 Router ----------
Instalacja:
[root@WNR3500 root]$ ipkg update
[root@WNR3500 root]$ ipkg install n2n
Aby aplikacja zadziałała musimy najpierw załadować moduł tun:
[root@WNR3500 root]$ insmod tun
Odpalamy klienta:
[root@WNR3500 root]$ /opt/sbin/edge -d n2n -a 10.10.10.2 -c "nazwa_własnej_sieci" -k "hasło_do_sieci" -l 88.86.108.50:86
Aby sprawdzić poprawność połączenia się z serwerem:
[root@WNR3500 root]$ ifconfig
powinien nam się ukazać interfejs:
n2n Link encap:Ethernet HWaddr 00:FF:09:2F:DB:89
inet addr:10.10.10.2 Bcast:10.10.10.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1400 Metric:1
RX packets:1523 errors:0 dropped:0 overruns:0 frame:0
TX packets:1441 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:500
RX bytes:152230 (148.6 KiB) TX bytes:140537 (137.2 KiB)
Do firewalla dodajemy:
Cytat iptables -I OUTPUT -o n2n -j ACCEPT
iptables -I INPUT -i n2n -j ACCEPT
iptables -I FORWARD -o n2n -j ACCEPT
iptables -I FORWARD -i n2n -j ACCEPT
-----------------------------------------------------------------------------
Jeśli popełniłem jakieś nieścisłości, błędy i niejasności to wybaczcie.
Edytowany przez hermes-80 dnia 26-01-2013 11:19
===============================================================
Netgear WNR3500L v1
Podziękowania dla administracji Openlinksys.info!
|
|
|
|
shibby |
Dodano 11-01-2013 22:56
|
SysOp
Posty: 17109
Dołączył: 15/01/2009 20:30
|
Cytat Musimy mieć zainstalowane Optware
I dodane moje repozytorium, gdyz pakiet n2n nie wystepuje w oficjalnym repozytorium :-)
Proxmox VE: i5-13400T, 64GB RAM, 2x 512GB NVMe, 3x 2TB SSD, Intel X710-DA2 SFP+
VM Router: OpenWRT 22.03.4
VM NAS: Synology SA6400
VM VPS: Debian, WWW, Home Assistant
Switch: Netgear MS510TXPP
Switch: Ubiquiti USW-Flex-mini - szt. 2
Wi-Fi: Ubiquiti U6-Lite - szt. 2
|
|
|
|
hermes-80 |
Dodano 11-01-2013 22:59
|
VIP
Posty: 3676
Dołączył: 21/04/2009 11:24
|
Dokładnie - gdyby był to bym nie prosił o kompilacje.
===============================================================
Netgear WNR3500L v1
Podziękowania dla administracji Openlinksys.info!
|
|
|
|
kotles |
Dodano 01-05-2013 20:48
|
User
Posty: 1
Dołączył: 01/05/2013 20:46
|
a czy ktos cos wie na temat wersji na androida? |
|
|
|
hermes-80 |
Dodano 21-06-2014 10:08
|
VIP
Posty: 3676
Dołączył: 21/04/2009 11:24
|
https://play.google.com/store/apps/de...ug.n2n_gui to chyba wersja na andka - nie testowane.
===============================================================
Netgear WNR3500L v1
Podziękowania dla administracji Openlinksys.info!
|
|
|
|
cross |
Dodano 11-08-2014 19:52
|
User
Posty: 62
Dołączył: 09/08/2014 02:39
|
Czyli rozumiem, że n2n jest pomocne gdy obie sieci są na dynamicznych adresach zewnętrznych i chcemy je połączyć??
Bo VPN może łączyć klient-serwer albo serwer-serwer czyli dwie sieci połączone jakieś ze sobą i udostępniające zasoby. Muszą być adresy publiczne. Ale co oznacza gdy ktoś nie ma adresu publicznego? Każdy kto ma Internet ma adres publiczny chociaż jeden. |
|
|
|
hermes-80 |
Dodano 11-08-2014 21:27
|
VIP
Posty: 3676
Dołączył: 21/04/2009 11:24
|
Adres publiczny na swoim routerze brzegowym bez blokady połączeń przychodzących.
Dynamiczny adres IP to całkiem co innego.
n2n działa na zasadzie klient -- (serwer pośredniczący) -- klient (coś jak TeamViewer) na publicznych serwerach pośredniczących jest niewielka wydajność.
===============================================================
Netgear WNR3500L v1
Podziękowania dla administracji Openlinksys.info!
|
|
|
|
cross |
Dodano 12-08-2014 00:02
|
User
Posty: 62
Dołączył: 09/08/2014 02:39
|
A czyli serwer pośredniczący przekazuje zestawione połączenie między dwoma hostami (p2p) w odrębnych węzłach sieciowych. |
|
|
|
hermes-80 |
Dodano 12-08-2014 11:05
|
VIP
Posty: 3676
Dołączył: 21/04/2009 11:24
|
Tak - jest węzłem łączącym tunel pomiędzy klientami PtP, PtM - wydajność zależny od łącza serwera UP i DL i jego wydajności HW, więc na publicznych nadaje się to do administracji siecią, a nie streamowania czegoś.
===============================================================
Netgear WNR3500L v1
Podziękowania dla administracji Openlinksys.info!
|
|
|
|
cross |
Dodano 12-08-2014 13:57
|
User
Posty: 62
Dołączył: 09/08/2014 02:39
|
To nie lepiej pominąć to i połączyć dwie sieci serwer-serwer? |
|
|
|
hermes-80 |
Dodano 12-08-2014 14:00
|
VIP
Posty: 3676
Dołączył: 21/04/2009 11:24
|
Chyba nie rozumiesz podstawowej koncepcji tego projektu!
Jak możesz połączyć coś serwer---serwer skoro nie masz publicznych IP na żadnym stanowisku?
===============================================================
Netgear WNR3500L v1
Podziękowania dla administracji Openlinksys.info!
|
|
|
|
cross |
Dodano 12-08-2014 14:20
|
User
Posty: 62
Dołączył: 09/08/2014 02:39
|
Na stanowisku nie ale cały węzeł jest na publicznym adresie.
Chodzi o spięcie dwóch węzłów (LAN1 + LAN2) oba lany mają wyjściowe publiczne IP. Rozumiem, że ideą n2n jest łączenie elementu węzła z innym elementem innego węzła przez pośredniczący serwer gdzie tak naprawdę oba elementy się spotykają i pośredniczą w przekazywaniu informacjami. Ale można je spiąć , spinając dwie struktury ich sieci. |
|
|
|
domestos007 |
Dodano 11-03-2015 14:12
|
User
Posty: 161
Dołączył: 26/04/2012 15:36
|
Czy jest szansa na kompilację n2n pod ARM. |
|
|
|
ppi |
Dodano 26-09-2015 12:39
|
User
Posty: 30
Dołączył: 24/04/2006 21:47
|
Chciałem przyłączyć się do pytania, czy jest szansa na n2n w oficjalnych obrazach? |
|
|
|
juro-21 |
Dodano 19-03-2018 12:44
|
User
Posty: 3
Dołączył: 15/06/2007 15:53
|
HELLO.
Uruchomiłem własne Supernode na dynamicznym IP.
Testowałem połączenie router 1 do router 2 plus komp winxp
Edge uruchomiony z parametrem -b (dla dynamicznego IP) ,
działa bardzo poprawnie.
Podglądowa konfiguracja:
router 1 edge IP 192.166.1.10
router 2 edge IP 192.166.1.11
komp edge IP 192.166.1.12
i tak można z kompa połączyć się z n.p http://192.166.1.10:8888
( to n.p oscam) działa port 21 , 22, 23 itd
Tu mam pytanie :
Wykonuje połączenie http://192.166.1.10 to panel www routera 1 , niestety nie działa, itd.
Nie mam pomysłu na to . gdy dla edge użyje IP identycznego jak dla LAN to działa.
Przykład router 1:
IP LAN 192.167.1.10 , WAN 192.168.1.10 , N2N IP 192.166.1.10
nie działa .
Proszę o info.
dodat.info
czeskie supernode 212.96.177.13:86
Edytowany przez juro-21 dnia 19-03-2018 12:58
|
|
|