Cisco NAT
translation and port mapping
Cisco NAT
трансляция и проброс портов
В данной статье кратко описываться основные принципы
настройки NAT (от англ. Network
Address
Translation — «преобразование сетевых адресов») на Cisco устройствах.
Рассмотрим 3 варианта:
1. Динамический NAT с преобразование запросов от приватных (private) адресов из внутренней сети в публичный
(public) адрес
провайдера;
2. Динамический
NAT с преобразование запросов от приватных (private) адресов
из внутренней сети в пул публичных (public) адресов
провайдера;
3. Статический
NAT для проброса портов во внутреннюю сеть.
1. Динамический NAT с преобразование запросов от приватных (private) адресов из внутренней сети в публичный (public) адрес провайдера
Данная NAT трансляция
наверное наиболее используема, так как применяется для организации доступа
хостов локальной сети к интернет ресурсом. Как известно частные адреса, часто
используемые для построения локальных сетей, не маршрутизируются. А следовательно
для всех запросы от локальных хостов в интернет необходимо преобразовывать адрес
источника (source address)
в адрес выделенный провайдером и наоборот.
Для описания примера используется топология приведенная ниже
на рис.1.
Рис.1 Топология для описания примера.
В примере необходимо транслировать запросы от хостов
сети 192.168.1.0/24 в интернет в запросы от адреса 1.1.1.1.
Для этого на маршрутизаторе необходимо провести следящие
настройки:
1.2 Определяем inside и outside интерфейсы
для NAT трансляции (inside интерфейс
из которого трафик попадает из сети в маршрутизатор, outside интерфейс
из которого трафик попадает из маршрутизатора в сеть). В нашем примере
интерфейс Fa0/0 – inside, интерфейс Fa0/1 – outside:
interface fa0/0
ip nat
inside
interface fa0/1
ip nat outside
1.2 Определяем
список доступа для сети которую необходимо транслировать (192.168.1.0/24):
ip access
list standard NAT_INSIDE_NET
permit
192.168.1.0 0.0.0.255
1.3 Включаем
NAT трансляцию
адресов пакетов с адресом источника (source) из сети
заданной в access list NAT_INSIDE_NET и
выходящих через интерфейс fa0/1:
ip
nat inside source list NAT_INSIDE_NET interface fa0/1 overload.
Вот и
все, что необходимо для организации динамической трансляции. Однако нужно быть
внимательным, очень часто упускают оператор overload, который определяет возможность перезаписи ранее
используемы трансляций.
2. Динамический NAT с
преобразование запросов от приватных (private) адресов из
внутренней сети в пул публичных (public) адресов провайдера
Данный
тип трансляции используется, когда у компании выделен не один публичный адрес,
а несколько, например, как на рис.2: 1.1.1.1 и 1.1.1.2.
Рис.2 Топология для описания примера.
В примере необходимо транслировать запросы от хостов
сети 192.168.1.0/24 в интернет в запросы от адресов 1.1.1.1 или 1.1.1.2. Наличие
нескольких адресов позволяет значительно увеличить возможное количество трансляций,
хотя на мой взгляд данная технология имеет смысл только для огромных компаний.
Для этого на маршрутизаторе необходимо провести настройки
такие же, как в пунктах 1.1 и 1.2 а
далее:
2.1 Определим
пул адресов в которые будем транслировать:
ip nat
pool OUTSIDE_POOL 1.1.1.1 1.1.1.2 netmask 255.255.255.252
2.2 Включаем
NAT трансляцию
адресов пакетов с адресом источника (source) из сети
заданной в access list NAT_INSIDE_NET и
выходящих через интерфейс fa0/1 в адреса пула OUTSIDE_POOL:
ip
nat inside source list NAT_INSIDE_NET pool OUTSIDE_POOL overload.
3. Статический NAT для проброса
портов во внутреннюю сеть
Пожалуй,
данный вид трансляции не менее популярный, чем первый. Популярность данного
вида вызвана необходимость получать доступ из внешней сети (internet) к внутренним ресурсам. Но как
это сделать, если мы преобразовываем все адреса внутренней сети в единственный
внешний адрес, еще и с неизвестным портом.
Для понимания данной технологии рассмотрим пример проброса запроса поступающего на внешний адрес 1.1.1.1 порт 80
на внутренний хост (пусть это будет WEB сервер)
192.168.1.10 порт 80 рис.3.
Рис.3 Топология для описания примера.
3.1 Для этого на маршрутизаторе необходимо задать
статическую трансляцию, которая определяет однозначное правило преобразование
как для входящих, так и для исходящих пакетов:
ip
nat inside source static tcp
192.168.1.10 80 1.1.1.1 80 overload.
Данная
команда для всех пакеты выходящие из интерфейса fa0/1 c source адресом
192.168.1.10 и tcp портом 80 будет преобразовывать source адрес
на 1.1.1.1 с tcp портом 80, а все пакеты поступающие на интерфейс fa0/1 c адресом получателя (destination address) 1.1.1.1 и tcp
портом 80 преобразовывать в пакеты с адресом получателя 192.168.1.10 и tcp
портом 80.