Przejdź do treści

Mikrotik: VPN site-to-site na dynamicznym IP

Podobno ludzie dzielą się na dwa typy - tych, którzy robią backupy, oraz tych, którzy dopiero zaczną je robić. Ja należę do tego pierwszego, po utracie danych z kilku kart pamięci. Zdjęcia, filmiki, dokumenty, wszystko to codziennie w nocy wrzucam automatycznie na swojego NASa. Do tej pory był to stary DS209j od Synology, do mieszkania zakupiłem DS1618+ - o nim opowiadam w tym wpisie.

Po przeprowadzce okazało się, że istnieje możliwosć, że będę musiał przyjeżdżać na dzień/dwa do domu rodzinnego. I tu pojawił się pierwszy problem, co z backupami i dostępem do danych, które mam na dysku w mieszkaniu? Wrzucanie plików bezpośrednio do mieszkania odpada, bo w domu jest Neostrada 20/2, więc istnieje duże prawdopodobieństwo, że backupy nie zdążyłyby się zsynchronizować. No ale, skoro w domu zostawiłem router Mikrotika, to czemu nie zapiąć VPNa site-to-site do mojego RB4011 i nie synchronizować bez udziału urządzeń noszonych? Tu pojawił się drugi problem, który szybko rozwiązałem - dynamiczne IP w domu - ale od czego są DDNSy.

Dzięki temu rozwiązaniu, gdy przyjadę do domu rodzinnego, moje urządzenia zsynchronizują się z lokalnym NASem, a ten wypchnie dane do zdalnego NASa, bez konieczności oczekiwania.

Oczywiście, nic nie stoi na przeszkodzie, żeby IP po obydwu stronach były dynamiczne - wtedy trzeba dodać skrypt do aktualizacji DDNSa po drugiej stronie - obecnie można podać nazwę domenową zamiast adresu IP.

VPN site-to-site między dwoma MikroTikami - konfiguracja

Router w mieszkaniu (stałe IP)

Moja konfiguracja:
Router w mieszkaniu - RB4011iGS+5HacQ2HnD-IN z klientem PPPoE.
Router w domu - RB760iGS za FunBoxem (podwójny NAT, przekierowanie portów).

# Tutaj ciężko użyć zmiennych, więc najlepiej podmienić dane przez CTRL+H:
# "Remote" - Nazwa do komentarzy/nazw, u mnie po prostu nazw ulicy, przy której znajduje się dom.
# "ENTER-SECRET-HERE" - polecam wygenerować klucz w generatorze haseł
# "YOUR-INTERFACE-HERE" - interfejs wyjściowy - w mieszkaniu mam PPPoE, w domu eth, ponieważ to Livebox autoryzuje się w sieci.
# BRIDGE - nazwa interfejsu Bridge, w którym jest podsieć
# "YOUR-DDNS-HERE" - domena DDNS, pod którą będzie adres IP domowego routera
# 192.168.10.1 - IP bramy domyślnej
# "192.168.10.0/24" - IP/skrót maski sieci, którą chcemy spiąc VPNem w mieszkaniu
# "192.168.5.0/24" - to samo, tyle że w domu

# Konfiguracja IPseca
/ip ipsec profile
add dh-group=modp4096 enc-algorithm=aes-256,aes-128 hash-algorithm=sha512 name=Remote
/ip ipsec peer
add address=2.1.3.7/32 comment=Remote exchange-mode=ike2 name=Remote profile=Remote
/ip ipsec proposal
add auth-algorithms=sha512 enc-algorithms=aes-256-cbc name=Remote pfs-group=modp4096
/ip ipsec identity
add comment=Remote peer=Remote secret=ENTER-SECRET-HERE
/ip ipsec policy
add comment=Remote dst-address=192.168.5.0/24 peer=Remote proposal=Remote src-address=192.168.10.0/24 tunnel=yes

