Friday, November 18, 2016

Mikrotik IPsec и EoIP – объединяем офисы

Рано или поздно у админа возникает необходимость объединения офисов компании в единую сеть, причем офисы могут быть разбросаны по всей стране. Методов много. В этой статье я остановлюсь на одном из них: создадим туннель EoIP (Ethernet over IP) и зашифруем трафик с помощью IPsec. В качестве подопытных будут использоваться два Mikrotik’а RB493G.

Начальная настройка стендовых MikroTik

Конечно, для большей наглядности мне надо было взять три устройства, но считаю, что без этого можно и обойтись. В конце статьи опишу процесс масштабирования, который на самом деле довольно прост при понимании принципа работы такой схемы. Как было сказано выше, в качестве подопытных два Mikrotik RB493G, которые перед экспериментами были обновлены до последней (на момент написания статьи) прошивки 6.37.1 (как обновиться, читайте здесь). Подразумевается, что оба роутера находятся в пределах видимости друг друга – будь то реальные IP при подключении через интернет, либо это какая-то общественная локальная сеть (например, у вас несколько торговых точек и офис в торговом центре).
Роутеры будут называться M151-office – центральны офис и M152-remote1 – удаленный офис. На каждом роутере есть порт wan, который смотрит наружу. На этом же порту поднят VLAN, который будет эмулировать интерфейс, смотрящий внутрь сети. Зачем мне здесь понадобился интерфейс VLAN, станет понятно во время тестирования.

Начальная настройка микротика M151-office

Интерфейс v200-office vlanID=200 на интерфейсе wan.
Внешний IP – 192.168.10.151 на интерфейсе wan, внутренний – 192.168.200.1 на интерфейсе v200-office.

mikrotik ipsec и eoip - VLAN и IP адреса в центральном офисе

Начальная настройка микротика M152-remote1

Интерфейс v200-office vlanID=200 на интерфейсе wan.
Внешний IP – 192.168.10.152 на интерфейсе wan, внутренний – 192.168.200.2 на интерфейсе v200-office.
mikrotik ipsec и eoip - VLAN и IP адреса в удаленном офисе

Туннель EoIP

Теперь нам надо создать туннель между нашими устройствами. Делается это также просто.

MikroTik M151-office

mikrotik-ipsec-и-eoip-объединяем-офисы-3

MikroTik M152-remote1

mikrotik-ipsec-и-eoip-объединяем-офисы-4
О работоспособности туннеля нам скажет буква R (running).
В консоли:
В winbox:
mikrotik-ipsec-и-eoip-объединяем-офисы-5
Если вам такой проверки недостаточно, то можете присвоить туннельным интерфейсам на обоих роутерах адреса одной подсети и попинговать.

Настраиваем на MikroTik IPsec

Здесь все сводится к тому, что сначала мы укажем, что между такими-то точками трафик надо шифровать (policy), а затем укажем, как (peer).

MikroTik M151-office

MikroTik M151-office. IPsec polocy, IPsec peer

MikroTik M152-remote1

MikroTik M152-remote1. IPsec polocy, IPsec peer
Практически все параметры здесь по-умолчанию, а мы ввели только необходимые, чтобы наша схема заработала. Также необходимо настроить firewall на каждом роутере, добавив три правила (нет, четыре! Я упустил из внимания протокол GRE для поднятия туннеля. Спасибо читателю Павлу, указавшему на это):

Последние штрихи

Осталось объединить нужные интерфейсы в мосты и проверить работу.

MikroTik M151-office

Создадим мост office-bridge и добавим туда туннель и ранее созданный VLAN интерфейс v200office
Как раз здесь я и поясную, зачем поднимал интерфейсы VLAN на портах wan обоих микротиков. Мне (и вам) они нужны для тестирования. Т.е. в физический внешний интерфейс wan кабель воткнут. Он работает. Соответственно работают и все поднятые на нем VLAN-интерфейсы. А так как я присвоил этим интерфейсам IP-адреса 192.168.200.1 в офисе и 192.168.200.2 в “удаленном” офисе, то мне этого будет достаточно для проверки. А увидит ли микротик центрального офиса внутреннюю сеть удаленого офиса, я узнаю пропинговав соответствующие адреса. Заодно посмотрю как тикает счетчик байтов в IPsec, подтверждая, что трафик шифруется. В дальнейшем эти айпишники не нужны, достаточно будет объединить нужные интерфейсы (внутренней сети и моста) в бридж.

MikroTik M152-remote1

Если все было сделано правильно, то вы должны увидеть такую картину на обоих ваших роутерах:
Если так, то поздравляю, мы построили прозрачную сеть, по которой будет бегать любой трафик, включая DHCP. Т.е. вы можете поставить один DHCP-сервер в центральном офисе и он будет вещать на все остальные офисы. Правда, с одной важной оговоркой: вы должны быть стопроцентно (нет, двестипроцентно) уверены в качестве связи, чего не скажешь про интернет. Но если ваши офисы (или точки продаж) расположены в одном здании – в торговом центре, например, то один настроенный DHCP-сервер в центральном офисе облегчит вашу нелегкую админскую жизнь.

Масштабирование

Как было обещано ранее, пару слов (а больше и не понадобится) о масштабировании. Суть проста: сейчас мы создали туннель tunnel-id=0, связывающий центральный офис и офис remote1. Теперь создаем новый туннель tunnel-id=1, который свяжет центральный офис с удаленным офисом2 (remote2, например). Так же настраиваете IPsec. Настройка роутера remote2 повторяет настройку remote1, а на центральном роутере надо будет добавить  tunnel-id=1 в ранее созданный бридж.

В заключение

IPsec – обширная тема, суть которой мы здесь в общем-то не затронули. В данной статье был рассмотрен частный случай объединения офисов с помощью MikroTik и применением IPsec и EoIP. А если вы любознательны и хотите знать больше о защите данных, то начните, как минимум, с