Меню Закрыть

Eoip tunnel mikrotik настройка

Содержание

Содержание

Схема сети

В головном офисе установлен маршрутизатор GW1. В филиале установлен маршрутизатор GW2. В обеих внутренних сетях используется одинаковая IP-адресация.

Головной офис
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.15.0/24
IP-адрес внутреннего интерфейса маршрутизатора GW2: 192.168.15.2/24

Настройка

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

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

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

Создать интерфейс типа bridge. На этом шаге надо создать виртуальный "мост", который соединит физические интерфейсы LAN и виртуальный интерфейс, который был создан на предыдущем шаге.

Добавить интерфейсы в bridge.

Если интерфейсы с предыдущих двух скриншотов добавлены корректно, то мы должны получить такую картинку:

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

/interface eoip
add name="filial1" keepalive=10s,10 remote-address=10.1.200.1 tunnel- >

/interface bridge
add name=bridge1
port add br > port add br >

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

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

Настройки второго маршрутизатора аналогичным настройкам первого маршрутизатора за тем исключением, что в качестве "Remote Address:" должен быть указан адрес головного офиса. И разумеется название интерфейса лучше изменить на "HQ".

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

/interface eoip
add name="HQ" keepalive=10s,10 remote-address=10.1.100.1 tunnel- >

/interface bridge
add name=bridge1
port add br > port add br >

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

Настройка маршрутизации не требуется, т. к. в сети используется L2-канал (коммутация), а не L2-канал (маршрутизация).

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

  1. На обоих маршрутизаторах должен совпадать параметр tunnel- >Проверка

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

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

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

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

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

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

В предыдущий раз, мы настроили шифрованный OpenVPN туннель между двумя роутерами hAP ac и hEX
Еще раз посмотрим на схему из первой части:

Схема из первой части

После организации IP туннеля на базе OpenVPN, нам необходимо поверх него, создать еще один туннель используя EoIP
Для начала давайте немного взглянем, что такое EoIP в MikroTik RouterOS:
Ethernet over IP (EoIP) Tunneling — это протокол MikroTik RouterOS, который создает туннель Ethernet между двумя маршрутизаторами поверх IP-соединения. Туннель EoIP может работать через туннель IPIP, туннель PPTP или любое другое соединение, способное транспортировать IP.
Когда функция моста маршрутизатора включена, весь трафик Ethernet (все протоколы Ethernet) будет соединен так же, как если бы там был физический интерфейс Ethernet и кабель между двумя маршрутизаторами (с включенным мостом). Этот протокол позволяет использовать несколько сетевых схем.

Читайте также:  Полотенцесушитель не полностью горячий

Сетевые настройки с интерфейсами EoIP:
Возможность подключения локальных сетей через Ethernet
Возможность подключения локальных сетей через зашифрованные туннели
Возможность подключения локальных сетей через беспроводные сети 802.11b «ad-hoc»

Протокол EoIP инкапсулирует Ethernet-фреймы в пакеты GRE (IP-протокол номер 47) (как и PPTP) и отправляет их на удаленную сторону туннеля EoIP.

Т.е. по сути между нашими удаленными объектами, после создания туннеля, будет «ходить» любой трафик, как в обычной проводной локальной сети.

Для создания EoIP туннеля ему необходим удаленный адрес интерфейса. Можно задать и локальный, но разницы особой не будет.
Как раз именно OpenVPN выступит каналом, мы ведь знаем IP адреса текущего и удаленного роутеров.
Схема:

Необходимо указать интерфейсу только удаленный IP

1. Настроим EoIP на роутере hAP ac

Переходим в меню интерфейсов

Добавляем EoIP интерфейс

Вводим параметры интерфейса

Интерфейс создался, и для того, чтобы наша «общая» локальная сеть работала, необходимо наш интерфейс EoIP добавить в наш сетевой мост.
Открываем Bridge и добавляем в него, только что, созданный EoIP интерфейс.