# Konfiguracja NATowania - reguły muszą być na samej górze tablicy
/ip firewall nat
add action=accept chain=srcnat comment="IPsec VPN to Remote" dst-address=192.168.5.0/24 src-address=192.168.10.0/24
add action=accept chain=dstnat comment="IPsec VPN from Remote" dst-address=192.168.10.0/24 src-address=192.168.5.0/24

# Konfiguracja Firewalla - reguły muszą być na samej górze tablicy
/ip firewall filter
add action=accept chain=input comment="IPsec VPN NATT" dst-port=4500 in-interface=YOUR-INTERFACE-HERE protocol=udp
add action=accept chain=forward comment="IPsec VPN from Remote" dst-address=192.168.10.0/24 in-interface=YOUR-INTERFACE-HERE ipsec-policy=in,ipsec src-address=192.168.5.0/24
add action=accept chain=forward comment="IPsec VPN to Remote" dst-address=192.168.5.0/24 out-interface=YOUR-INTERFACE-HERE src-address=192.168.10.0/24

# Konfiguracja routingu
/ip route
add distance=1 dst-address=192.168.5.0/24 gateway=BRIDGE pref-src=192.168.10.1

Router w domu (dynamiczne IP)

# Jak wyżej, proponuję zamienić przez CTRL+H:
# "Local" - Nazwa do komentarzy/nazw, u mnie po prostu nazw ulicy, przy której znajduje się mieszkanie.
# "ENTER-SECRET-HERE" - polecam wygenerować klucz w generatorze haseł
# "YOUR-INTERFACE-HERE" - interfejs wyjściowy - w mieszkaniu mam PPPoE, w domu eth, ponieważ to Livebox autoryzuje się w sieci.
# YOUR-IP-ADDR - publiczny adres IP routera w mieszkaniu
# "192.168.10.0/24" - IP/skrót maski sieci, którą chcemy spiąc VPNem w mieszkaniu
# "192.168.5.0/24" - to samo, tyle że w domu

# Konfiguracja IPseca
/ip ipsec profile
add dh-group=modp4096 enc-algorithm=aes-256,aes-128 hash-algorithm=sha512 name=secure-profile
/ip ipsec peer
add address=YOUR-IP-ADDR/32 comment=Local exchange-mode=ike2 name=Local profile=secure-profile
/ip ipsec proposal
add auth-algorithms=sha512 enc-algorithms=aes-256-cbc name=secure-proposal pfs-group=modp4096
/ip ipsec identity
add comment=Local peer=Local secret=ENTER-SECRET-HERE
/ip ipsec policy
add comment=Local dst-address=192.168.10.0/24 peer=Local proposal=secure-proposal src-address=192.168.5.0/24 tunnel=yes

# Konfiguracja NAT - reguły muszą być na samej górze
/ip firewall nat
add action=accept chain=srcnat comment="IPsec VPN to Local" dst-address=192.168.5.0/24 src-address=192.168.10.0/24
add action=accept chain=dstnat comment="IPsec VPN from Local" dst-address=192.168.10.0/24 src-address=192.168.5.0/24

# Konfiguracja firewalla - reguły muszą być na samej górze
/ip firewall filter
add action=accept chain=input comment="IPsec VPN NATT" dst-port=4500 in-interface=YOUR-INTERFACE-HERE protocol=udp
add action=accept chain=forward comment="IPsec VPN from Local" dst-address=192.168.5.0/24 in-interface=YOUR-INTERFACE-HERE ipsec-policy=in,ipsec src-address=192.168.10.0/24
add action=accept chain=forward comment="IPsec VPN to Local" dst-address=192.168.10.0/24 out-interface=YOUR-INTERFACE-HERE src-address=192.168.5.0/24

# Konfiguracja routingu
/ip route
add distance=1 dst-address=192.168.10.0/24 gateway=BRIDGE pref-src=192.168.5.1

Oczywiście, trzeba jeszcze skonfigurować DDNS - można do tego użyć wbudowany Cloud MikroTika.

Skip to content