MikroTik RouterBoard RB260GS
Настройка IPsec Site-to-Site VPN между двумя Mikrotik
IPsec site-to-site — классика для объединения двух офисов в одну сеть. В отличие от WireGuard, IPsec работает в любой версии RouterOS (включая 6.x) и совместим с большинством производителей. Разберём настройку туннеля между двумя роутерами Mikrotik по схеме «сеть 1 ↔ сеть 2».
Схема и договорённости
| Параметр | Офис 1 (RU) | Офис 2 (MSK) |
|---|---|---|
| Публичный IP | 1.1.1.1 | 2.2.2.2 |
| LAN сеть | 192.168.10.0/24 | 192.168.20.0/24 |
| LAN IP роутера | 192.168.10.1 | 192.168.20.1 |
| Pre-shared key (PSK) | VerySecretKey123! |
тот же |
ПСK должен быть одинаковым на обеих сторонах. Используйте длинную случайную строку.
Часть 1. Офис 1 (серверная сторона)
Шаг 1. Настраиваем IPsec peer
/ip ipsec peer add
address=2.2.2.2
name=peer_msk
secret="VerySecretKey123!"
verify-certificate=no
dh-group=modp2048
enc-algorithm=aes-256
hash-algorithm=sha256
lifetime=1d
proposal-check=obey
exchange-mode=ike2
address— публичный IP или DNS второй стороныexchange-mode=ike2— современный, быстрый; если вторая сторона не поддерживает IKEv2 — ставьтеmaindh-group=modp2048,aes-256,sha256— согласованная с обеих сторон криптография
Шаг 2. Настраиваем IPsec identity
/ip ipsec identity add
peer=peer_msk
auth-method=pre-shared-key
secret="VerySecretKey123!"
policy-template-group=default
Метка policy-template-group=default важна — так для каждой пары подсетей автоматически создаются SA с темплейтом.
Шаг 3. Прописываем policy (какие сети шифровать)
/ip ipsec policy add
peer=peer_msk
tunnel=yes
src-address=192.168.10.0/24
dst-address=192.168.20.0/24
action=encrypt
level=require
Шаг 4. Открываем порты IPsec
/ip firewall nat add chain=srcnat
src-address=192.168.10.0/24 dst-address=192.168.20.0/24
action=accept
comment="no masq to VPN"
/ip firewall filter add chain=input
protocol=ipsec-esp action=accept
comment="Allow IPsec ESP"
/ip firewall filter add chain=input
protocol=udp dst-port=500,4500 action=accept
comment="Allow IKE"
Первое правило критично: NAT не должен маскаредить трафик между VPN-сетями, иначе туннель поднимется, но пакеты не пройдут.
Часть 2. Офис 2 (клиентская сторона)
Всё симметрично, только адреса меняются местами:
/ip ipsec peer add
address=1.1.1.1
name=peer_ru
secret="VerySecretKey123!"
verify-certificate=no
dh-group=modp2048
enc-algorithm=aes-256
hash-algorithm=sha256
lifetime=1d
proposal-check=obey
exchange-mode=ike2
/ip ipsec identity add
peer=peer_ru
auth-method=pre-shared-key
secret="VerySecretKey123!"
policy-template-group=default
/ip ipsec policy add
peer=peer_ru
tunnel=yes
src-address=192.168.20.0/24
dst-address=192.168.10.0/24
action=encrypt
level=require
/ip firewall nat add chain=srcnat
src-address=192.168.20.0/24 dst-address=192.168.10.0/24
action=accept
comment="no masq to VPN"
/ip firewall filter add chain=input
protocol=ipsec-esp action=accept
/ip firewall filter add chain=input
protocol=udp dst-port=500,4500 action=accept
Шаг 5. Проверка туннеля
Пинг через туннель
С офиса 1 пингуем внутренний IP офиса 2:
/ping 192.168.20.1
Должен быть ответ. Если нет — смотрим статусы:
Статус IPsec
/ip ipsec active-peers print
/ip ipsec policy print
/ip ipsec installed-sa print
- В
active-peersдолжен появиться 2.2.2.2 - В
installed-sa— пара SA для туннеля - В
policy— счётчикиbytes-in/bytes-outдолжны расти
Логи
/log print where topics~"ipsec"
Если туннель не поднимается
Проверьте по порядку:
- Порты открыты — с офиса 2 выполните
tool ping src-address=...</ip> 1.1.1.1и проверьте доступность UDP 500/4500 снаружи (tool port-scan). - PSK одинаковый — перечитайте печатно: секрет совпадает на обеих сторонах.
- Crypto совпадает —
dh-group,enc-algorithm,hash-algorithmдолжны быть одинаковыми с обеих сторон. Упростите доaes-128+sha1+modp1024для отладки. - NAT не бьёт — если за обоими роутерами офисы без публичных IP, добавьте для начального согласования IKE
nat-traversal=yesв peer у обеих сторон. - Логи:
log printпокажет, на каком шаге обрывается (ike1/ike2/quick mode). - FastTrack/RAW — отключите fasttrack-правило для трафика между VPN-сетями, иначе пакеты могут не попасть в IPsec-обработку:
routeros
/ip firewall raw add chain=prerouting
src-address=192.168.10.0/24 dst-address=192.168.20.0/24
action=accept
Шпаргалка (обе стороны, поменяйте адреса местами)
/ip ipsec peer add address=<REMOTE_IP> secret="PSK" verify-certificate=no
dh-group=modp2048 enc-algorithm=aes-256 hash-algorithm=sha256
exchange-mode=ike2 lifetime=1d proposal-check=obey
/ip ipsec identity add peer=<peer> auth-method=pre-shared-key secret="PSK"
policy-template-group=default
/ip ipsec policy add peer=<peer> tunnel=yes
src-address=<LOCAL_LAN>/24 dst-address=<REMOTE_LAN>/24
action=encrypt level=require
/ip firewall nat add chain=srcnat src-address=<LOCAL_LAN>/24
dst-address=<REMOTE_LAN>/24 action=accept
/ip firewall filter add chain=input protocol=ipsec-esp action=accept
/ip firewall filter add chain=input protocol=udp dst-port=500,4500 action=accept
Tонкости
- Gre поверх IPsec vs чистый IPsec: если нужен multicast/broadcast между офисами (например AD/LDAP-репликация) — рассмотрите GRE-over-IPsec. Чистый IPsec шифрует unicast только.
- MTU туннеля 1400 (ESP добавляет ~58 байт). Если при передаче крупных файлов висят — проверьте на клиентах MSS clamping или выставите MTU 1400.
- IKEv2 vs IKEv1: IKEv2 быстрее поднимается и надёжнее в некоторых случаях, но старые оборудования (например старые Cisco) понимают только IKEv1. Для совместимости —
main. - DDoS-защита у ISP: некоторые провайдеры режут UDP 500/4500. Проблемный вариант — использовать NAT-T и проверить порты снаружи.
Проверено на: RouterOS 6.49+ / 7.14+.
Дата: Сентябрь 2026.