December 27th, 2011

Po kilku dniach walk z 2 routerami i OpenVPN udało się mi w końcu połączyć dwie sieci LAN. Może jeszcze nie jest to idealne rozwiązanie, ale najważniejsze, że działa stabilnie i według postawionych założeń. Ponieważ konfiguracja zajęła mi kilka dni (mimo że nie jest to skomplikowane musiałem przekopać się przez kilka stron wyników wyszukiwania w Google'u) dlatego postanowiłem napisać krótki tutorial, który zaoszczędzi następnym, nie mającym nic ciekawszego do roboty, osobom trochę czasuWstępPewnego pięknego dnia zachciało się mi skonfigurować OpenVPN na moim routerze z Tomato. Najważniejsze dla mnie było to, aby osoba podpięta przez tunel miała bezproblemowy dostęp do zasobów sieciowych (zasoby Windows, HomeGroup, drukarki). OpenVPN umożliwia dwa tryby - routed mode (poprzez interfejs tun) oraz bridged mode (interfejs tap). Konfiguracja zajęła nie więcej niż 30 minut i od tej pory mogłem z dowolnego miejsca podpiąć się do mojej sieci domowej poprzez OpenVPN. Wtedy zaświtał mi diabelski plan - a po co niby mam kazać mojemu tacie łączyć się poprzez OpenVPN jeśli mogę tak skonfigurować jego sieć, aby sama łączyła się z moją i wszystko działało w tle? No i zaczęło się ;-)Założenia i wymaganiaMamy dwie sieci LAN, które chcemy połączyć w jedną. W moim przypadku "sieć matka" znajduje się w Krakowie, "sieć córka" w Tarnobrzegu.Dwa routery z Tomato na pokładzie (z obsługą OpenVPN). Oczywiście można użyć innego firmware, ale sam używałem pomidorka więc i tutorial będzie jemu poświęconyTrochę czasuNasza "sieć matka" musi mieć publiczne IP.KonfiguracjaNa początek musimy wygenerować klucze dla naszego serwera OpenVPN oraz klienta. W tym miejscu odsyłam do HOWTO, w którym jest napisane jak to zrobić. Kiedy mamy już wygenerowane klucze warto podpicować trochę konfigurację Tomato. A przede wszystkim adresację naszej sieci. Warto zmienić poczciwe 192.168.1.0/24 na coś innego. Istnieje wysokie prawdopodobieństwo, że sieć z jakiej podłączamy się do naszej ma taką adresację co może spowodować pewne problemy. Dlatego warto zmienić na np: 10.65.2.0/24, lub inną według własnego uznania ;-). Oprócz tego powinniśmy skonfigurować sobie DDNS (zakładka Basic w Tomato)Teraz pora zająć się naszym OpenVPN. W moim przypadku działa on na routerze Linksys E4200. Poniższy filmik przedstawia konfigurację serwera OpenVPN. Jednak my wprowadzimy w nim kilka modyfikacjiW moim przypadku konfiguracja wygląda następująco:Najważniejsze, aby w zakładce Basic w Client address pool ustawić zakres adresów, który obejmuje naszą sieć matkę oraz sieć córkę. Nie wiem czemu, ale bez tego nam to wszystko nie zadziałała. Oprócz tego w zakładce Advanced musimy zaznaczyć checkboksy przy Manage Client-Specific Options oraz Allow ClientClient. Następnie zapisujemy zmiany.W ustawieniach routera, który będzie pełnić rolę serwera OpenVPN musimy także dodać kilka wpisów do firewalla. W Tomato w zakładce Administration -> Scripts -> Firewall dopisujemy (nazwy interfejsów należy zmienić tak, aby pasowały dla konfiguracji naszego routera):iptables -I FORWARD -i br0 -o tap21 -j ACCEPTiptables -I FORWARD -i tap21 -o br0 -j ACCEPTW tej chwili nasz serwer jest już w 100% gotowy. Możemy to sprawdzić łącząc się z jakiegoś komputera spoza naszej sieci. Pozostaje nam już tylko jedna rzecz - nasz klient.Zakładam, że już posiadacie wygenerowane klucze dla klienta, jeśli nie to pora je wygenerować. Oprócz tego musimy zmienić adresację sieci. W naszej "sieci matce" ustawiłem IP routera na 10.89.9.1, a DHCP na zakres 10.89.9.2 - 10.89.9.51. W "sieci córce" ustawiłem adres routera na 10.89.9.200, a zakres DHCP na 10.89.9.201 - 10.89.9.220. Jak widać obie sieci mają tę samą adresację tylko inną pulę adresów.A sama konfiguracja klienta wygląda następująco:Jak już skończymy konfigurację pozostaje nam tylko odpalić klienta i upewnić się, że wszystko działa. To wszystko ;-)PodsumowanieJak widać konfiguracja OpenVPN nie jest specjalnie skomplikowana. Co prawda bridge mode jest trochę bardziej upierdliwy od routed mode (w drugim przypadku nie musimy przejmować się adresacją w naszych 2 sieciach, mogą nawet mieć całkowicie różną co ułatwia administrowanie). Jednak w moim przypadku, przy nie dużej liczbie urządzeń bridge-mode okazał się idealny szczególnie, że chciałem, aby bez problemu działała windowsowa grupa domowa, network discovery itd.
posted in bridged mode, google, matka, interfejs, sama, tomato, ego, dwa, mam, openvpn, tego, iej, lan, 192, aby |