Блог Fixcom

Объединяем две одинаковые подсети с Mikrotik

Основной
Описание проблемы:
Компания имеет два офиса. Они работают в одинаковом адресном пространстве 192.168.1.0/24. Однажды было решено объединить эти локальные сети. В каждой сети много устройств со статическими и не очень IP адресами (так сложилась жизнь). Привести в порядок, по разным причинам нет возможности. Решено объединить сети с помощью подмены адресов. Обращаться к хостам из другой сети мы будем через буферные сети.

Имеем в каждом офисе маршрутизатор Mikrotik со статическим и белым ip-адресом.

Наша схема сети L3 до настройки

image
Шаг 1.
Объединяем GW1 и GW2 через EoIP Tunnel. Так мы свяжем наши роутеры и создадим маршрут для подставных сетей.
На GW1
/interface eoip add remote-address=80.242.223.238 tunnel-id=1
На GW2
interface eoip add remote-address=31.171.166.190 tunnel-id=1
Шаг 2
Присваиваем IP-адрес для интерфейса EoIP.

На GW1
/ip address add address=172.16.0.1/30 interface=eoip1
На GW2
/ip address add address=172.16.0.2/30 interface=eoip1
Шаг 3
Обманываем роутеры и говорим им, чтобы отправляли трафик на подставные подсети друг другу. На изображении к данному этапу, вы можете заметить, что маршрут не работает (синие строчки). Это нормально в моем случае, я делал скрины производя настройку только одного роутера. В вашей ситуации синих строк быть не должно в Route на данном этапе. Если они есть, значить соединение между Mikrotik-ами не установлено на уровне EoiP.

На GW1
/ip route add distance=1 dst-address=192.168.102.0/24 gateway=172.16.0.2
На GW2
/ip route add distance=1 dst-address=192.168.101.0/24 gateway=172.16.0.1
Шаг 4
Перенаправляем подставные сети на реальные. Когда будем обращаться из локалки GW1 к сети 192.168.102.0/24, трафик уйдет на хосты локалки GW2 – 192.168.1.0/24. 

На GW1
/ip firewall nat add action=netmap chain=dstnat dst-address=192.168.101.0/24 to-addresses=192.168.1.0/24
На GW2
/ip firewall nat add action=netmap chain=dstnat dst-address=192.168.102.0/24 to-addresses=192.168.1.0/24

Шаг 5
Осталось изменить адрес источника в маршрутизаторах, чтобы например при запросе с хоста из локалки GW1 в локалку GW 2, ответ мог вернуть обратно.

на GW1
/ip firewall nat add action=netmap chain=srcnat src-address=192.168.1.0/24 out-interface=eoip1 to-addresses=192.168.101.0/24
На GW2
/ip firewall nat add action=netmap chain=srcnat src-address=192.168.1.0/24 out-interface=eoip1 to-addresses=192.168.102.0/24
Обратите внимание на параметр out-interface. Он должен содержать интерфейс EoIP. У вас название может быть иным. Теперь в пакетах адрес источника будет подменяться и ответы будут уходить на шлюз локалки, а он уже перенаправлять на другой роутер.

Теперь компьютеры из локальных сетей GW1 и GW2 могут общаться между собой по подставным сетям. На клиентских ПК в Брандмауэрe не забудьте изменить настройки безопасности для трансферных сетей.

Итоговая схема сети L3 после настройки

image
Если есть возможность, лучше изменить адреса сетей в офисах и не создавать костылей. Чем проще конструкция, тем легче ее обслуживать.
Made on
Tilda