Добавляем EoIP в сетевой мост

Переходим ко второму роутеру

2. Настроим EoIP на роутере hEX
Для данного роутера весь процесс настройки EoIP будет аналогичен.
Единственным отличием будет удаленный IP адрес: тут он будет 172.16.10.1
ID туннеля должен быть одинаковым! Я выбрал номер 1, Вы можете задать свой, какой захотите.

Настройка второго EoIP туннеля

Также, как и для предыдущего роутера, добавляем EoIP интерфейс в сетевой мост.
Консольно:

После добавления туннельных интерфейсов в сетевой мост Вы уже должны успешно пинговать локальные ПК(смартфоны, ноутбуки и др.).
Вроде бы все хорошо. На каждом объекте свой DHCP сервер, заданы свои пулы адресов.
Но как мы знаем при подключении нового клиента к сети он начинает широковещательную рассылку специальных пакетов DHCPDISCOVER.
Рассылка идет начиная с адреса 0.0.0.0 до адреса 255.255.255.255 т.е. по всем возможным.
В ответ сервер DHCP посылает пакет DHCPOFFER. Клиент в ответ на пакет DHCPOFFER посылает пакет DHCPREQUEST. В ответ на пакет DHCPREQUEST сервер DHCP посылает пакет DHCPACK, завершая цикл инициализации.
Соответственно для нас НЕжелательно , чтобы подобные пакеты с одного объекта убегали в другой и наоборот.
Нам нужно ограничить объект только тем пулом IP адресов, которые мы задали. Но нельзя запрещать клиентам общаться между собой.

И MikroTik позволяет нам это сделать!

3. Запрещаем прохождение DHCP Broadcast запросов через туннель EoIP
Давайте разбираться.
Смотрим на каких портах и по какому протоколу работает DHCP: Wiki DHCP
Видим: Передача данных производится при помощи протокола UDP. По умолчанию запросы от клиента делаются на 67 порт к серверу, сервер в свою очередь отвечает на порт 68 к клиенту, выдавая адрес IP и другую необходимую информацию, такую, как сетевую маску, шлюз по умолчанию и серверы DNS.

Чтобы запретить прохождение DHCP запросов по туннелю нам необходимо определить, где это сделать и как.
Логично предположить, что управление трафиком и кучей других параметров необходимо делать в IP Firewall, но это не совсем так. По началу, когда я задавал в нем правила они не работали.
Пришлось курить маны читать инструкции.
Оказалось, что у сетевого моста свой собственный Firewall, на уровень ниже. Т.е. необходимо открыть меню настроек сетевого моста. Добавляем правило блокировки:

Межсетевой экран сетевого моста

Задаем настройки для правила

Блокируем прохождение пакетов

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

Далее у нас встает вопрос безопасности и доступа из вне к локальным устройствам.
Все верно, имея статический IP мы подвержены риску быть взломанными. Т.к. наш статический IP доступен в интернете он может подвергаться различного рода «атакам».
Поэтому нам нужно сделать так, чтобы только мы могли подключаться к нашим роутерам и другим сервисам в локальной сети.
Также у нас на очереди система мониторинга DUDE.

Читайте также:  Iphone не принимает зарядку

Дополнение:
Я провел небольшое тестирование скоростных характеристик своего туннеля.
Делал я их с помощью утилиты bandwidth-test в WinBox между самими роутерами. Т.е. роутер-роутер через сети провайдеров.
Тарифы такие:
hAP ac — 500 Mbps (Практические пока до 300 Мбит/сек)
hEX — 100 Mbps (Практические 95 Мбит/сек)
Пробовал я все доступные на RouterOS для OpenVPN (v6.39.3) методы аутентификации (md5, sha1) и шифрования (blowfish 128, aes 128, aes 192, aes 256) и вообще без шифрования и аутентификации (null)
Соответственно максимально возможная скорость ограничена hEX стороной т.к. у него всего 100 Мбит/сек.
Самую быструю скорость удалось получить конечно в режиме без шифрования и аутентификации вообще Send — 85 Mbps / Receive — 85 Mbps
Самую низкую с шифрованием AES256 Send — 25 Mbps / Receive — 25 Mbps
Оптимальным вариантом я бы выбрал режим Auth (sha1) и Cipher (aes 128) т.к. для домашней сети не нужно сильного шифрования Send — 31 Mbps / Receive — 31 Mbps
Какой режим выбирать, решать Вам!

