Gre туннель mikrotik ipsec

Содержание

Схема сети

В головном офисе установлен маршрутизатор GW1. В филиале установлен маршрутизатор GW2.

Головной офис
IP-адрес внешней сети головного офиса: 10.1.100.0/24
IP-адрес внешнего интерфейса маршрутизатора GW1: 10.1.100.1/24

IP-адрес внутренней сети головного офиса: 192.168.15.0/24
IP-адрес внутреннего интерфейса маршрутизатора GW2: 192.168.15.1/24

Филиал
IP-адрес внешней сети головного офиса: 10.1.200.1/24
IP-адрес внешнего интерфейса маршрутизатора GW1: 10.1.200.1/24

IP-адрес внутренней сети головного офиса: 192.168.25.0/24
IP-адрес внутреннего интерфейса маршрутизатора GW2: 192.168.25.1/24

VPN-канал
IP-адрес VPN-сети: 172.16.30.0/30
IP-адрес VPN-интерфейса маршрутизатора GW1: 172.16.30.1/30
IP-адрес VPN-интерфейса маршрутизатора GW2: 172.16.30.2/30

Настройка

Настройка первого маршрутизатора

Через графический интерфейс

Настройка состоит из двух частей:

  1. Создать туннель GRE
  2. Зашифровать трафик, который проходит через туннель GRE

Создать GRE-туннель. Укажем параметр "keepalive", который определяет находится ли туннель в рабочем состоянии. Если параметр не включен, то даже, если второй маршрутизатор будет выключен интерфейс все равно будет показывать рабочее состояние, что не удобно для диагностики. Мы рекомендуем использоваться значение 10 попыток по 10 секунд. т. е., если в течении 100 секунд не будет никаких сигналов с противоположной стороны туннель перейдет в нерабочее состояние. При этом он автоматически включится, если противоположная сторона попытается установить соединение. Мы рекомендуем выбирать имя интерфейса, которое бы позволяло однозначно идентифицировать кто находится на противоположной стороне туннеля. Если филиалов 1-2, то достаточно и простых идентификаторов. А вот если их число начнет расти, то идентификаторы вроде filial1, filial2, filial3 и т. д. будут не самыми удобными.

Назначить IP-адрес GRE-туннелю, созданному на предыдущем шаге.

Настройка IPsec-пира. На первом этапе надо указать адрес пира (маршрутизатора с которым будет устанавливаться соединение) и ключ (secret) с помощью, которого будет проходить авторизация. В качестве алгоритма шифрования мы выбрали aes-128. Конечно можно использовать и более длинные ключи, но это не имеет практического смысла, т. к. даже для подбора такого ключа требуется очень-очень много лет. Поэтому мы считаем, что более длинные ключи нужны либо в маркетинговых целях либо, если вы очень заморочены на глобальной слежке правительства.

Настройка политики IPsec. Следующим шагом надо настроить политику IPsec. Политика описывает в каких случаях должно использоваться шифрование. Т. е., если пакет совпадает с правилом описанным в политике, то выполняется заданное действие. В нашем случае это шифрование трафика идещего через интерфейс GRE. Если пакет не совпадает с правилом, то он идет дальше без обработки политикой.

Через консоль

/interface gre
add name=GRE1 keepalive=10s,10 remote-address=10.1.200.1

/ip address
add address=172.16.30.1/30 interface=GRE1

/ip ipsec peer
add address=172.16.30.2/32 hash-algorithm=sha1 enc-algorithm=aes-128 secret=ipsec-password send-initial-contact=no nat-traversal=no comment=filial1

/ip ipsec policy
add action=encrypt src-address=192.168.15.0/25 dst-address=192.168.25.0/25 sa-src-address=172.16.30.1 sa-dst-address=172.16.30.2 ipsec-protocols=esp tunnel=yes comment=filial1

Настройка второго маршрутизатора

Через графический интерфейс

Расписывать заново каждое действие мы не будем, т. к. они полностью аналогичны настройкам на первом маршрутизаторе.

Настройка политики IPsec.

Через консоль

/interface gre
add name=GRE1 keepalive=10s,10 remote-address=10.1.100.1

/ip address
add address=172.16.30.2/30 interface=GRE1

/ip ipsec peer
add address=172.16.30.1/32 hash-algorithm=sha1 enc-algorithm=aes-128 secret=ipsec-password send-initial-contact=no nat-traversal=no comment=HQ

