Работа с NAT на маршрутизаторах Mikrotik

Общие моменты
Пример стандартной настройки
Частные случаи и ошибки
Netmap и с чем его едят
Hairpin NAT что за зверь?

Так-с, теперь на повестке дня у нас Action=Netmap. Разберемся, что же это за зверь такой и зачем он нужен. Само собой приведем для лучшего усвоения реальный пример применения. В начале статьи мы уже бегло обсуждали каждый из действий NAT, и в случае с Netmap объяснили, что это т.н. 1:1 NAT, когда адреса одной сети преобразуются в адреса другой.
То есть какая-нибудь сетка 10.168.0.0/24 спокойной преобразуется в 192.168.0.0/24. И в итоге каждому адресу одной сети будет соответствовать адрес из другой:
10.168.0.1=192.168.0.1 … 10.168.0.254=192.168.0.254

Применяется такой конфиг довольно редко, но бывают случаи, когда без этого не обойтись. Давайте рассмотрим пример работы этого режима NAT.

Технические условия.
Есть клиент, имеющий два удаленных филиала, в которых подняты одинаковые подсети - 192.168.0.0/24. В каждом из офисов некоторая часть адресов дублируется, и какая-нибудь файлопомойка с IP 192.168.0.2 в одном офисе имеет такой же адрес в другом. Ну, и в целом много устройств подключено непосредственно по айпишникам.

Задание.
Нам нужно объединить эти два офиса посредством VPN, но при этом не менять сложившуюся внутреннюю адресацию.
Схема сети такова:


Давайте разбираться. При обычном раскладе мы бы подняли туннель, настроили маршрутизацию и началась бы магия.
  • Но диапазоны IP у нас с обоих сторон одинаковые, поэтому мы не сможем использовать маршрутизацию.
  • Дублирующиеся с обеих сторон адреса убьют возможность поднять простой L2 VPN посредством EoIP или BCP.

Здесь нам и поможет 1:1 NAT.
Логичным решением данной задачи является преобразование одной подсети адресов к виду 192.168.1.0/24, а другой - 192.168.1.0/24. Тогда первый офис будет стучаться к хостам второго офиса по адресам вида 192.168.2.0/24, а второй к первому - по 192.168.1.0/24. При всем при этом адресация внутри офисов останется неизменной.
Выглядит это так:

Давайте разбираться, как всё это реализовано. Сначала зеленая часть Офис1 > Офис2
  1. Пакет из первого офиса с src address 192.168.0.x уходит во второй офиса по адресу 192.168.2.x.
  2. На первом маршрутизаторе происходит преобразование в цепочке src-nat и адрес отправителя меняется на 192.168.1.x.
    Когда пакет попадает на второй маршрутизатор, то уже его адрес назначения меняется на 192.168.0.х, преобразуясь в цепочке dst-nat.

Синяя часть схемы Офис 2 > Офис 1 по сути в точностью до наоборот повторяет зеленую.
  1. Здесь пакет с адреса 192.168.0.х во втором офисе уходит на адрес 192.168.1.х в первом.
  2. Далее пакет подвергается обработке на втором маршрутизаторе, где происходит замена адреса отправителя пакета на 192.168.2.х (цепочка src-nat).
  3. Ну, и теперь на первом маршрутизаторе меняется адрес назначения пакета на 192.168.0.х (dst-nat).

Что имеем в итоге?
  • Все хосты в первом офисе считают, что локалка второго офиса имеет подсеть 192.168.2.0/24, а их собственная сетка всё также имеет адресацию 192.168.0.0/24.
  • Аналогичным образом хосты второго офиса считают, что в первом офисе адресацию из подсети 192.168.1.0/24, а у них самих - 192.168.0.0/24.


Осталось настроить это чудо. Начнем с маршрутизатора из первого офиса:
/ip firewall nat add action=netmap chain=srcnat dst-address=192.168.2.0/24 src-address=192.168.0.0/24\ to-addresses=192.168.1.0/24 add action=netmap chain=dstnat dst-address=192.168.1.0/24 src-address=192.168.2.0/24\ to-addresses=192.168.0.0/24

Теперь Микротик во втором офисе. На нем, как вы уже догадались, конфиг диаметрально противоположен:
/ip firewall nat add action=netmap chain=srcnat dst-address=192.168.1.0/24 src-address=192.168.0.0/24\ to-addresses=192.168.2.0/24 add action=netmap chain=dstnat dst-address=192.168.2.0/24 src-address=192.168.1.0/24\ to-addresses=192.168.0.0/24

Что осталось? Ну, VPN в рамках экскурса в NAT мы настраивать не будем, только допилим маршруты. На первом:
/ip route add distance=1 dst-address=192.168.2.0/24 gateway=10.10.10.2

И на втором роутере:
/ip route add distance=1 dst-address=192.168.1.0/24 gateway=10.10.10.1

Вот и всё. Таков самый яркий пример реализации NAT через функционал Netmap.

Общие моменты
Пример стандартной настройки
Частные случаи и ошибки
Netmap и с чем его едят
Hairpin NAT что за зверь?скачать dle 12.0
Страницы:
1 2 3 4 5
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
  • Яндекс.Метрика