Вернуться обратно в Блог
Не так давно мне понадобилось реализовать достаточно востребованную многими заказчиками, но редко используюемую инженерами схему NAT, а именно, обеспечить доступ из внутренней локальной сети к ресурсу, который проброшен изнутри этой же сети наружу, через транслирующий внешний интерфейс. Другими словами: Доступ на внешний интерфейс из за NAT.
Я обычно пытаюсь всячески избегать подобных топологий(патологий), однако заказчик настаивал, так как выхода у него особо небыло.
Данная фича называется NAT Hairpin, но обычно ее называют NVI NAT. Отличие данного метода от обычного NAT заключается в том, что трансляция происходит между маркированными интерфейсами, согласно таблицы маршрутизации, и маршрутизатору абсолютно не интересно какой интерфейс inside, а какой outside.
Зачем это нужно:
Иногда случается так, что на одном маршрутизаторе появляется 3+ интерфейса, за которыми находятся подсети, которые необходимо "снатить" друг в друга. В этом случае как минимум два интерфейса должны быть одновременно и inside и outside одновременно, но вот незадача - интерфейс может иметь дольно одну маркировку - либо inside, либо outside.
Решить данную проблему можно используя PBR с ухищрениями, либо воспользоваться функционалом NVI.
Настрока NVI NAT несколько отличается, ввиду изменения логики работы.
Если при обычном NAT мы помечали интерфейсы как
ip nat inside
и
ip nat outside
то теперь, на всех внешних и внутренних интерфейсах, задействованных в трансляциях, необходимо сказать
ip nat enable
Так как наши интерфейсы теперь ни inside ни outside, то и правила трансляций тоже поменяются, а именно:
было
ip nat inside source route-map TO_ISP interface FastEthernet0.97 overload
стало
ip nat source route-map TO_ISP interface FastEthernet0.97 overload
проброс портов так же немного изменится - исчезнет направление трансляции
ip nat source static tcp 10.10.10.10 80 1.2.3.4 80 extendable
Posted in Инфраструктура, Полезности on сен 13, 2017.