В предыдущий раз, мы настроили шифрованный OpenVPN туннель между двумя роутерами hAP ac и hEX
Еще раз посмотрим на схему из первой части:
Схема из первой части

После организации IP туннеля на базе OpenVPN, нам необходимо поверх него, создать еще один туннель используя EoIP
Для начала давайте немного взглянем, что такое EoIP в MikroTik RouterOS:
Ethernet over IP (EoIP) Tunneling – это протокол MikroTik RouterOS, который создает туннель Ethernet между двумя маршрутизаторами поверх IP-соединения. Туннель EoIP может работать через туннель IPIP, туннель PPTP или любое другое соединение, способное транспортировать IP.
Когда функция моста маршрутизатора включена, весь трафик Ethernet (все протоколы Ethernet) будет соединен так же, как если бы там был физический интерфейс Ethernet и кабель между двумя маршрутизаторами (с включенным мостом). Этот протокол позволяет использовать несколько сетевых схем.

Сетевые настройки с интерфейсами EoIP:
Возможность подключения локальных сетей через Ethernet
Возможность подключения локальных сетей через зашифрованные туннели
Возможность подключения локальных сетей через беспроводные сети 802.11b «ad-hoc»

Протокол EoIP инкапсулирует Ethernet-фреймы в пакеты GRE (IP-протокол номер 47) (как и PPTP) и отправляет их на удаленную сторону туннеля EoIP.

Т.е. по сути между нашими удаленными объектами, после создания туннеля, будет “ходить” любой трафик, как в обычной проводной локальной сети.

Для создания EoIP туннеля ему необходим удаленный адрес интерфейса. Можно задать и локальный, но разницы особой не будет.
Как раз именно OpenVPN выступит каналом, мы ведь знаем IP адреса текущего и удаленного роутеров.
Схема:
Необходимо указать интерфейсу только удаленный IP

1. Настроим EoIP на роутере hAP ac
Переходим в меню интерфейсов Добавляем EoIP интерфейс Вводим параметры интерфейса Интерфейс создался, и для того, чтобы наша “общая” локальная сеть работала, необходимо наш интерфейс EoIP добавить в наш сетевой мост.
Открываем Bridge и добавляем в него, только что, созданный EoIP интерфейс.
Добавляем EoIP в сетевой мост Консольно:
/interface eoip add name="eoip-tunnel1" remote-address=172.16.10.2 tunnel- >/interface br >

Переходим ко второму роутеру

2. Настроим EoIP на роутере hEX
Для данного роутера весь процесс настройки EoIP будет аналогичен.
Единственным отличием будет удаленный IP адрес: тут он будет 172.16.10.1
ID туннеля должен быть одинаковым! Я выбрал номер 1, Вы можете задать свой, какой захотите.
Настройка второго EoIP туннеля Также, как и для предыдущего роутера, добавляем EoIP интерфейс в сетевой мост.
Консольно:
/interface eoip add name="eoip-tunnel1" remote-address=172.16.10.1 tunnel- >/interface br >

