Jeśli ktoś ma tak jak ja w jednej sieci 2 dostawców internetu i nie interesuje go multiwan, a potrzebuję zrobić sobie server openvpn to poradnik dla Ciebie.
Założenie moje było takie żebym w razie awarii dostępu do internetu od jednego dostawcy mógł dostać do swojej sieci przez drugiego dostawcę.
1. Potrzebujemy 2 routery z wgranym na pokładzie Gargoyle.
2. Program Putty i WinSCP
3. Jeśli macie tak jak ja zmienne IP (łącze na lini telefonicznej) do jeszcze musicie zrobić sobie Dynamiczny DNS
4. Trochę cierpliwości 
Router 1 = Netia
Router 2 = Neostrada
Zacznamy od stworzenia serwera OpenVPN
Wchodzimy do Routera 1 przez przeglądarkę w zakładkę: Konfiguracja -> OpenVPN
Konfiguracja OpenVPN: serwer
Serwer OpenVPN: konfiguracja
1. Wewnętrzny adres ip routera: 10.8.1.1
2. Wewnętrzna maska podsieci: 255.255.255.0
3. Port serwera: 1194
4. Protokół UDP
5. Algorytm szyfrujący: AES-CBC 256bit
6. Komunikacja pomiędzyklientami VPN: Dozwolona
7. Dostęp do urządzeń w sieci LAN: Dopuszczony
8. Poświadczenia: Niezależne dla każdego klienta
9. Klienty używają VPN do: Dostęp tylko do zasobów lokalnych
Serwer OpenVPN: Klienty
Konfiguracja nowego klienta / ustawienia poświadczeń:
1. Nazwa klienta: router1
2. Wewnętrzny adres IP klienta: 10.8.1.2
3. Klient łączy się do: W moim przypadku Dynamiczny DNS ale jak ktoś ma stały adres ip to "WAN IP"
4. Podsieć za klientem: Niezdefiniowana
Klikamy dodaj i następnie zapisz zmiany.
Za pierwszym razem może to zapisywanie zmian trwać do 10 min więc niema się czym przejmować
Analogicznie robimy w przypadku Routera 2 z kilkoma wyjątkami
Wchodzimy do Routera 2 przez przeglądarkę w zakładkę: Konfiguracja -> OpenVPN
Konfiguracja OpenVPN: serwer
Serwer OpenVPN: konfiguracja
1. Wewnętrzny adres ip routera: 10.8.2.1
2. Wewnętrzna maska podsieci: 255.255.255.0
3. Port serwera: 1194
4. Protokół UDP
5. Algorytm szyfrujący: AES-CBC 256bit
6. Komunikacja pomiędzyklientami VPN: Dozwolona
7. Dostęp do urządzeń w sieci LAN: Dopuszczony
8. Poświadczenia: Niezależne dla każdego klienta
9. Klienty używają VPN do: Dostęp tylko do zasobów lokalnych
Serwer OpenVPN: Klienty
Konfiguracja nowego klienta / ustawienia poświadczeń:
1. Nazwa klienta: router2
2. Wewnętrzny adres IP klienta: 10.8.2.2
3. Klient łączy się do: W moim przypadku Dynamiczny DNS ale jak ktoś ma stały adres ip to "WAN IP"
4. Podsieć za klientem: Niezdefiniowana
Klikamy dodaj i następnie zapisz zmiany.
Za pierwszym razem może to zapisywanie zmian trwać do 10 min więc niema się czym przejmować
Oczywiście nic nie stoi na przeszkodzie żeby troszkę w opcjach pomanipulować.
Kiedy już nam się zapisze i uruchomi serwer OpenVPN Podświetli nam się opcja "Pobierz" przy utworzonym przez nas kliencie (router1, router2).
Pobieramy plik na dysk z obu serwerów.
Następnie jeśli mamy komputer z Windows który będzie klientem OpenVPN to wchodzimy na strone:
Szukamy odpowiedniego klienta, ściągamy go i instalujemy.
Po instalacji w Windows 10 wchodzimy do C:\Program Files\OpenVPN\config tworzymy foldery: router1 i router2 i do odpowiednich wrzucamy wypakowane configi które wcześniej pobraliśmy.
Po włączeniu klienta powinniśmy mieć na pasku start przy zegarku w zasobniku ikonkę programu OpenVPN i możliwość wyboru miedzy profilami router1 i router2
Po tych zabiegach w interfejsie Gargoyle mamy już działający serwer OpenVPN na obu routerach. W moim przypadku pojawił się jednak problem.
Gdy logowałem się przez OpenVPN do router1 widziałem tylko urządzenia którym on dostarczał internet. Czyli Bramami Domyślnymi w urządzeniach był adres ip naszego router1.
Przykładowo urządzenie które ma internet z router1
Router1 IP: 192.168.1.1
Urządzenie1:
Adres IP: 192.168.1.2
Maska: 255.255.255.0
Brama Domyślna: 192.168.1.1
Preferowany DNS: 192.168.1.1
To urządzenie dostaje internet z Router1 (Brama i DNS to ip routera1)
Router2 IP: 192.168.1.254
Urządzenie2:
Adres IP: 192.168.1.11
Maska: 255.255.255.0
Brama Domyślna: 192.168.1.254
Preferowany DNS: 192.168.1.254
To urządzenie dostaje internet z Router2 (Brama i DNS to ip routera2)
Logując się do serwera VPN na router1 nie było widać urządzenia2 ponieważ ma inną Bramę Domyślną i pakiety się gubią.
Analogiczna sytuacja była w przypadku router2. Po zalogowaniu do OpenVPN nie widać urządzenie1 ponieważ ma Bramę inną i również pakiety się gubią.
Musimy zrobić routing który nas przepuści do innych urządzeń.
1. Odpalamy PUTTY i łączymy się z:
router1
route add -net adres_IP_podsieci_openvpn_routera2 netmask gw adres_IP_interfejsu_LAN_routera2
Powyższa komenda w przypadku routera 1 wygląda następująco.
route add -net 10.8.2.0 netmask gw 192.168.1.254
Po wykonaniu powyższej komendy możemy sprawdzić czy pojawiła się w tablicy routingu sieć 10.8.2.0 dzieki poniższej komendzie:
2. Odpalamy PUTTY i łączymy się z:
router2
route add -net adres_IP_podsieci_openvpn_routera1 netmask gw adres_IP_interfejsu_LAN_routera1
Powyższa komenda w przypadku routera 2 wygląda następująco.
route add -net 10.8.1.0 netmask gw 192.168.1.1
Po wykonaniu powyższej komendy możemy sprawdzić czy pojawiła się w tablicy routingu sieć 10.8.1.0 dzieki poniższej komendzie:
Na koniec jeszcze dodajemy jeden wpis:
Odpalamy WINSCP i logujemy się do router1
Przechodzimy do /etc/config/ i edytujemy plik firewall
I tam w sekcji LAN dopisujemy taki wpis:
Teraz zresetuj oba routery i powinno wszystko działać.
Pozdrawiam
Podziękowania dla Cezary, Gr4nd0 i khain