/ip ipsec policy
add action=encrypt src-address=192.168.25.0/25 dst-address=192.168.15.0/25 sa-src-address=172.16.30.2 sa-dst-address=172.16.30.1 ipsec-protocols=esp tunnel=yes comment=HQ

Настройка маршрутизации

Если на предыдущих шагах все было сделано верно, то VPN-соединение между двумя офисами было установлено, но для того, что бы обе сети могли обмениваться информацией друг с другом они должны знать друг о друге, т. е. между ними должна быть настроена маршрутизация. Для этого надо выполнить следующие шаги:

Читайте также:  Как переустановить винду на ноутбуке asus

На первом маршрутизаторе

Через графический интерфейс
Выполнить следующие настройки:
Dst. Address: 192.168.25.0/24 (адрес сети к которой указываем маршрут)
Gateway: 172.16.30.2 (интерфейс через который можно "добраться" до сети)
Pref. Source: 192.168.15.1 (интерфейс с которого будут идти запросы к сети)
Комментарий указать по нажатию кнопки "Comment" (не обязательно)

/ip route
add comment="route to filial1 through VPN" dst-address=192.168.25.0/24 gateway=172.16.30.2 pref-src=192.168.15.1

На втором маршрутизаторе

Через графический интерфейс
Выполнить следующие настройки:
Dst. Address: 192.168.15.0/24 (адрес сети к которой указываем маршрут)
Gateway: 172.16.30.1 (интерфейс через который можно "добраться" до сети)
Pref. Source: 192.168.25.1 (интерфейс с которого будут идти запросы к сети)
Комментарий указать по нажатию кнопки "Comment" (не обязательно)

Через консоль
/ip route
add comment="route to HQ through VPN" dst-address=192.168.15.0/24 gateway=172.16.30.1 pref-src=192.168.25.1

HQ – это аббревиатура от headquarter, что в переводе означает головной офис.

Примечание: Параметр Pref. Source (pref-src) не является обязательным. Он становится нужен, если количество филиалов будет более одного. Без этого параметра не будут проходить ping’и с маршрутизатора одного филиала до хостов и внутреннего интерфейса маршрутизатора другого филиала. Не будут проходить ping’и именно с маршрутизаторов, т. е. между хостами двух филиалов связь будет.

Следует учесть

Проверка

Проверка состоит из двух частей:

  1. Надо убедиться, что между двумя маршрутизаторами MikroTik установлено VPN-соединение. Это описано ниже.
  2. Если VPN-соединение установлено успешно, то далее надо проверить есть ли связь между хостами в двух сетях. Для этого достаточно запустить ping с любого компьютера в сети на любой компьютер другой сети.

Предупреждение: При проверке работоспособности GRE-туннеля надо учитывать параметр keepalive. Если он отсутствует, то GRE-туннель всегда будет отображаться в рабочем состоянии даже, если это не так. Если параметр стоит, как 10 секунд + 10 попыток, то это значит, что маршрутизатор сделает 10 попыток по 10 секунд каждая (итого 100 секунд) и только по истечении этого периода интерфейс будет отображаться как нерабочий. Т. е. теоретически возможна ситуация, когда интерфейс только-только перестал работать, но время по keepalive еще не вышло, и вы в этот промежуток времени проверите состояние туннеля, которое будет отображаться, как рабочее.

Через графический интерфейс

Если подключение установлено, то статус подключения должен отображаться с буквой "R". Что значит running, т. е. запущено.

Через консоль

На обоих маршрутизаторах выполнить команду /interface gre print
Если соединение установлено успешно, то статус подключения, так же, как и через графический интерфейс, должен отображаться с буквой "R".

Рассмотрим как создать IPSec VPN туннель между двумя Mikrotik .

Настройки на первом устройстве:

1. Создаем IP Tunnel, заходим меню Interfaces и переходим на вкладку IP Tunnel и нажимаем +

Name – вбиваем имя туннеля

Local Address – наш внешний ip

Remote Adress – удаленный ip

2. Назначаем IP адрес, заходим в меню IP->Addresses и нажимаем +

Address – вбиваем внутренний ip адрес туннеля

Interface – выбираем созданный нами туннель

3. Заходим в меню IP->IPsec и на вкладке Policies нажимаем +

