TimVin

Зачастую пользователи оставляют дефолтный настройки на роутерах. И так случается что адресные пространства домашних/рабочих локалок лежат в 192.168.0.0/24, 192.168.1.0/24 и других подобных указанных в заводских настройках оборудования.
Но вот наступает момент, когда необходимо соеденить две сети между собой. И тут наступает неприятное просветление – адреса идентичны. Причем каждый админ не хочет менять адреса своей сети, ведь всюду настроены правила под конкретные адреса. Что делать когда иметь связь с другой сетью хочется, а менять свои адреса нет? Тогда нам на помощь приходит NAT.
Вводная:
172.16.0.1 – адрес на интерфейсе(соеденяющем два роутера между собой) Mikrotik1
172.16.0.2 – адрес на интерфейсе(соеденяющем два роутера между собой) Mikrotik2
192.168.0.0/24 –адресное пространство обеих локальных сетей

Первым делом укажем что за другим роутером находится «виртуальная»(ее там нет на самом деле) подсеть

На Mikrotik1

код
1
/ip route add distance=1 dst-address=192.168.222.0/24 
gateway=172.16.0.2

На Mikrotik2

код
1
/ip route add distance=1 dst-address=192.168.111.0/24 
gateway=172.16.0.1

Так трафик к этим «подставным» сетям будет уходить к соседнему роутеру.
Потом надо перенаправлять подставные сети на реальные

На Mikrotik1

код
1
/ip firewall nat add action=netmap chain=dstnat dst-address=
192.168.111.0/24to-addresses=192.168.0.0/24

На Mikrotik2

код
1
/ip firewall nat add action=netmap chain=dstnat dst-address=
192.168.222.0/24to-addresses=192.168.0.0/24

Что это делает? Эти правила трафик к 192.168.ххх.0/24 подсети направляют в локалку. action=netmap — -предназначен для трансляции сетей «1к1» . Тесть 192.168.111.28 будет странслирован в 192.168.0.28

Вот, теперь из локалки Mikrotik1 можно обращаться к сети 192.168.222.0/24 и трафик уйдет на соответствующие хосты локалки Mikrotik2 (соответственно из локалки Mikrotik2 обращение к 192.168.111.0/24 уйдет к локалке Mikrotik1)

Но это только половина задачи. Ведь адрес источника остался прежним 192.168.0.х , он будет считаться локальным и ответ не пойдет к роутеру, а уйдет в локалку. Для этого надо смаскарадить src-address в пакетах.

на Mikrotik1

код
1
/ip firewall nat add action=netmap chain=srcnat src-address=192.168.0.0/24
out-interface=XXXX to-addresses=192.168.111.0/24

На Mikrotik2

код
1
/ip firewall nat add action=netmap chain=srcnat src-address=192.168.0.0/24
out-interface=XXXX to-addresses=192.168.222.0/24

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

Вот теперь мы получили ситуацию когда локалка Mikrotik1 будет видеть локалку Mikrotik2 как 192.168.222.0/24, а локалка Mikrotik2 будет видеть локалку Mikrotik1 как 192.168.111.0/24 . То есть обращаться нужно будет именно по этим подставным адресам.

Рубрики: MikroTik