В настоящий момент постоянно возникает необходимость в организации виртуальных частных сетей между удаленными филиалами компании. При этом с ростом ее инфраструктуры новые подразделения могут открываться в разных городах и даже странах. Естественно, что приходиться пользоваться услугами разных операторов и провайдеров. В таком случае наиболее дешевым транспортом является публичная сеть Internet.
Как правило, наиболее распространенная структура при объединении удаленных филиалов – «звезда». Т.е. в головном подразделении располагаются основные сервера компании (web, почта, бухгалтерия и т.д.), а удаленные филиалы круглосуточно работают с их базами данных. Кроме того, бывает удобно, чтобы сотрудники разных филиалов находились в одной локальной сети.
В данной статье мы расскажем, как довольно просто можно это реализовать посредством технологии Ethernet поверх IP (EoIP), которую поддерживают все маршрутизаторы с установленной MikroTik RouterOS.
Постановка задачи
Предположим, что есть три разнесенных филиала, каждый из которых подключен к Интернету в своем регионе. В локальной сети головного филиала А располагаются сервера и мини-АТС для организации IP-телефонии. Локальные сети удаленных филиалов B и C должны получить доступ в филиал А. При этом во всех филиалах существует одно адресное пространство 10.0.1.0/24.
Настройка маршрутизатора А
Поднимаем eoip туннель с маршрутизатором С:
/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-таблице.