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.
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.
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ć
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.
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”.
Z menu wybierz Status a z podmenu 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”
Powinno Ci się wyświetlić coś podobnego jak poniżej
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
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 ;).
4 Comments
Dziękuje z krótki tutorial, pomógł 🙂
Ś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?
Maksymalna przepustowość (możliwość hardware) przez tunel OpenVPN
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ń?