Eoip windows 10 client

Mikrotik EoIP: настройка туннеля на примере двух роутеров

Всем доброго времени суток, мои сетевые друзья! Сегодня я расскажу вам как создать и настроить EoIP туннель с помощью двух роутеров MikroTik. Давайте разберемся сначала, что такое EoIP?

EoIP (Ethernet over IP) – это специально созданный туннель для передачи информации между локальными сетями, находящимися в разных местах интернет подключения. В итоге создается туннель канального уровня поверх сетевого: L2 Для чего это нужно? – для подключения через интернет двух (или более) локальных сетей по зашифрованному каналу VPN. Достаточно удобная вещь для того, чтобы объединить несколько офисов, которые находятся в разных точках города или даже страны. Далее я расскажу про настройку этого подключения.

Пример

Для настройки я подготовил вам достаточно простой пример – смотрим на картинку ниже.

У нас есть два офиса, которые через внешние роутеры подключены к сети интернет. Что мы видим? В обоих сетях используется один и тот же диапазон локальных IP адресов (192.168.15.1/24). У роутеров есть два локальных IP адреса: 192.168.15.1 и 192.168.15.2. Ну и есть два внешних WAN адреса. Все достаточно просто.

ШАГ 1: Настройка 1-го роутера

  1. Сначала мы создадим сам туннель – для этого переходим в раздел «Interfaces», далее кликаем по вкладке «EoIP Tunnel» и нажимаем по плюсику, чтобы создать новый интерфейс.
  2. Все настройки мы будем делать на вкладке «General». Я в качестве примера в поле «Name» укажу обычное имя, но вы можете явно указать более понятное наименование, особенно если вы будете подключать несколько филиалов. Убедитесь, чтобы «Type» стояла как «EoIP Tunnel». Также я рекомендую установить параметр «keepalive», как 10 по 10 – то есть каждые 10 секунд будет отправлено 10 попыток (10 раз) связаться с другим роутером. И если после этого связи не будет, то туннель будет иметь статус «отключен». Это необходимо для того, чтобы вы видели, что есть проблема с подключением, в противном случае в интерфейсе всегда будет висеть статус рабочего состояния. Включаем «ARP», устанавливаем «Remote Address» внешний IP второго удаленного роутера (10.1.200.2). И прописываем «Tunnel ID» – запомните этот параметр, он должен быть одинаковым на всех роутерах.

  1. Теперь нам нужно создать мост, которые бы соединял локальные порты с внешним выходом в интернет. Переходим в «Bridge» и на первой вкладке создаем мост, называем его, как угодно.

  1. Теперь переходим в «Ports» и создаем соединение всех портов. Указываем «ether1-LAN1» и мост, который мы ранее создали.

  1. В «Interfaces» также в «Ports» создаем привязку нашего моста и туннеля, который мы создали.

  1. В «Bridge» во вкладке «Ports» проверьте, чтобы была примерна такая картинка, как на скриншоте ниже.

ШАГ 2: Настройка второго роутера

Делается аналогичным образом, только в качестве «Remote Address» нужно указать адрес первого роутера (10.). Также в качестве названия туннеля я бы использовал что-то другое. Также не забудьте, что при создании туннеля «Tunnel-ID» должен быть одинаковым на обоих роутерах.

ШАГ 3: Запрет DHCP Broadcast запросов через туннель EoIP

После всех предыдущих настроек все локальные устройства двух сетей уже должны видеть друг друга, а также легко их пинговать. Но есть небольшая проблема, дело в том, что при подключении нового устройства он отправляет запрос к DHCP серверу. Проблема в том, что при этом запросы могут попасть во вторую сеть через наш EoIP, а нам это не нужно. Лучше всего ограничить пул адресов в одной и другой сети.

Читайте также:  How to change default shell linux

Итак, все эти запросы от клиента к DHCP серверу происходят по протоколу UDP, используя 67 порт при отправке на сервер, и 68 порт при отправке к клиенту. Нам нужно запретить использовать наш ранее созданный мост, конечно, логичнее это сделать в «IP Firewall» роутера, но, оказывается, такой способ не работает. А проблема кроется в том, что у моста, который мы создали ранее, есть свой собственный «Firewall», вот там и нужно ставить блокировку. В разделе «Bridge» во вкладке «Filters» создаем новое правило.

В строке «Chain» указываем «forward» в «Out Interface» укажите наш EoIP туннель. Далее все настройки смотрите на картинке ниже.

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

Eoip windows 10 client

В настоящий момент постоянно возникает необходимость в организации виртуальных частных сетей (Virtual Private Network) между удаленными филиалами компании. При этом с ростом ее инфраструктуры новые подразделения могут открываться в разных городах и даже странах. Естественно, что приходиться пользоваться услугами разных операторов и провайдеров. В таком случае наиболее дешевым транспортом является публичная сеть Internet.

Как правило, наиболее распространенная структура при объединении удаленных филиалов – «звезда». Т.е. в головном подразделении располагаются основные сервера компании (web, почта, бухгалтерия и т.д.), а удаленные филиалы круглосуточно работают с их базами данных. Кроме того, бывает удобно, чтобы сотрудники разных филиалов находились в одной локальной сети.

В данной статье мы расскажем, как это довольно просто можно реализовать посредством технологии Ethernet поверх IP (EoIP), которую поддерживают все маршрутизаторы с установленной MikroTik RouterOS.

