How Can We Help?
< All Topics
Print

Mikrotik VPN

Ogólne punkty wspólne dla wszystkich VPN

1. Utworzenie puli adresów

ip pool add name=vpn-pool ranges=192.168.99.200-192.168.99.210

Jeśli używamy split dns w Windows to pula musi się znajdować w sieci używanej przez użytkowników sieci docelowej, jeśli nie może być w innej sieci

2. Utworzenie profilu VPN

ppp profile add change-tcp-mss=yes local-address=vpn-pool name=vpn-profile remote-address=vpn-pool use-encryption=yes

3. Utworzenie użytkowników

ppp secret add name=user1 password=p@sSword1 profile=vpn-profile

Uwaga – dodając użytkowników bez precyzowania service=… możemy użyć tych samych użytkowników do różnych rodzajów VPN. Możemy też sprecyzować service i użytkownicy zadziałają tylko np. w pptp vpn lub openvpn

4. Dostęp do urządzeń w sieci lokalnej

/interface bridge
add arp=proxy-arp comment="enable access to all devices in lan" name=bridge

bridge-lan to nasz most w mikrotiku dla sieci lokalnej


Konfiguracja PPTP VPN

1. Włączenie serwera PPTP VPN

interface pptp-server server set authentication=chap,mschap1,mschap2 default-profile=vpn-profile enabled=yes

2. Dodanie wyjątku na zaporze mikrotika

/ip firewall filter
add chain=input protocol=tcp dst-port=1723 action=accept place-before=0 comment="PPTP VPN"

3. Konfiguracja PPTP VPN w artykułach

https://www.bgocloud.com/knowledgebase/32/mikrotik-chr-how-to-setup-pptp-vpn-server.html

https://rbgeek.wordpress.com/2014/08/26/pptp-server-setup-on-mikrotik/

4. Konfiguracja klienta PPTP w Windows


Konfiguracja OpenVPN

1. Utworzenie certyfikatów

/certificate
add name=ca-template common-name=example.com days-valid=3650 key-size=2048 key-usage=crl-sign,key-cert-sign
add name=server-template common-name=*.example.com days-valid=3650 key-size=2048 key-usage=digital-signature,key-encipherment,tls-server
add name=client-template common-name=client.example.com days-valid=3650 key-size=2048 key-usage=tls-client

Jako domenę podajemy domenę mikrotika np. jeśli mikrotik mamy na adresie klient.arwal.com.pl  to example.com zastępujemy przez klient.arwal.com.pl

2. Podpisanie certyfikatów

/certificate
sign ca-template name=ca-certificate
sign server-template name=server-certificate ca=ca-certificate
sign client-template name=client-certificate ca=ca-certificate

Podpisanie certyfikatów jest czasochłonne , czasami mikrotik pokazuje błąd przy podpisie. W przypadku błędu powtarzamy podpis. Aby usunąć podpisane certyfikaty kasujemy certyfikat ca

3. Włączenie interface VPN

/interface ovpn-server server
set default-profile=vpn-profile certificate=server-certificate require-client-certificate=yes auth=sha1 cipher=aes128,aes192,aes256 enabled=yes

4. Dodanie wyjątku na zaporze mikrotika

/ip firewall filter
add chain=input protocol=tcp dst-port=1194 action=accept place-before=0 comment="OpenVPN"

5. Konfiguracja klienta openvpn pod windows

Pliki ca.crt , client.crt , client.key kopiujemy do C:\Program Files\OpenVPN\config\ .

Plik client.ovpn powinien wyglądać następująco

client
dev tun
proto tcp
remote example.com 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client.crt
key client.key
remote-cert-tls server
cipher AES-128-CBC
auth SHA1
auth-user-pass
redirect-gateway def1
verb 3

Należy pamiętać aby example.com było zgodne z domeną podaną w punkcie 1. Klienta ovpn importujemy w openvpn. Po imporcie zostanie on zapisany w katalogu: C:\Users\xxx\OpenVPN\config\nazwa_profilu ( gdzie xxx to folder użyykownika ), do tego katalogu trzeba przegrać wszystkie pliki .crt i .key

Czasami mimo prawidłowej konfiguracji występuje błąd tls

W takim wypadku do pliku .ovpn dopisujemy

tls-cipher DEFAULT

Uwaga – dla Windows maksymalny zalecany klient to 2.5.9 – na wyższych wersjach błąd w Windows 11

6. Eksport certyfikatów z mikrotika

/certificate
export-certificate ca-certificate export-passphrase=""
export-certificate client-certificate export-passphrase=12345678

W wyniku eksportu zostaną utworzone pliki: cert_export_ca-certificate.crtcert_export_client-certificate.crt,  cert_export_client-certificate.key. Po przekopiowaniu na komputer do katalogu C:\Users\xxx\OpenVPN\config\nazwa_profilu zmieniamy ich nazwy na ca.crtclient.crtclient.key .

Mikrotik wymaga utworzenie hasła klienta, nie jest to hasło użytkownika

Można uniknąć pytania o hasło klienta i sprawnie zmienić nazwy plików, na komputerze z którego będziemy się łączyli uruchamiamy cmd

move "cert_export_ca-certificate.crt" "ca.crt"
move "cert_export_client-certificate.crt" "client.crt"
move "cert_export_client-certificate.key" "client.key"
"C:\Program Files\OpenSSL-Win64\bin\openssl.exe" rsa -in client.key -out client.key
Enter pass phrase for client.key: 12345678
writing RSA key

7. Konfiguracja w jednym pliku

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

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

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

8. Konfiguracja OpenVPN w artykułach

https://www.medo64.com/2016/12/simple-openvpn-server-on-mikrotik/

https://grzegorzkowalik.com/mikrotik-openvpn-server/

Table of Contents