После добавления туннельных интерфейсов в сетевой мост Вы уже должны успешно пинговать локальные ПК(смартфоны, ноутбуки и др.).
Вроде бы все хорошо. На каждом объекте свой DHCP сервер, заданы свои пулы адресов.
Но как мы знаем при подключении нового клиента к сети он начинает широковещательную рассылку специальных пакетов DHCPDISCOVER.
Рассылка идет начиная с адреса 0.0.0.0 до адреса 255.255.255.255 т.е. по всем возможным.
В ответ сервер DHCP посылает пакет DHCPOFFER. Клиент в ответ на пакет DHCPOFFER посылает пакет DHCPREQUEST. В ответ на пакет DHCPREQUEST сервер DHCP посылает пакет DHCPACK, завершая цикл инициализации.
Соответственно для нас НЕжелательно, чтобы подобные пакеты с одного объекта убегали в другой и наоборот.
Нам нужно ограничить объект только тем пулом IP адресов, которые мы задали. Но нельзя запрещать клиентам общаться между собой.

Читайте также:  История обновлений windows 10

И MikroTik позволяет нам это сделать!

3. Запрещаем прохождение DHCP Broadcast запросов через туннель EoIP
Давайте разбираться.
Смотрим на каких портах и по какому протоколу работает DHCP: Wiki DHCP
Видим: Передача данных производится при помощи протокола UDP. По умолчанию запросы от клиента делаются на 67 порт к серверу, сервер в свою очередь отвечает на порт 68 к клиенту, выдавая адрес IP и другую необходимую информацию, такую, как сетевую маску, шлюз по умолчанию и серверы DNS.

Чтобы запретить прохождение DHCP запросов по туннелю нам необходимо определить, где это сделать и как.
Логично предположить, что управление трафиком и кучей других параметров необходимо делать в IP Firewall, но это не совсем так. По началу, когда я задавал в нем правила они не работали.
Пришлось курить маны читать инструкции.
Оказалось, что у сетевого моста свой собственный Firewall, на уровень ниже. Т.е. необходимо открыть меню настроек сетевого моста. Добавляем правило блокировки:
Межсетевой экран сетевого моста Задаем настройки для правила Блокируем прохождение пакетов Консольно:
/interface br >

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

Далее у нас встает вопрос безопасности и доступа из вне к локальным устройствам.
Все верно, имея статический IP мы подвержены риску быть взломанными. Т.к. наш статический IP доступен в интернете он может подвергаться различного рода “атакам”.
Поэтому нам нужно сделать так, чтобы только мы могли подключаться к нашим роутерам и другим сервисам в локальной сети.
Также у нас на очереди система мониторинга DUDE.

Дополнение:
Я провел небольшое тестирование скоростных характеристик своего туннеля.
Делал я их с помощью утилиты bandwidth-test в WinBox между самими роутерами. Т.е. роутер-роутер через сети провайдеров.
Тарифы такие:
hAP ac – 500 Mbps (Практические пока до 300 Мбит/сек)
hEX – 100 Mbps (Практические 95 Мбит/сек)
Пробовал я все доступные на RouterOS для OpenVPN (v6.39.3) методы аутентификации (md5, sha1) и шифрования (blowfish 128, aes 128, aes 192, aes 256) и вообще без шифрования и аутентификации (null)
Соответственно максимально возможная скорость ограничена hEX стороной т.к. у него всего 100 Мбит/сек.
Самую быструю скорость удалось получить конечно в режиме без шифрования и аутентификации вообще Send – 85 Mbps / Receive – 85 Mbps
Самую низкую с шифрованием AES256 Send – 25 Mbps / Receive – 25 Mbps
Оптимальным вариантом я бы выбрал режим Auth (sha1) и Cipher (aes 128) т.к. для домашней сети не нужно сильного шифрования Send – 31 Mbps / Receive – 31 Mbps
Какой режим выбирать, решать Вам!

P.S.
Я не претендую на идеальное построение подобной сети. Это один из многих способов.
Если Вы знаете, как построить подобную сеть лучшим образом или доработать текущую, можете не стесняться и писать свои варианты в комментариях
У меня успешно работает =)

Список всех статей в хронологическом порядке: История статей

Рекомендуем к прочтению

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

Ваш адрес email не будет опубликован.