Scr. Address – вводим наш внешний IP

Dst. Address – удаленный ip

Переходим на вкладку Action

Action – encrypt

Level – require

IPsec Protocols – esp

Tunnel – ставим галочку

SA Scr. Address – вводим наш внешний IP

SA Dst. Address – удаленный ip

4. Переходим на вкладку Peers и нажимаем +

На вкладке General в поле Address – вбиваем удаленный ip

Читайте также:  Что делать если в аватарии пишет ошибка

Auth. Method – pre shared key

Exchange Mode – main

Secret – ключ шифрования (придумываем сами, на втором устройстве должен быть такой же)

переходим на вкладку Advanced

Настраиваем все как на рисунке ниже

Переходим на вкладку Encryption

Hash Algorithm – md5

Encryption Algorithm – aes-128

DH Group – modp1024

На этом настройка первого устройства завершена, переходим ко второму.

Настройки на втором устройстве:

1. Создаем IP Tunnel, заходим меню Interfaces и переходим на вкладку IP Tunnel и нажимаем +

Name – вбиваем имя туннеля

Local Address – наш внешний ip

Remote Adress – удаленный ip

2. Назначаем IP адрес, заходим в меню IP->Addresses и нажимаем +

Address – вбиваем внутренний ip адрес туннеля

Interface – выбираем созданный нами туннель

3. Заходим в меню IP->IPsec и на вкладке Policies нажимаем +

Scr. Address – вводим наш внешний IP

Dst. Address – удаленный ip

Переходим на вкладку Action

Action – encrypt

Level – require

IPsec Protocols – esp

Tunnel – ставим галочку

SA Scr. Address – вводим наш внешний IP

SA Dst. Address – удаленный ip

4. Переходим на вкладку Peers и нажимаем +

На вкладке General в поле Address – вбиваем удаленный ip

Auth. Method – pre shared key

Exchange Mode – main

Secret – ключ шифрования (который ввели на первом устройстве)

переходим на вкладку Advanced

Настраиваем все как на рисунке ниже

Переходим на вкладку Encryption

Hash Algorithm – md5

Encryption Algorithm – aes-128

DH Group – modp1024

IPSec будет находится "в режиме ожидания" пока вы не инициируете подключение к удаленной подсети или пингом, или любым другим обращением.

Перейдем в Tools->Ping на первом устройстве и запустим пинг на второй роутер по ip адресу который мы присвоили удаленному ip туннелю (172.25.24.2)

Как мы видим пинг идет, значит туннель работает.

Далее нам нужно что бы ресурсы удаленной сети были доступны нам, создадим для этого правило.

Переходим в IP->Routes и нажимаем +

Dst. Address – указываем удаленную подсеть (в нашем случаи это 192.168.24.0/24)

Gateway – созданный нами туннель и нажимаем ОК.

Если необходим доступ к локальным ресурсам из второй сети в первую, аналогично создадим такое же правило, только измениться Dst. Adress, в этом поле укажем нашу подсеть (192.168.0.0/24).

Необходимо организовать VPN Tunnel между двумя устройствами, таких как Mikrotik и Juniper линейки SRX.

Что имеем

Из микротиков выбрали на сайте микротика вики, модель которая сможет поддерживать аппаратное шифрование IPSec, на наш взгляд она оказалась достаточно компактная и недорогая, а именно Mikrotik hEXS.

USB Modem был куплен в ближайшем сотовом операторе, модель была Huawei E3370. Никакие операции по отвязки от оператора мы не проводили. Все штатное и прошито самим оператором.

В ядре установлен центральный маршрутизатор Juniper SRX240H.

Что удалось

Удалось реализовать схему работы, которая позволяет через сотового оператора, не имея статического адреса, посредством модема создать IPsec соединение в который заворачивается GRE Tunnel.

Данная схема подключения используется и работает на USB модемах Билайн и Мегафон.

В ядре установлен Juniper SRX240H
Local Address: 192.168.1.1/24
External Address: 1.1.1.1/30
GW: 1.1.1.2

Mikrotik hEX S
Local Address: 192.168.152.1/24
External Address: Dynamic

Небольшая диаграмма для понимания работы:

Конфигурация Juniper SRX240:

Версия ПО JUNOS Software Release [12.1X46-D82]

Конфигурация Mikrotik hEX S:

Версия ПО RouterOS [6.44.3]

Результат:
Со стороны Juniper SRX

Со стороны Mikrotik

Выводы

После проделанной работы му получили стабильный VPN Tunnel, из удаленной сети нам доступна все сеть которая находиться за juniper, и соответственно обратно.

Не рекомендую использовать в данной схеме IKE2, возникала ситуация что после перезагрузки того или иного устройства не поднимается IPSec.

Читайте также:  Sid meier s civilization vi моды

Читают сейчас

Похожие публикации

  • 18 марта 2015 в 08:39

Настойка можжевельника: готовим Juniper SRX. Часть 3: Virtual Routers

Juniper SRX: Обновляем версию JunOS

Juniper SRX: Site-to-Site IPSec VPN с использованием SSL сертификатов

Вакансии

AdBlock похитил этот баннер, но баннеры не зубы — отрастут

Комментарии 29

Зачем тогда GRE? Если IPSEC в туннельном режиме уже есть и делает практически то же самое.

IPsec на стороне Микротика шифрует весь трафик, соответственно либо надо сеть бить 192.168.0.0/17, либо если нужна вся доступная сеть 192.168.0.0/16, то Микротик будет не доступен из локальной сети, по этому шифруем трафик 172.31.xxx.xxx

Вроде не пропустил, он есть.

Белого адреса нет, через Cloud Микротика не работает. Поэтому только через серый.

Внимание! При подключении к двум и более провайдерам, в интернет-центре серии Keenetic возможно использовать только резервирование подключений. Одновременно использовать подключение к нескольким интернет-провайдерам и балансировать их нагрузку невозможно.

Это устройства разных классов, сравнивать их бессмысленно.

Я замечал. И то и другое. Только я не стал бы называть Магнит производственной средой. На действительном производстве господствуют различные вариации cisco, moxa и иже с ними.

Да, кинетик последнее время стал уметь многое, что раньше мог только Микротик/ZyWall/DFL, т.е. устройства, изначально заточенные не под SOHO, а под вполне себе средний бизнес с филиальной сетью и т.д. А ешё на него можно поставить какой-нибудь *WRT и получить ещё больше возможностей (включая установку доп. пакетов).

Но при этом по функциональности микротик до сих пор сильно его опережает. Плюсом к этому, какой-нибудь hAP mini умеет ровно столько же (по функциям), сколько самый мощный CCR. И конфиг переносится элементарно, т.е. проблем с апгрейдом железки не возникает.

При всём уважении к кинетику, как говорится.

Навскидку, у меня несколько вопросов:
1. зачем использовать aggressive вместо main?
2. df-bit copy — не самая удачная идея на туннельных интерфейсах. Во избежание дропов я бы всё-таки скидывал бит dont-fragment
3. Я так и не понял смысла натягивать gre поверх ipsec. Даже если принять во внимание, что микротик не умеет полноценный route-based ipsec, ваше объяснение выглядит немного непонятно.
Если за Juniper сидит вся оставшаяся /16, и трафик к ней нужно добавить в ipsec policy — то на микротике это довольно легко обходится грамотным составлением policy и роутингом (т.е. у вас ipsec encapsulation просто не возникнет: wiki.mikrotik.com/wiki/Manual:Packet_Flow)

4. Ещё есть вопросы, зачем использовать vlan.0 вместо routed-портов, зачем вы разрешаете ospf, если его не используете (или используете?) и почему у вас в конфиге Juniper режим v2-only, если IKEv2 вы использовать не рекомендуете. Но это уже придирки. Наверное 🙂

2. да, эти параметры выставлены, когда создается туннель между Junuper SRX и Juniper SRX, не знаю с чем связанно, но без df-bit copy, туннель но сетевые «шары» периодический отваливаются, туннель между Juniper SSG, NS и Juniper SRX, таких проблем нет. Хотя и в первойм и втором случае параметры выставлены ха обои концах.
3. С IPSec полиси достаточно хорошо разобрались, 152.1 это адрес самого Mikrotik а, и он нужен нам как администраторам, в целом вы правы он не нужен простым обывателям, без него прекрасно все работает.
4. Это мое допущение, прошу прощения. Я достаточно моложавый для таких статей.

V2-Only, у нас работало в это режиме, на стороне Mikrotik, мы изменили параметр а на стороне Juniper забыли.

Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock detector