Работа с NAT на маршрутизаторах Mikrotik
Общие моменты
Пример стандартной настройки
Частные случаи и ошибки
Netmap и с чем его едят
Hairpin NAT что за зверь?
Так-с, теперь на повестке дня у нас Action=Netmap. Разберемся, что же это за зверь такой и зачем он нужен. Само собой приведем для лучшего усвоения реальный пример применения. В начале статьи мы уже бегло обсуждали каждый из действий NAT, и в случае с Netmap объяснили, что это т.н. 1:1 NAT, когда адреса одной сети преобразуются в адреса другой.
То есть какая-нибудь сетка 10.168.0.0/24 спокойной преобразуется в 192.168.0.0/24. И в итоге каждому адресу одной сети будет соответствовать адрес из другой:
Применяется такой конфиг довольно редко, но бывают случаи, когда без этого не обойтись. Давайте рассмотрим пример работы этого режима NAT.
Технические условия.
Есть клиент, имеющий два удаленных филиала, в которых подняты одинаковые подсети - 192.168.0.0/24. В каждом из офисов некоторая часть адресов дублируется, и какая-нибудь файлопомойка с IP 192.168.0.2 в одном офисе имеет такой же адрес в другом. Ну, и в целом много устройств подключено непосредственно по айпишникам.
Задание.
Нам нужно объединить эти два офиса посредством VPN, но при этом не менять сложившуюся внутреннюю адресацию.
Схема сети такова:
Давайте разбираться. При обычном раскладе мы бы подняли туннель, настроили маршрутизацию и началась бы магия.
Здесь нам и поможет 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
Синяя часть схемы Офис 2 > Офис 1 по сути в точностью до наоборот повторяет зеленую.
Что имеем в итоге?
Осталось настроить это чудо. Начнем с маршрутизатора из первого офиса:
Теперь Микротик во втором офисе. На нем, как вы уже догадались, конфиг диаметрально противоположен:
Что осталось? Ну, VPN в рамках экскурса в NAT мы настраивать не будем, только допилим маршруты. На первом:
И на втором роутере:
Вот и всё. Таков самый яркий пример реализации NAT через функционал Netmap.
Общие моменты
Пример стандартной настройки
Частные случаи и ошибки
Netmap и с чем его едят
Hairpin NAT что за зверь?
Пример стандартной настройки
Частные случаи и ошибки
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
- Пакет из первого офиса с src address 192.168.0.x уходит во второй офиса по адресу 192.168.2.x.
- На первом маршрутизаторе происходит преобразование в цепочке src-nat и адрес отправителя меняется на 192.168.1.x.
Когда пакет попадает на второй маршрутизатор, то уже его адрес назначения меняется на 192.168.0.х, преобразуясь в цепочке dst-nat.
Синяя часть схемы Офис 2 > Офис 1 по сути в точностью до наоборот повторяет зеленую.
- Здесь пакет с адреса 192.168.0.х во втором офисе уходит на адрес 192.168.1.х в первом.
- Далее пакет подвергается обработке на втором маршрутизаторе, где происходит замена адреса отправителя пакета на 192.168.2.х (цепочка src-nat).
- Ну, и теперь на первом маршрутизаторе меняется адрес назначения пакета на 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 что за зверь?