Mikrotik OpenVPN Server

Mikrotik OpenVPN Server

Jeżeli nie używasz jeszcze VPN’a, to najwyższy czas zacząć. Jest wiele zastosowań VPN’a, jednak najważniejsze to bezpieczeństwo. Nie odważyłbym się podłączyć do otwartego hotspotu, np. w kawiarni czy dworcu bez aktywnego połączenia VPN. Jest wiele dostawców usługi VPN, ale jeżeli posiadasz router Mikrotika taki serwer możesz postawić u siebie w domu czy też biurze. O samych zaletach i wadach VPN’a postaram się wam przybliżyć w następnym poście. Teraz skupimy się na konfiguracji Mikrotik OpenVPN Server.

Schemat połączeniowy

Mikrotik OpenVPN Server

Konfiguracja routera

Ponieważ OpenVPN bazuje na certyfikatach, zaczniemy od wygenerowania 3 certyfikatów. Dla serwera, klienta i certyfikat CA. Przechodzimy na zakładkę System->Certificates
Oczekiwany efekt powinien wyglądać tak:
Mikrotik OpenVPN Server

Generowanie certyfikatu CA
Zaczniemy od wygenerowania własnego CA, którym w późniejszym etapie podpiszemy certyfikat dla klienta i serwera. Klikamy na znak plusa i uzupełniamy:
Mikrotik OpenVPN Server

  • Name: podajemy dowolnie
  • Common Name: nazwę domeny
  • Key Size: 4096
  • Days Valid: 3650, czyli 10 lat

Zakładka Key Usage, zaznaczamy tylko:
Mikrotik OpenVPN Server

  • key cert. sign
  • crl sign

Generowanie certyfikatu dla serwera
Mikrotik OpenVPN Server

  • Name: podajemy dowolnie
  • Common Name: *.grzegorzkowalik.com, czyli certyfikat typu wildcard
  • Key Size: 4096
  • Days Valid: 3650, czyli 10 lat

Zakładka Key Usage, zaznaczamy tylko:

  • digital signature
  • key enciphement
  • data enciphement
  • tls server

Generowanie certyfikatu dla klienta
Mikrotik OpenVPN Server

  • Name: podajemy dowolnie
  • Common Name: user.grzegorzkowalik.com
  • Key Size: 4096
  • Days Valid: 3650, czyli 10 lat

Zakładka Key Usage, zaznaczamy tylko:

  • tls client

Podpisywanie certyfikatów

Po wygenerowaniu certyfikatu dla serwera i klienta musimy je podpisać naszym certyfikatem CA. Czas podpisywania zależy od CPU routera, i może zająć nawet kilkanaście minut. Certyfikaty możemy podpisać na dwa sposoby. Za pomocą terminala oraz z poziomu winbox’a. W przypadku skorzystania z terminala możecie otrzymać timeout dlatego warto dodatkowo włączyć podgląd zużycia CPU i poczekać, aż zjedzie ze 100%.
Mikrotik OpenVPN Server
CA tworzymy za pomocą terminala: sign CA-Cert name=CA-Certificate
Kolejne podpiszemy za pomocą winboxa klikając prawym myszy na certyfikacie i sign.
Mikrotik OpenVPN Server
przy podpisywaniu certyfikatu dla klienta podajemy dowolne hasło.

Eksport certyfikatów

Klient OpenVPN do poprawnej pracy potrzebuje certyfikatów(CA, klient i key). Klikamy prawym myszy na CA i wciskamy Eksport. Analogicznie postępujemy przy certyfikacie dla klienta. Jeżeli wszystko poprawnie zrobiliście, po przejściu na Files, powinny się pojawić trzy nowe pliki.
Mikrotik OpenVPN Server
Za pomocą drag&drop przenosimy pliki na dysk.

Przygotowanie adresacji dla klientów VPN

Tworzymy osobną pulę adresową dedykowaną dla połączeń VPN. Klikamy na IP->pool i dodajemy nową pulę.
Mikrotik OpenVPN Server

Konfiguracja serwera OpenVPN

Przechodzimy na PPP zakładka Profiles i dodajemy profil dla klientów VPN.
Mikrotik OpenVPN Server
Uzupełniamy:

  • Name: podajemy dowolnie
  • Local Address: w tej samej sieci co wcześniej stworzona pula. Np. 10.0.0.1
  • Remote Address: wybieramy pulę vpn
  • DNS Server: podajemy wewnętrzny adres routera

w zakładce Protocols zaznaczamy Use Encryption na required
Mikrotik OpenVPN Server
Przechodzimy na zakładkę Secrets i znakiem plusa dodajemy nowe konto. Ważne jest, aby nazwa konta była taka sam jak przy tworzeniu certyfikatu z pola Common Name, ale bez domeny.
Przy tworzeniu certyfikatu podałem nazwę user.grzegorzkowalik.com dlatego konto secret ustawiam na samo user, z dowolnym hasłem.

  • Service: wybieramy ovpn
  • Profile: wcześniej utworzony profil, czyli openvpn

Pozostaje nam jeszcze włączenie serwera, w tym celu przechodzimy na zakładkę Interface, będąc oczywiście dalej w PPP
Mikrotik OpenVPN Server

Konfiguracja Firewall’a

Ostatnia z rzeczy jakie musimy ustawić na Mikrotiku to odblokowanie portu 1194 dla połączeń przychodzących. Przechodzimy na IP->Firewall, dodajemy nową regułę:

  • Chain: wybieramy input
  • Protocol: tcp
  • Dst. Port: 1194
  • Action: accept

Mikrotik OpenVPN Server

Konfiguracja klienta OpenVPN

Zaczynamy od pobrania klienta OpenVPN, najlepiej z oficjalnej strony. Po instalacji dodajemy certyfikaty i plik z konfiguracją. W zależności od systemu operacyjnego może to być C:\Users\nazwa_usera\OpenVPN\config albo C:\Program Files\OpenVPN\config.
Plik z konfiguracją .ovpn powinien wyglądać mniej więcej tak:

client
dev tun
proto tcp
remote grzegorzkowalik.com 1194 #podajemy adres IP serwera
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert user.crt
key user.key
remote-cert-tls server
cipher AES-256-CBC
auth SHA1
auth-user-pass
redirect-gateway def1
verb 3

Polecany sprzęt

Z własnego doświadczenia mogę wam polecić poniższy sprzęt, z podziałem na ewentualne przeznaczenie routera.

Do domu i małej firmy(SOHO): hAP AX Lite , hAP AC3, RB4011, RB260GS, RB2011
hAP AC3 LTE, hAP AX2, hAP AX3, L009UiGS-2HaxD-IN, RB5009UG+S+IN, Audience

LTE: SXT LTE kit, SXT LTE6 kit, LHG 5, LHG LTE kit, Audience LTE, Chateau LTE6 ax, LTAP LTE6

Access Pointy: mAP lite, mAP, cAP AX, cAP XL AC

POE: hEX PoE

LAB: hEX lite

Średnia/Duża firma: CCR1036-12G-4S, CCR2004-16G-2S+

Mikrotik OpenVPN Server

[su_youtube url=”https://www.youtube.com/watch?v=oGP0Zk7-cdI”]

123 Comments

  1. Bogusław Gębura

    Dzień dobry,

    Świetny artykuł!

    Mam kilka spostrzeżeń:

    1. Można wygenerować jeden certyfikat klienta a dostęp dla poszczególnych użytkowników ustawić w PPP. Wszyscy użytkownicy mają ten sam certyfikat klienta (a co za tym idzie jeden plik profilu .ovpn, ale o tym w punkcie 3).

    2. Można uniknąć pytania o hasło do klucza prywatnego (oprócz loginu i hasła). W tym celu trzeba wykonać:
    openssl.exe rsa -in user.key -out user.key

    3. Zamiast 4 plików (profil.ovpn, ca.cert, user.cert, user.key) można mieć jeden – profil.ovpn w nim sekcje:

    W tych sekcjach należy wkleić odpowiednie certyfikaty (ca.cert, user.cert, user.key).

    Z pliku profilu trzeba usunąć linie:
    ca ca.crt
    cert user.crt
    key user.key

    Pozdrawiam,
    Bogusław Gębura

    • Krzysztof

      Jak w takim wypadku wygenerować certyfikaty ?

    • Master

      Witam

      Mógłbyś opisać dokładniej jak skonfigurować kilku użytkowników na jednym certyfikacie dla użytkowników

      Pozdrawiam

  2. Bogusław Gębura

    Widzę, że do komentarza nie wkleiły się sekcje. Hmmm… Jak to napisać?

    znak mniejszośći ca znak większości
    znak mniejszośći /ca znak większości

    znak mniejszośći cert znak większości
    znak mniejszośći /cert znak większości

    znak mniejszośći key znak większości
    znak mniejszośći /key znak większości

    • Rafal

      Czy mogę prosić bardziej obrazowo co do tych sekcji z certyfikatami bo nie za bardzo wiem w czym dokładnie rzecz może na email proszę

  3. Michał

    Witam, walczę z OpenVPN wg Pana poradnika i pawie się udało ale…
    Tue May 15 22:09:56 2018 TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
    Tue May 15 22:09:56 2018 TLS Error: TLS handshake failed
    Tue May 15 22:09:56 2018 Fatal TLS error (check_tls_errors_co), restarting
    Mogę liczyć na drobną pomoc? Mogę przesłać cały log i plik konfiguracji ovpn

  4. Michał

    Tak, na mikrotiku w chain input jest accept na 1194 i TCP. Wg licznika przepuścił 66 pakietów.
    Router jest za modemem/routerem LTE ale Mikrotik jest w strefie DMZ

      • Michał

        Witam, po kilku kombinacjach w pliku konfiguracyjnym klienta wszystko OK. Dodałem certyfikaty do pliku i mam całość w jednym miejscu. Tylko co będzie jak taki plik dostanie się w niepowołane ręce?
        Teraz próbuje skonfigurować klienta na innym Mikrotiku, zaimportowałem certyfikaty ale w konfiguracji interfejsu można wybrać tylko jeden. Oczywiście się nie łączy: TCP zostaje nawiązane ale TLS failed….

        • Michał

          Może się komuś przyda klient openvpn w Mikrotik: Najpierw trzeba przekonwertować user.cert i user.key do jednego pliku user.pem i dopiero wgrać w Mikrotika i zaimportować. Jeśli dodamy interfejs openvpn i wskażemy certyfikat pem to ładnie się łączy.
          Konwersja w openssl na linuksie:
          openssl pkcs12 -export -in hostname.crt -inkey hsotname.key -out hostname.p12
          openssl pkcs12 -in hostname.p12 -nodes -out hostname.pem (stevenhaddox z github).
          Po dodaniu interfejsu do bridge teoretycznie powinno się połączyć obie sieci LAN mikrotików w jedną przez przezroczysty tunel ale niestety u mnie nie działa. Jak pinguję zdalne komputery przez interfejs openvpn to jest ok ale jak ping idzie przez bridge to nie wraca niestety. Tu już mi zabrakło wiedzy niestety 🙂 Zachęcam autora bloga do napisania kiedyś artykułu jak połączyć dwie sieci w jedną za pomocą dwóch Mikrotików po VPN tak aby łącze było “przezroczyste” jak po kablu. Pozdrawiam

          • To jest w przypadku gdy cert mamy z innego źródła niż wygenerowany z MT. Dziękuje za komentarz, postaram się także rozszerzyć artykuł o taką opcję. Dwa mikrotiki lepiej połączyć l2tp/ipsec albo samym ipsec. Nie wykorzystywałbym do tego openvpna.

  5. MiMi

    Podpowie ktoś jak skonfigurować klienta aby w tej konfiguracji przez tunel vpn łączył się tylko z jednym hostem bądz z konkretną siecią natomiast internet był dostępny przez łącze lokalne.

  6. Bartek

    Witam, mam problem z zestawieniem sesji cały czas zapętla się jak w logu poniżej uprzejmie proszę o pomoc

    Tue Jun 19 10:21:52 2018 MANAGEMENT: >STATE:1529396512,RESOLVE,,,,,,
    Tue Jun 19 10:21:52 2018 TCP/UDP: Preserving recently used remote address: [AF_INET]188.125.X.X:1194
    Tue Jun 19 10:21:52 2018 Socket Buffers: R=[65536->65536] S=[65536->65536]
    Tue Jun 19 10:21:52 2018 Attempting to establish TCP connection with [AF_INET]188.125.X.X:1194 [nonblock]
    Tue Jun 19 10:21:52 2018 MANAGEMENT: >STATE:1529396512,TCP_CONNECT,,,,,,

  7. Dzień dobry,
    czy jeśli moje połączenie z dostawcą internetowym nie odbywa się przy pomocy PPPoE to czy taka konfiguracja powinna działać? Pytam bo mam problem z połączeniem po skonfigrowaniu wg instrukcji. Moje połączenie to dostaje adres zewnętrzny przez DHCP od dostawcy.

  8. spx

    Witam, potrzebujemy zestawić połączenie VPN między 1 lokalizacją w które będą stały kamery IP z routerem LTE SXT mikrotik jako klient a 2 lokalizacją gdzie stoi rejestrator NVR. Po stronie rejestratora stałe IP jest, po stronie routera LTE mamy kartę sim bez publicznego IP. Proszę o info czy podana instrukcja postawienia serwera nadaje się do w/w celu – czy lepiej ovpn czy lepiej przez pptp ?

  9. jarek

    Witam
    Piewszy raz chciałbym postawić jakiegoś VPNa Mam stały publiczny adres IP połączenie PPPoE i MT RB2011 UiAS. Zależy mi żeby z jednego góra dwóch komputerów mieć dostęp do sieci LAN. Próbowałem l2tp ale wystąpił u mnie w kompie jakiś “nieoczekiwany błąd” nie dało się wejść we właściwości nowego połączenia.

    Czy żeby móc korzystać z OPENVPN muszę mieć jakieś konto? Wszystko jest płatne czy jak? Bo potrzebuję domeny jak w artykule: “Common Name: *.grzegorzkowalik.com, czyli certyfikat typu wildcard”
    Pewnie za jakiś czas douczę się, dowiem o co chodzi, więc jeśli mój wpis zaniża poziom proszę usunać.
    Zajmuję się konfigurowaniem systemów KD CCTV SAP itp polubiłem MT ale o co chodzi z tym VPN? Szukam w google top 10 darmowych VPN otwieram jakies a tam załóż konto podaj nr karty kredytowej…

    • Do openvpna nie potrzebujesz konta. Domena także nie jest wymagana, można wszystko robić po adresie IP. W przypadku CCTV najlepszą opcją będzie l2tp/ipsec. Sprawdź w logach MT co dokładnie się dzieje przy komunikacie “nieoczekiwany błąd”.

      • Romek

        Cz dobrze zrozumiałem, że w polu “domena” można wpisać adres IP WAN? Mama stały adres IP Providera.

  10. Bartie M

    Witam serdecznie. Mam pytanie problem dot. polecenia ” redirect-gateway def1″ po stronie klienta. Z poleceniem cały ruch w komputerze klienta (nawet internetowy) kierowany jest poprzez vpn do bramy sieci lokalnej. Natomiast bez tego polecenia nie widzi z kolej sieci lokalnej, co jest mi bardzo potrzebne do pracy.
    Stąd moje pytanie: czy istnieje możliwość dostępu do sieci LAN przez VPN bez przekierowywania całego ruchu poprzez VPN i LAN ?

    • Cześć, musisz ręcznie ustawić routing do sieci lokalnej. Skasuj “redirect-gateway def1” i dodaj:
      route 192.168.1.0 255.255.255.0 – oczywiście w miejsce 192.168.1.0 podajesz adres ip swojej sieci.

  11. Hubert

    Przez ustawienie user.key nie działa autoryzacja, nazwę należy ustawić jako user a system sam doda .key, inaczej wychodzi user.key.key

  12. LeniVietz

    Dzięki za poradnik, działa super, nawet przy braku statycznego adresu IP (wykorzystuję *sn.mynetname.net zamiast IP) 🙂
    Mam jeden problem. Potrzebuję, by osoba łącząca się przez VPN miała adres z tej samej puli co główne DHCP.
    Eksperymentalnie ustawiłem “Local address” 192.168.8.2 dla OpenVPN (DNS server na 192.168.8.1 – taki sam jak IP MT) i wskazałem zarówno dla głównej sieci jak i dla OVPN tę samą pulę adresów 192.168.8.x-y. Jest to połowiczny sukces
    Jestem w stanie się połączyć się, mam internet i zewn. IP od MT ale chyba brakuje jakiejś reguły bo nie mam dostępu do zasobów (rdp i udostępnione foldery) wewnątrz sieci.

  13. Sławek

    Czy jest możliwość konfiguracji VPN zgodnie z powyższym opisem bez domeny tylko ze stałym adresem IP?

      • Rafał

        A jak to zrobić?

        Dzięki za poradnik, samo połączenie działa. Teraz zależy mi na dostępie do internetu przez vpn, a przede wszystkim na IP dla VPN z puli lokalnej.

    • Jeżeli chcesz łączyć dwa routery ze sobą site-to-site to l2tp z ipsec będzie lepszym rozwiązaniem. Łatwiejszy w konfiguracji, lepiej poradzi sobie jeżeli urządzenia są za NAT’em. Nie wymaga instalacji dodatkowego klienta. Natomiast jeżeli chcesz używać VPN per użytkownik(komórka, pc, laptop) to OpenVPN będzie lepszym rozwiązaniem. Do obrazu z kamer l2tp będzie wygodniejszym rozwiązaniem.

  14. lioleon

    Skonfigurował wszystko jak w tutorialu i nie mogę nawiązać połączenia.

    LOG z OVPN:
    Tue Sep 25 21:40:50 2018 Certificate does not have extended key usage extension
    Tue Sep 25 21:40:50 2018 VERIFY EKU ERROR
    Tue Sep 25 21:40:50 2018 OpenSSL: error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed
    Tue Sep 25 21:40:50 2018 TLS_ERROR: BIO read tls_read_plaintext error
    Tue Sep 25 21:40:50 2018 TLS Error: TLS object -> incoming plaintext read error
    Tue Sep 25 21:40:50 2018 TLS Error: TLS handshake failed
    Tue Sep 25 21:40:50 2018 Fatal TLS error (check_tls_errors_co), restarting
    Tue Sep 25 21:40:50 2018 SIGUSR1[soft,tls-error] received, process restarting

    Ma ktoś jakiś pomysł gdzie szukać przyczyny?

  15. iTomek

    Dziękuję za świetny opis, szczególnie, że pułapek przy tej konfiguracji jest co nie miara:) Mam jednak problem z połączeniem się z iPhone’a:

    error parsing config private key : PKCS5 – Requested encryption or digest alg not available

    Rozwiązanie nawet istnieje, okazuje się że plik z kluczem powinien być zaszyfrowany/zahasłowany(?) algorytmem(?) RSA
    https://forums.openvpn.net/viewtopic.php?t=23223#p72298

    Przy czym easy-rsa na moim Macu nie działa, bo chyba mamy LibreSSL zamiast OpenSSL i już te przeszkody zaczynają mnie przerastać.

    Może jest w MikroTiku jakiś magiczny switch, który wygeneruje klucz tak jak należy? 🙂

    • iTomek

      O, chyba się rozwiązało. Można było użyć openssl do przekonwertowania pliku. 🙂
      Teraz już po prostu jest connection timeout 🙁 Mimo że przez telnet połączyło mnie z portem 1194.

  16. hijac3k

    Cześć, nie mogę sobie poradzić z błędem
    ++ Certificate has key usage 00b0, expects 00a0
    ++ Certificate has key usage 00b0, expects 0088
    VERIFY KU ERROR

    Zakładam, ze to problem certyfikatu serwera vpn lub klienta, ale którego i czego mu brakuje?

    • hijac3k

      Odpowiem sobie sam, dla potomnych…
      W opcjach certyfikatu serwera ustawiłem tylko digital signature, key encipherment and tls server i poszło…

    • hijac3k

      Dodatkowo w moim przypadku konieczne było ustawienie opcji certyfikatu użytkownika:
      – digital signature
      – key enciphement
      – tls client

      • Grzecho

        Miałem to samo , podane zmiany mi pomogły.
        Dzięki.

  17. rychu

    Cześć, fajny artykuł, przydatny – pomógł mi skonfigurować OpenVPN na Mikrotiku. Mam jednak mały problem, wszystko działa jednak nie działa 🙂
    Łączy się ale zaraz soft-reset. Nic w logach, po prostu w pętli połączenie i reset. Żadnego błędu. Jak włączyć logowanie openvpn żeby zobaczyć gdzie leży problem?

    • W logach możesz włączyć opcje debug oraz ovpn. Przejdź do system->logging i znakiem plusa dodaj nowy topic.

  18. Marcin

    Dzień Dobry
    Czy jest możliwość ustawienia przypisania adresów IP z ustalonej puli na stałe dla konkretnego klienta zdalnego aby taki sam miał za każdym razem po podłączeniu się ?
    “Przygotowanie adresacji dla klientów VPN”
    Dziękuję.

  19. MarcinN

    A ja mam dziwną zagwozdkę.
    Wszystko działa, ale z jakiegoś powodu certyfikaty zachowują się jak by ich ważność była na poziomie kilki – kilkunastu godzin. I to w dwóch różnych routerach/konfiguracjach.
    Mogę się podłączyć, ale wieczorem już nie. Wystawiam nowe certyfikaty – śmiga natychmiast.

  20. mikro

    Cześć.Dzięki za artykuł. Przeprowadziłem konfigurację na mikrotiku wg. Twojego filmu. Dla VPN jest następująca adresacja : 10.0.0.2-10.0.0.40
    Na kliencie normalnie nawiązuje połączenie z serwerem VPN.
    Niestety nie mam dostępu do komputerów w sieci lokalnej : 192.168.2.0/24

    Co muszę wykonać ? Proszę Cię o przedstawienie kroku po kroku 🙂

    • mikro

      Poradziłem sobie przez skasowanie w konfiguracji klienta : redirect-gateway def1 i wstawienie route 192.168.2.0 255.255.255.0

      Jednak czy jest to bezpieczne rozwiązanie ?

  21. mariusz

    Cześć, Mam pytanko. Zrobiłem wszystko jak opisałeś ale po połączeniu do routera na którym mam server VPN nie mogę pingować w sieci LAN. Nie mam dostępu do innych stacji. Czy mógłbyś mi pomóc?

  22. mikmrc

    Hej. Rozwiązanie z certyfikatami generowanymi z mikrotiku mi działa, jednak chciałbym importować certyfikaty z CA mojej domeny, dodatkowo by na mikrotiku sprawdzany był certyfikat stacji – Win10, Zależy mi na łączeniu z VPN większej ilości maszyn by były weryfikowane ich indywidualne certyfikaty stacji.

  23. tomek

    Witam.
    Walczę z mikrotikiem i mam taki problem. Ustawiłem już sobie połączenie VPN. Serwer działa i klient się łączy z nim. Dodałem sobie w kliencie opcje: route 192.168.1.0 255.255.255.0 10.0.0.1
    Dzięki temu mogę pingować już mikrotika przez internet. Problem w tym że nie mogę się połączyć z nim przez winboxa. Czy trzeba jakąś regułę dodać w firewallu żeby dało się dostać przez winboxa przez openvpn?
    Pierwszy raz w życiu robię mikrotika i nie jest to dla mnie proste.

  24. Darek

    Udało się komuś połączyć z Androida?? z Windows działa bezproblemowo ale z telefonu nie chce się połączyć

    • ArturS

      musisz skonwertować klucz (plik *.key) tak, żeby nie potrzebował hasła.
      openssl rsa -in user.key -out user-2.key
      podajesz hasło (to co podawałeś przy eksporcie certyfikatu serwera) i tyle. Pozostaje poprawienie pliku .ovpn tak, żeby korzystał z nowego klucza.

      U mnie w tej konfiguracji musiałem jeszcze zmienić w PPP > Profiles i ręcznie ustawić serwery DNS od usługodawcy – jak był adres routera to nie rozwiązywał nazw.

  25. PabloPCK

    Jak należy skonfigurować Mikrotika aby było połączenie między komputerem w sieci lan a komputerem w sieci VPN? Chciałbym się połączyć przez uvnc na komputer za vpn aby zdalnie na nim coś zrobić.

  26. karnasw

    Witam, wykonałem wszystko według poradnika niestety przy łączeniu po wpisaniu haseł, brak połączenia. W certyfikatach w common name dałem swoje IP.
    https://pastebin.com/E2finbz8. Dodam tylko, że miałem wcześniej skonfigurowane OpenVPN na OpenWrt, więc portów z zewnątrz nie mam zamkniętych (po drodze mam router operatora jeszcze).

    • karnasw

      Już problem rozwiązany. Port 1194 u operatora był przekierowany nie na to IP.

  27. n0n3

    Niestety nie jest istotne zachowanie zgodności nazwy użytkownika ovpn’a i pola common name certyfikatu użytkownika. Używanie jednego user cert dla wszystkich użytkowników jest mocno słabym pomysłem, ale niestety w RouterOS jako OVPN server nie ma opcji aby wymusić weryfikację: [user name]=[common name] !! (?)

  28. n0n3

    …a ponieważ w Mikrotikowej implementacji ovpn nie ma możliwości obligatoryjnego przypisania certyfikatu do użytkownika (zawartość pola [common name] w certyfikatach nie ma znaczenia) zdecydowanie warto (czego nie pokazano powyżej) samo’podpisując CA wprowadzić URL [ca-crl-host] aby móc jakoś szczątkowo panować nad certyfikatami (poprzez revoke).

  29. HakerComp

    Zestawiłem połączenie VPN na Mikrotika, co prawda SSTP a nie OpenVPN, ale nie tu problem. Z komputera zdalnego widzę sieć podpiętą lokalnie do Mikrotika, (w bridge ARP zmieniłem na proxy-arp, co pozwoliło widzieć sieć po LAN), mogę z komputera zdalnego pingować wszystkie urządzenia w LAN, natomiast z sieci LAN nie widzę komputera zdalnego, muszę na niego wysyłać pakiety do drukarki fiskalnej a maszyny nie widać. IP maszyny zdalnej na interfejsie VPN jest w tej samej puli co Mikrotik. Co zrobić, by zaczęło być widać zdalny komp?

  30. Maks

    Witam serdecznie,
    chciałbym uruchomić OpenVPNa bez publicznego adresu, wykorzystując jeden z serwisów. Jak to zrobić w takim wypadku?

    • kwb

      Kup sobie vps’a i albo postaw ovpn na linuchu, albo wgraj chr’a.

  31. Witam. Czy podpowie ktoś jak skonfigurować OpenVPN na Mikrotiku RBD52G który stoi za Horizonem UPC. Próbowałem coś z tego opisu ale niestety nie działa.

  32. Marcin

    Panie Grzegorzu ustawiłem OpenVPN wg Pańskiego przewodnika i w zasadzie działa mi prawie wszystko. W zależności od tego czy w pliku konfiguracji klienta dodając route siec_LAN maska na przemian z redirect-gateway def1 mam odpowiednie kierowanie ruchem.

    W konfiguracji Mikrotika ustawiłem adres dns w profilu. Po połączeniu klienta Windows po poleceniu ipconfig /all widzę wskazany adres serwera dns jaki jest dla mojej sieci LAN czyli Mikrotik. Problem w tym, że wywołując poleceine nslookup onet.pl dostaję informacje, że zapytania są wysyłane na adres mikrotika czyli 192.168.xxx.1, natomiast dostaję timeouty – czyli DNS nie realizuje zapytań.

    Dodałem regułę na firewallu input chain na tcp na interfejsie all ppp dla source address wskazując nazwę listy adresów, którą aktualizuje każde połączenie przez VPN (w profilu mam wskazaną listę adresów).

    Gdzie tutaj leży mój błąd konfigutracji dns lub firewalla ?

    • Marcin

      Znalazłem sam – niech zostanie dla potomnych. Powinienem mieć dwie reguły jedna na TCP druga na UDP.

  33. Niestety nie potrafię zestawić pingu od klienta OVPN do komputerów w sieci lokalnej. Zbudowałem sieć testową MT eth1 WAN 192.168.2.2/24 , switch tam komputer klienta 192.168.2.180 który wdzwania się do 192.168.2.2, na MT BRIDGE eth2-5, masquerade, dhcp 192.168.1.0/24, do eth3 podpięty PC otrzymuje IP192.168.1.199

    reguła redirect-gateway def1 nic nie daje. Z MT jest ping do 192.168.1.199(komputer w sieci lokalnej) oraz do 10.0.0.2(wdzwoniony klient ovpn). Natomiast pomiędzy komputerami nie ma pingu.

    • Przepraszam – jednak jakaś komunikacja jest. Komputer klienta zdalnego o adresie 10.0.0.2 może podłączyć się po RDP do komputera w sieci lokalnej 192.168.199. Ale niestety komputery się nie pingują i nie działa udostępnianie zasobów. Z obu komputerów da się pingować obie bramy 192.168.1.1 i 10.0.0.1.

      UPDATE – przyczyną były zapory systemowe. Wszystko gra i pinguje.

  34. Tomek_CYG

    Pojawiła się nowa wersja OVPN GUI 2.5.0
    Przy łączeniu się wywala na czerwono ostrzeżenie

    DEPRECATED OPTION:
    –cipher set to ‘AES-256-CBC’ but missing in
    –data-ciphers (AES-256-GCM:AES-128-GCM). Future OpenVPN version will ignore
    –cipher for cipher negotiations. Add ‘AES-256-CBC’ to
    –data-ciphers or change
    –cipher ‘AES-256-CBC’ to
    –data-ciphers-fallback ‘AES-256-CBC’ to silence this warning.

    Można tą funkcję włączyć lub wyłączyć zgodnie z opisem. Proszę autora o sugestię i opis istotności ustawienia.

  35. ferdek141

    Witam Tomek_CYG

    Mam ten sam problem, zapory blokują dostep do zasobów. Jakie reguły Pan ustawił że zadziałało?
    Probowałem z zajresami Ip (z puli jaka ustawilem na VPN) oraz protokołami i portami , niestety cały czas blokuje.

    • Wyjątek w zaporze na adresy i IP i porty powinien wystarczyć. Czy nie ma przypadkiem innego oprogramowania, które może sterować firewallem w Windowsie? Jakieś Eset, Avast?

  36. Wojtek

    Skonfigurowałem VPN i działa. Dziękuję.
    Mam tylko problem z dostępem do urządzeń, które są podpięte pod drugiego mt w sieci. Czy muszę coś dodatkowego ustawić abym miał dostęp np do serwera symfoni.
    Dziękuje

  37. Krszysztof

    Witam, trzykrotnie sprawdzałem czy wykonałem wszystkie kroki poprawnie.
    Co może być przyczyną ?
    Cannot resolve host address: (……).com:1194 (Nieznany host. )
    Could not determine IPv4/IPv6 protocol

  38. Witam. Skonfigurowałem całość zgodnie z opisem i udaje się połączyć z vpn, w przeglądarce dostaję IP publiczne takie jak na WAN mikrotika. Niestety nie mogę sobie poradzić z routingiem tak, żeby mieć dostęp do zasobów LAN ze świata po połączeniu z VPN. Próbowałem dodać do pliku konfiguracyjnego *.ovpn linijkę route ale kompletnie nie mam pojęcia jak i nic nie działało.
    W mikrotiku mam tak:
    Mikrotik LAN: 192.168.0.1/24 – interface bridge1
    Mikrotik WAN: tu moje publiczne stałe IP – połączenie pppoe
    Profil PPP adres: 192.168.10.1
    Pula dla open vpn: 192.168.10.2 – 192.168.10.32 – ustawiona w profilu PPP

    Na mikrotiku mogę pingować na IP PPP czyli 192.168.10.1
    ale już na podłączony zdalnie komputer który dostaje IP 192.168.10.32 nie mogę.
    I oczywiście z połączonego komputera mogę pingować mikrotika VPN IP 192.168.10.1
    Nie mogę natomiast pingować niczego z sieci LAN 192.168.0.1/24

    Jak to wpisać w pliku *.ovpn żeby po połączeniu się z tunelem mieć dostęp do lokalnych zasobów po stronie LAN mikrotika ? Ewentualnie jak ustawić jakiś routing na mikrotiku, tak żeby obie sieci mogły ze sobą gadać ?

    Z góry dziękuję za jakiekolwiek podpowiedzi.

    • Musisz jeszcze w firewallu zezwolić na ruch między sieciami, bo jeżeli masz domyślną regułkę “drop all”, to zablokuje takie połączenia. Na komputerze zdalny zobacz w cmd route print jak masz trase routingu do sieci LAN, powinna być dodana własnie w pliku konfiguracyjnym klienta openvpn.

  39. Kr

    Mam taki dziwny problem z tą konfiguracją. Konkretnie chodzi o etap konferencji profilu i opcję
    “DNS Server: podajemy wewnętrzny adres routera”
    Adres mojego routera to 172.16.0.1 i gdy wpiszę go w pole DNS Server to połączenie jest zestawiane (jest w zakładce Active Connections) ale niestety brak jest internetu. Natomiast gdy wpiszę adres DNS Server np. 8.8.8.8 to wszystko działa poprawnie (jest Internet). Skąd może wynikać taka rozbieżność?

  40. Shalak

    Na czyjes pytanie o posiadanie adresu VPN z puli lokalnej odpisales:
    > Tak bym tego nie robił. Lepiej dodać routing z podsieci vpn do głównego dhcp.

    Dlaczego nie?

    • Zawsze lepiej stosować separację sieci. Później na firewallu łatwiej jest ograniczać dostęp dla połączeń VPN.

  41. Lukasz

    Cześć . Problem…
    Mam postawiony serwer openvpn na Ccr1009-7g-1c-1s. Zgodnie w oparciu o twój przedwodnik. Dziś jeden nowy client (laptop) skonfigurowany jak inne urządzenia ( Openvpn w wersji 2.5.2 najnowszej) i niestety nie chce się połączyć. W logu :
    connection reset restarting [0]
    sigusr1[soft,connection-reset] received
    I tak cały czas… w pętli…
    Ten sam plik opvn konfiguracyjny wrzucam do innych urządzeń i łączą sie bez problemu 🤔🤔
    Co może powodować ten reset…??
    Dzięki za wskazówki 🙂

  42. Marcin

    @Lukasz: U mnie problem rozwiązany przez dodanie opcji data-ciphers-fallback ‘AES-256-CBC’

  43. Robert

    Zrobiłem wszystko zgodnie z instrukcją.
    OpenVpn się łączy, routing działa.
    Mogę pingować komputery w sieci, nawet prosty serwis REST działa na zdalnej maszynie.
    Ale …
    Jak próbuję podpiąć się pod RDP lub VNC całe połączanie umiera. Po kilku zmianach udało mi się doprowadzić do sytuacji, że połączenie udaje się nawiązać, ale po restarcie połączenia wszystko wraca do normy.
    Po połączeniu mogę wejść po sambie na zdalną maszynę i widzę pierwszy poziom, ale po próbie wejścia do kolejnych katalogów sytuacja jak wyżej.
    Dopiero restart połączenia a czasem całego routera pomaga.

    Mikrotik stoi za NATem port 1194 otwarty.
    Już mi się pokończyły pomysły.

  44. Robert

    Nie, zrobione jest wszytko jak w opisie.
    Zastanawia mnie, dlaczego zwykły rest wystawiony działa, ale wszystko ciut bardziej skomplikowane przestaje.
    jak bawiłem się MTU to za pierwszym razem udało mi się połączyć, ale po restarcie połączenia już nie działało.

  45. Robert

    Jaka powinna być poprawna konfiguracja, żeby sieć VPN widziała LAN? Bo spotkałem się z kilkoma rozwiązaniami.

  46. Irena

    Witam
    Dla innych kolegów mam wiadomość :
    Podczas generowania drugiego (i zapewnie następnego ) certyfikatu klienta uzyskałem i podpisałem certyfikaty ale eksport się nie wykonywał (brak błędów). Aby pomyślnie zrealizować export w/wym. należy skorzystać z terminala : /certyficate export-certificate user-Cert export-passhase=hasło gdzie: user-Cert to podstaw swój user, hasło to jego hasło
    Jeśli dla takiego usera chcemy przypisać ograniczenia to należy dodatkowo w PPP->Secrets->Remote Addres wpisać mu adres poza pulą pool-openvpn a w Firewall utworzyć reguły accept i drop dla Src.Address i Dst Address. Np. jeśli pool-openvpn 10.10.10.2- 10.10.10.30 to dajemy mu adres np. 10.10.10.100 i checmy go ograniczyć tylko do hosta 192.168.0.21 w bridge to drop Src Addres =10.10.10.100 Dst. Addres = !192.168.0.21 forward a poniżej accept Src. Address 10.10.10.0./24 forward. Jeśli zaś chcemy dostać się open-vpn do innego MT w naszej sieci to z jego Quick SEt ->VPN Address: kopiujemy zawartość (nazwijmy ją adrp) i używamy wszędzie tam jak w opisie wyżej zastępując string :grzegorzkowalik.com tą skopiowaną zawartością (adrp) i dodatakowo wszędize należy zastąpić port 1194 innym np. 1195 pamiętając o odpowiednich przekierowaniach na bramie do internetu.

  47. Irena

    Przepraszam za błąd w w/wym. wypowiedzi nie chodzi oczywiście w ostatnim zdaniu o przekierowanie portu a o otwarcie portu 1195 po drodze do do drugiego MT

  48. Irena

    Proszę zauważyć, że posługując się jak w opisie wyżej skopiowanym stringiem (adrp) zamiast adresu zewnętrzego IP stałego – możemy korzystać również ze zmiennych adresów IP byle były by to adresy zewnętrzne IPV4

  49. Irena

    Odniosę się do pierwszego komentarza, ze względu że jest enigmatyczny. Ja to tak rozumiem, że jeżeli chcemy wygenerować tylko jeden certyfikat użytkownika a jednocześnie chcemy kontrolować / selektywnie dopuszczać do zasobów LAN poszczególnych użytkowników ( lub grup) to tworzymy każdego nowego usera z utworzonego wcześniej user najprościej przez kopiowanie i modyfikację. Kopiujemy w PPP->Secrets nowego usera nadając mu inną nazwę, hasło i Remote Address z puli po za pool- vpn ale z tej samej sieci co pool-vpn. Tak utworzonych nowych userów kontrolujemy w Firewall używając ich Src. Address (odpowiada to nadanym Remotre Address ) odpowiednimi regułami zezwalającymi lub zabraniającymi.
    Przykład pool-openvpn 10.10.10.2- 10.10.10.30, sieć 10.0.0.0/24
    W PPP-> Secrets tworzymy kolejnego usera o nazwie: darek dajemy mu hasło: “haslodarka”, Remote Address adres np. 10.10.10.100
    i chcemy go ograniczyć: przyznać mu dostęp tylko do hosta 192.168.0.21
    to w Firewal ->Fiter Rules: drop Src Addres =10.10.10.100 Dst. Addres = !192.168.0.21 forward
    a poniżej accept Src. Address 10.10.10.0./24 forward.
    i.t.d. tworzymy kolejnych userów lub grup userów.

  50. Karol

    Cześć. Konfiguruje OpenVPN na Mikrotiku i mam problem z połączeniem. Mianowicie – konfiguracja sieci u mnie wygląda następująco:
    – Router światłowodowy jako ETH1 (192.168.10.1) – główny
    – Router LTE jako ETH2 (192.168.20.1) – awaryjny
    między nimi jest failover skonfigurowany na Mikrotiku który ma adres 10.10.1.1. Jak w tym wypadku skonfigurować OpenVPN na Mikrotiku aby łączyć się przez jeden lub przez drugi router?

    Jeszcze jedna rzecz do uzupełnienia informacji – w poradniku podał Pan Common Name: *.grzegorzkowalik.com – rozumiem że ta domena musi być zarejestrowana i w strefie DNS musi być podane przekierowanie na zewnętrzny adres IP routera?

    • A jak jest z certyfikatami? Tak pole Common Name powinno wskazywać na domenę z rekordem A na ip routera. Ewentualnie w polu CN można podać ip routera. Teoretycznie jeżeli zadziała failover i są certyfikaty, to powinno wszystko zadziałać.

  51. Karol

    W rekordzie A jaki adres IP routera podać biorąc pod uwagę, że są dwa adresy routerów w moim przypadku? Czy podać w tym wypadku adres Microtik’a tj. 10.10.1.1? Mówimy tu o lokalnym adresie – nie zewnętrznym? Przepraszam za ilość pytań ale ciężko mi gdziekolwiek znaleźć informacje na ten temat

    • To musi być publiczny adres IP, w innym przypadku serwer nie będzie osiągalny z Internetu.

  52. Karol

    Ok, w porządku, czyli żeby dostać się przez router główny muszę stworzyć certyfikaty do OpenVPN dla routera głównego, a jeśli będzie nieosiągalny i będę chciał połączyć się przez router awaryjny (LTE) to muszę mieć oddzielne certyfikaty dla drugiego routera (oddzielny profil połączenia dla OpenVPN)? Dobrze rozumiem?

    • Najlepiej jakby router miały taka są konfiguracje. Niestety MT nie ma HA, i ciężko czasami jest kopiować konfig 1:1. Postaraj się, aby konfiguracją od OpenVPN była identyczna na dwóch urządzeniach, wtedy po awarii jednego nic nie będziesz musiał robić. Poczytaj jeszcze o rekordzie CNAME i A w dnsach, bo dużym problemem po przełączeniu będzie publiczny adres IP. Ewentualnie jakiś DDNS.

  53. Paweł

    Witam,
    wykonałem procedurę zgodnie z instrukcją i połączenie przez OpenVPN następuje, jednak nie mam połączenia z innymi urządzeniami które są w tej sieci. Na pingi odpowiada mi tylko sam mikrotik.

  54. Qba

    Czy można prosić o aktualny konfig?
    W związku z update systemu jest dość dużo nowych opcji do zaznaczenia, i niestety pojawiają się problemy 🙁
    Pozdrawiam

  55. Qba

    THX 😉
    po przywróceniu backup z zeszłego roku niestety VPN nie wstaje 🙁
    z Tika:
    disconnected
    z Androida na którym wszytko dizałało:
    Client exception in transport_recv_excode: OpenSSLContext::SSL::read_cleartext: BIO_read failed, cap=2576 status=-1: error:14094418:SSL routines:ssl3_read_bytes:tlsv1 alert unknown ca
    działa dopiero po odznaczeniu “require-client-certificate”

  56. Qba

    Mialbym pytanie:
    W zwiazku z tym iz np UPC daje stele IP tylko dla kilientow biznesowych- jest mozliwosc zrobienia tutka w oparciu o clouda ddns?
    Bo z tego co widze wszytkie opieraja sie o autoryzacje certyfikatu CA o adres 😐
    A niestety nie kazdy ma taka mozliwosc 😐

    • OK, postaram się dodać także i taką konfigurację. Ponieważ planuje nowy materiał na RouterOS 7.x

  57. MiKa [rookie]

    Świetny tekst, szczególnie dla osób zaczynających “zabawę” z MT. Proszę o komentarz do problemu: VPN serwer na cele prywatne (klientów do 10), głównie urządzenia mobilne;
    Czy OpenVPN jest właściwym rozwiązaniem czy należy rozważyć inny serwer?
    Jak wygląda problem “inverse split tunneling”? Ktoś ma doświadczenie albo porady?
    Z góry dziękuję za podzielenie się wiedzą
    Pozdrawiam,
    MiKa

  58. MiKa [rookie]

    Dziękuję za podpowiedź. Nie mogę znaleźć RouterOS ver. 7 w wersjach stabilnych. Czy mogę znaleźć odpowiedni pakiet dla 6.xx?
    Pozdrawiam

    • Jaki masz model router? Pobierz RouterOS’a w wersji 7.x ze strony mikrotik.com i wgraj do Files na routerze. Restart i będziesz miał już ROS v7.x

  59. Michał

    Witam, walczę według Twojego poradnika…spróbowałem zarówno na RB2011 oraz CCR1009-7G-1C-1S+… W obu przypadkach po próbie połączenia w logu mam duplicate packing, dropping… Nie mam pojęcia co robić

  60. Qba

    Sprobuj sciagnac starsza wersje open vpn.
    Mnie pomoglo chyba .5.7 – z maja zeslego roku. Byl roblem z certyfikatami, nie chcial przyjac poswiadczenia na biezacym – lutowym OS.
    Po sciagnieciu starej wersji problem znikl jak ręką odjol…

  61. Paweł

    U mnie do wersji OpenVPN 2.5.9 następuje połączenie do serwera mikrotik.
    Natomiast mam problem bo nie pobiera mi Default Gateway. Gdzie popełniłem błąd?

    • Brama domyślna powinna być dodana w pliku konfiguracyjnym klienta. Jak możesz, to pokaż jak wygląda config.

  62. Krzysiek

    Dzień dobry,
    mam problem ponieważ po zestawieniu połączenia client to site za pomocą OVPN
    nie mogę się dostać do sieci która znajduje się na końcu tunelu IPSEC z innym routerem

  63. Marcin

    Witam,
    Skonfigurowałem połączenie wg artykułu i klient łączy się z serwerem, ale nie mam dostępu do zdalnej sieci lokalnej, a także na kliencie nie mam dostępu do Internetu. Adresacja zdalnej sieci LAN to 192.168.0.0/24, adresacja dla VPN 10.11.12.0/24. Na obu adresacjach ustawiłem maskaradę. Co ciekawe połączenie L2TP nawet na tej samej adresacji VPN działa poprawnie.

  64. Mariusz

    prosze o usuniecie mojego komentarza powyżej

  65. herigo

    witam
    udało mi się połączyć po openVPN ale nie mam dostępu do sieci lokalnej ani do mikrotika z zewnątrz moja adresacja sieci lokalnej to 192.168.0.1 a adresacja openVPN 10.9.10.1 w czym może leżeć problem?

Dodaj komentarz

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