Постановка задачи

Предположим, что есть три территориально разнесенных филиала, каждый из которых подключен к Интернету в своем регионе. В локальной сети головного филиала А располагаются сервера и мини-АТС для организации IP-телефонии. Локальные сети удаленных филиалов B и C должны получить доступ в филиал А. При этом во всех филиалах существует одно адресное пространство 10.0.1.0/24.

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

Поднимаем eoip туннель с маршрутизатором С:

[admin@routerA] > /interface eoip add remote-address=3.3.3.3 tunnel-id=0 name=eoip-tunnel1 disabled=no

,где remote-address – ip address маршрутизатора С, tunnel-id – идентификатор туннеля, должен иметь такое же значение на маршрутизаторе С.

Поднимаем eoip туннель с маршрутизатором B:

[admin@routerA] > /interface eoip add remote-address=2.2.2.2 tunnel-id=1 name=eoip-tunnel2 disabled=no

,где remote-address – ip address маршрутизатора B, tunnel-id – идентификатор туннеля, должен иметь такое же значение на маршрутизаторе B.

Поднимаем bridge между туннелями eoip и ethernet-ом – локальная сеть:

[admin@routerA] > /interface bridge add
[admin@routerA] > /interface bridge port add bridge=bridge1 interface=ether1
[admin@routerA] > /interface bridge port add bridge=bridge1 interface= eoip-tunnel1
[admin@routerA] > /interface bridge port add bridge=bridge1 interface= eoip-tunnel2

При таком варианте настройки бриджа филиалы В и С смогут общаться не только с филиалом А, но и друг сдругом.

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

Поднимаем eoip туннель с маршрутизатором A:

[admin@routerC] > /interface eoip add remote-address=1.1.1.1 tunnel-id=0 name=eoip-tunnel1 disabled=no

Поднимаем bridge между интерфейсами eoip и ethernet – локальная сеть:

[admin@routerC] > /interface bridge add
[admin@routerC] > /interface bridge port add bridge=bridge1 interface=ether1
[admin@routerC] > /interface bridge port add bridge=bridge1 interface= eoip-tunnel1

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

Поднимаем eoip туннель с маршрутизатором A:

[admin@routerB] > /interface eoip add remote-address=1.1.1.1 tunnel-id=1 name=eoip-tunnel2 disabled=no

Поднимаем bridge между интерфейсами eoip и ethernet – локальная сеть:

[admin@routerB] > /interface bridge add
[admin@routerB] > /interface bridge port add bridge=bridge1 interface=ether1
[admin@routerB] > /interface bridge port add bridge=bridge1 interface= eoip-tunnel2

Проверка работы

Чтобы убедиться, что все работает правильно, достаточно поставить во всех филиалах ip адреса из одной подсети. Например 10.0.1.1/24 – филиал А, 10.0.1.2/24 – филиал В, 10.0.1.3/24 – филиал С. Далее из одного филиала проверить, например командой ping, что остальные два адреса отвечают и появились в arp-таблице.

Читайте также:  Установка windows выберите драйверы которые нужно установить что это

Команды диагностики

Статус и текущие настройки интерфейсов eoip-туннелей:

[admin@routerA] > /interface eoip print

Статус и текущие настройки интерфейсов bridge:
[admin@routerA] > /interface bridge print

татус и текущие настройки портов интерфейсов bridge:
[admin@routerA] > /interface bridge port print

АС-адреса на портах интерфейсов bridge:
[admin@routerA] > interface bridge host print

Вывод

В результате мы получили между филиалами структуру, прозрачную для трафика второго уровня. При этом Вы можете настроить свои политики безопасности для каждого офиса, отфильтровать ненужный трафик, нарезать требуемые полосы пропускания, настроить QoS и т.д., т.е. воспользоваться всеми преимуществами, которые дает RouterOS. Практическое тестирование показало, что eoip-туннель отнимает 10-15% полосы пропускания, что может быть существенно для каналов с низкой пропускной способностью. Но при этом не вносит заметных задержек, что позволяет передавать голосовой и другой приоритетный трафик без потери качества.

Создание домашней сети на базе устройств MikroTik: Часть 5 – Создание EoIP туннеля

В предыдущий раз, мы настроили шифрованный 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-id=1
/interface bridge port add interface=eoip-tunnel1 bridge=LAN-Bridge

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

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-id=1
/interface bridge port add interface=eoip-tunnel1 bridge=LAN-Bridge

После добавления туннельных интерфейсов в сетевой мост Вы уже должны успешно пинговать локальные ПК(смартфоны, ноутбуки и др.).
Вроде бы все хорошо. На каждом объекте свой 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, на уровень ниже. Т.е. необходимо открыть меню настроек сетевого моста. Добавляем правило блокировки:
Межсетевой экран сетевого моста Задаем настройки для правила Блокируем прохождение пакетов Консольно:
/interface bridge filter add chain=forward out-interface=eoip-tunnel1 mac-protocol=ip ip-protocol=udp dst-port=67-68 action=drop

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

Далее у нас встает вопрос безопасности и доступа из вне к локальным устройствам.
Все верно, имея статический 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.
Я не претендую на идеальное построение подобной сети. Это один из многих способов.
Если Вы знаете, как построить подобную сеть лучшим образом или доработать текущую, можете не стесняться и писать свои варианты в комментариях
У меня успешно работает =)

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

Оцените статью