Jeden z moich czytelników nadesłał informację o projekcie VPN wykorzystującym przekaźniki do komunikacji węzłów. Zaletą jest brak potrzeby posiadana hosta w sieci, małe zapotrzebowanie na zasoby oraz łatwa implementacja w działającym środowisku. Projekt nazwa się N2N, jego witryna dostępna jest
pod tym adresem. Sam opis dla OpenWrt:
Instalacjaopkg update
opkg install n2n
Domyślnie w repo jest v1 pakietu, jeżeli używamy v2 należy zmienić skrypt startowy
sed -i 's/edge -f/edge/' /etc/init.d/n2n
Ta linia jest potrzebna żeby demon działał w tle.
KonfiguracjaZawarta jest w pliku /etc/config/n2n. Do działania wymagane jest określenie kilku parametrów:
- adres IP. Musi być unikalny dla każdego edge. Można także wykorzystać dhcp, ale nie jest to przedmiotem tego opracowania. Domyślna maska - 255.255.255.0:
uci set n2n.@edge[0].ipaddr=1.2.3.4
Pamiętajmy: każdy węzeł powinien mieć unikalny adres.
- adres IP i port supernode. Można wykorzystać publiczny dostępny w ramach innego projektu:
uci set n2n.@edge[0].supernode=88.86.108.50
uci set n2n.@edge[0].port=82
(dla v2 port powinien być 86).
- tzw. community, czyli nazwa naszej sieci VPN. To jeden z elementów oznaczających nasz VPN, musi być taki sam dla wszystkich węzłów.
uci set n2n.@edge[0].community=nazwa_sieci
- hasło, dzięki któremu węzły mogą się ze sobą komunikować
uci set n2n.@edge[0].key=tajne_haslo
- routing, domyślnie nie zmieniamy tablic routingu
uci set n2n.@edge[0].route=0
Zapisujmy wszystko i uruchamiamy
uci commit n2n
/etc/init.d/n2n enable
/etc/init.d/n2n start
TestowanieUruchamiamy n2n na innym komputerze, z innym adresem IP, np. 1.2.3.5. I już można dostać się do jednego z węzłów, o tak po prostu:
ssh root@1.2.3.4
Przechodzą pingi, działa ssh, można w przeglądarce odwołać się do interfejsu graficznego, nawet jeżeli 1.2.3.4 jest schowany za dwoma natami.
O n2n można też przeczytać u mnie:
http://eko.one.pl/?p=openwrt-n2n