router zdjecie

DD-WRT – konfiguracja klienta OpenVPN – Linksys 3200ACM

System DD-WRT można uwielbiać za jego szeroki wachlarz funkcji jaki oferuje albo nienawidzić za błędy, które sprawiają że radość w nowych możliwości topnieje. Ja należę niestety do tego drugiego grona ale często sytuacja zmusza mnie do sięgnięcia po to rozwiązanie i pójścia na kompromis. Tak też właśnie było i tym razem ale to nie o tym ten wpis.

Openvpn klient – konfiguracja

Posłużę się tutaj przykładem pliku konfiguracyjnego .ovpn ze strony vpnonline.pl. Sądzę, że nie będzie się on znacząco różnił od innych, a jeśli się mylę to zawsze możesz do mnie napisać. Z chęcią pomogę. Najpierw pokażę Ci jak on wygląda, a następnie zaczniemy konfigurację klienta OpenVPN na routerze.

client
dev tun
remote nazwa_hosta numer_portu
proto tcp-client
remote-cert-tls server
auth-user-pass
tls-client
pull
auth SHA1
cipher AES-128-CBC
persist-key
resolv-retry infinite
reneg-sec 0
verb 3
auth-nocache
route-delay 2
redirect-gateway def1

-----BEGIN CERTIFICATE-----
tutaj znajduje się certyfikat, który trzeba będzie skopiować
-----END CERTIFICATE-----

To jest praktycznie cały plik konfiguracyjny dla OpenVPN. W niektórych przypadkach może pojawić się jeszcze jeden certyfikat w znacznikach <ca></ca>. Otwórz teraz przeglądarkę internetową i wpisz adres swojego routera w pasku URL np: 192.168.1.1, następnie zaloguj się do niego i wybierz z menu Services a z podmenu VPN tak jak na screenie poniżej.

Services VPN

W sekcji OpenVPN Cient zmień „Start OpenVPN Client” na „Enable”
Poniżej będę się posługiwać operatorem = do którego przypiszę linijkę z pliku konfiguracyjnego. Ty uzupełniaj tylko wartości

Server IP/Name = remote nazwa_hosta numer_portu
Port = remote nazwa_hosta numer_portu
Tunnel Device = dev tun
Tunnel Protocol = proto tcp-client
Encryption Cipher = cipher AES-128-CBC
Hash Algorithm = auth SHA1
User Pass Authentitaction = auth-user-pass = Enable
Username = Twoja nazwa użytkownika do usługi VPN
Password = Twoje hasło do usługi VPN
Advanced Options – tego nie ma w konfiguracji – zaznacz na Enable
TLS Cipher – brak w konfiguracji zaznacz None
LZO Compression – ja ustawiłem na Disabled
NAT = w większości przypadków zaznacza się Enabled(na screnie poniżej ja zaznaczyłem Disable ale tym się nie sugeruj)

Additional Config – W tym miejscu trzeba dopisać lub skopiować z pliku dodatkową konfigurację, która nie została uwzględniona powyżej.

remote-cert-tls server
tls-client
pull
auth-nocache
route-delay 2
redirect-gateway def1

Tak naprawdę najważniejszym wpisem w tej konfiguracji jest redirect-gateway def1 bez którego uda się nawiązać połączenie VPN ale ruch sieciowy nie będzie przez nie przechodził. Poniższy screen pokazuje jak to wszystko powinno wyglądać

Usrawienia Openvpn

W sekcji Policy based Routing możesz ustawić dla jakich adresów IP ruch sieciowy ma być przeprowadzony przez VPN. Jeśli chcesz aby wszystkie urządzenia w sieci z niego korzystały zostaw pole puste. Zostało jeszcze jedno pole do skonfigurowania czyli CA Cert.

konfiguracja cenrtyfikatow openvpn

Skopiuj i w klej w to miejsce wszystko co jest pomiędzy znacznikami <ca></ca> w pliku .ovpn i zatwierdź zmiany klikając „Apply Settings”.

Sprawdzanie stanu połączenia

Z menu wybierz Status a z podmenu OpenVPN

sprawdzenie stanu polaczenia openvpn

Jeśli w sekcji State widzisz komunikat „Client: Connected success” to znaczy, że udało Ci się prawidłowo skonfigurować klienta VPN.
Ale to jeszcze nie koniec zabawy z routerem. Prawdopodobnie w tym momencie nie masz połączenia z internetem ;). Żeby wszystko zaczęło działać jak należy musisz jeszcze dodać jedną regułę do firewalla.
Z menu wybierz zakładkę „Administration” a z podmenu „Commands”(Screen na dole). W pierwszej kolejności wpisz polecenie „iwconfig”, dzięki któremu dowiesz się pod jakim interfejsem znajduje się Twój tunel(będzie to najprawdopodobniej tun0 albo tun1) i kliknij na „Run Commands

uruchamianie polecenia

Powinno Ci się wyświetlić coś podobnego jak poniżej

sprawdzenie dostępnych interfejsów ddwrt

Tak jak mówiłem wcześniej Ciebie interesuje z tej listy tylko to co zaczyna się od liter tun. Jak widzisz u mnie interfejsem VPN jest tun1. Teraz w tym samym miejscu gdzie wpisałeś „iwconfig” wpisz:

iptables -t nat -I POSTROUTING -o tun1 -j MASQUERADE

Pamiętaj tylko o zmianie tun1 na nazwę która jest u Ciebie. Kliknij teraz na „Save Firewall

Edit 09.2019
Jeśli mimo wpisania polecenia powyżej nadal nie masz połączenia z internetem, wprowadź poniższe trzy reguły:

iptables -I FORWARD -i br0 -o tun1 -j ACCEPT
iptables -I FORWARD -i tun1 -o br0 -j ACCEPT
iptables -I INPUT -i tun1 -j REJECT
iptables -t nat -A POSTROUTING -o tun1 -j MASQUERADE
zapis ustawien firewalla

Możesz teraz uruchomić router ponownie. Wszystko powinno działać prawidłowo.
Daj znać w komentarzu lub na FB, jeśli wpis był dla Ciebie przydatny ;).

Hubert Kawalec
Hubert Kawalec
Zawodowo z branżą IT związany jestem od ponad 12 lat. Pasjonuję się światem nowych technologii i gadżetów elektronicznych. Uwielbiam rozwiązywać nietypowe problemy informatyczne przy których potrafię zatracić się na całe dnie. W wolnym czasie zajmuję się naprawą laptopów i komputerów oraz nie stronię od majsterkowania. Na co dzień staram się poszerzać zakres swojej wiedzy w różnych aspektach życia. W połowy 2020 roku założyłem również kanał youtube „IT w Praktyce”

4 Comments

  1. Karol pisze:

    Dziękuje z krótki tutorial, pomógł 🙂

  2. Kris pisze:

    Świetny tutorial. Mam WRT1900 AC V2 i jutro spróbuję podłączyć się do swego serwera przez OpenVPN Client. Szkoda, że w DDWRT nie ma możliwości importu gotowego pliku konfiguracyjnego OpenVPN 🙁 Czy masz wiedzę jaka maksymalna przepustowość jest na Twoim WRT3200ACM?

  3. Kris pisze:

    Hubert mam pobrany z serwera Ubuntu 20.04 LTS 64 bit plik konfiguracyjny do open vpn. Nie mogę w żaden sposób połączyć się moim WRT1900AC V2 do openVPN na moim serwerze. Czy masz wiedzę czy jest możliwość wrzucenia całego pliku konfiguracyjnego open vpn do DDWRT np przez wiersz poleceń?

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *