Cisco. NAT

Материал из megapuper
Перейти к: навигация, поиск

Статический NAT

Один приватный адрес транслируется в один внешний. И при этом все запросы, приходящие на внешний адрес будут транслироваться на приватный(словно этот хост и является обладателем этого белого IP-адреса).
При этом если соединение инициируется из Интернета, пакеты автоматически, проходя через натирующее устройство, попадают на внутренний хост.

ip nat inside source static 192.168.0.5 85.232.97.7


Динамический NAT

Один приватный адрес транслируется на один внешний, но внешний не чётко зафиксирован, а выбирается динамически из заданного диапазона.
Как только белые адреса исчерпаются, никто новый уже не сможет получить доступ в Интернет. При этом те пользователи, что уже успели отхватить себе внешний адрес, будут работать.
Скинуть все текущие трансляции и освободить внешний адреса можно командой clear ip nat translation *
Помимо динамического выделения внешних адресов, этот динамический NAT отличается от статического тем, что без отдельной настройки проброса портов уже невозможно внешнее соединение на один из адресов пула.


Задаём диапазон публичных адресов, из которого будет выбираться адрес для натирования

ip nat pool pool_name 85.232.97.7 85.232.97.10


Задаём список доступа, который пропускает все пакеты с адресом источника 172.16.6.х, где х варьируется 0-255

access-list 100 permit ip 172.16.6.0 0.0.0.255 any


Стыкуем созданный ACL и пул

ip nat inside source list 100 pool pool_name


Many-to-One (NAT Overload, Port Address Translation (PAT), IP Masquerading)

Через один внешний адрес выходит в мир много приватных


Задаём диапазон публичных адресов, из которого будет выбираться адрес для натирования

ip nat pool pool_name 85.232.97.7 85.232.97.10 


Задаём список доступа, который пропускает все пакеты с адресом источника 172.16.6.X, где X варьируется 0-255

access-list 100 permit 172.16.6.0 0.0.0.255


Стыкуем созданный ACL и пул

ip nat inside source list 100 pool pool_name overload


Перенаправление порта (port mapping)

В примере про статический NAT, трансляция у нас была один-в-один и все запросы, приходящие извне автоматически перенаправлялись на внутренний хост. Таким образом можно было бы выставить сервер наружу в Интернет. Но если такой возможности нет - мы ограничены в белых ip, или нет необходимости выставлять все порты наружу, можно использовать port mapping. Можно указать, что все запросы, приходящие на конкретный белый адрес и конкретный порт маршрутизатора, должны быть перенаправлены на нужный порт нужного внутреннего адреса.


TCP-запрос, пришедший из интернета на адрес 85.232.97.7 на 80й порт, будет перенаправлен на внутренний адрес 172.16.6.2 на тот же 80-й порт.

ip nat inside source static tcp 172.16.6.2 80 85.232.97.7 80 extendable


Примеры:

Имеется Cisco 1841.
Задача прокинуть порт RDP для двух серваков в локалке через циску.
Разрешить вход только для ip 109.172.52.110
Порт для входа не стандартный (55500, 55501)


Создаём ACL для ипишек с которых будет разрешено заходить по RDP

ip access-list extended RDP
 permit tcp host 109.172.52.110 host 89.111.51.10 eq 55500
 permit tcp host 109.172.52.110 host 89.111.51.10 eq 55501
 deny   tcp any host 89.111.51.10 eq 55500
 deny   tcp any host 89.111.51.10 eq 55501
 permit ip any any


Делаем проброс порта

ip nat inside source static tcp 192.168.25.10 3389 89.111.51.18 55500 extendable
ip nat inside source static tcp 192.168.25.21 3389 89.111.51.18 55501 extendable


Цепляем ACL к интерфейсу

interface FastEthernet0/0
 ip address 89.111.51.10 255.255.255.240
 ip access-group RDP in