Cisco. NAT — различия между версиями
Root (обсуждение | вклад) |
Root (обсуждение | вклад) |
||
(не показано 15 промежуточных версий этого же участника) | |||
Строка 11: | Строка 11: | ||
Как только белые адреса исчерпаются, никто новый уже не сможет получить доступ в Интернет. При этом те пользователи, что уже успели отхватить себе внешний адрес, будут работать.<br/> | Как только белые адреса исчерпаются, никто новый уже не сможет получить доступ в Интернет. При этом те пользователи, что уже успели отхватить себе внешний адрес, будут работать.<br/> | ||
Скинуть все текущие трансляции и освободить внешний адреса можно командой '''''clear ip nat translation''' *''<br/> | Скинуть все текущие трансляции и освободить внешний адреса можно командой '''''clear ip nat translation''' *''<br/> | ||
− | Помимо динамического выделения внешних адресов, этот | + | Помимо динамического выделения внешних адресов, этот динамический NAT отличается от статического тем, что без отдельной настройки проброса портов уже невозможно внешнее соединение на один из адресов пула. |
+ | ip nat pool pool_name 85.232.97.7 85.232.97.10 netmask 255.255.255.240 | ||
+ | |||
+ | ''Пример:'' | ||
Задаём диапазон публичных адресов, из которого будет выбираться адрес для натирования | Задаём диапазон публичных адресов, из которого будет выбираться адрес для натирования | ||
− | ip nat pool | + | ip nat pool nat_pool 85.232.97.7 85.232.97.10 netmask 255.255.255.240 |
− | Задаём список доступа, который пропускает все пакеты с адресом источника 172.16.6. | + | Задаём список доступа, который пропускает все пакеты с адресом источника 172.16.6.0 |
access-list 100 permit ip 172.16.6.0 0.0.0.255 any | access-list 100 permit ip 172.16.6.0 0.0.0.255 any | ||
Стыкуем созданный ACL и пул | Стыкуем созданный ACL и пул | ||
− | ip nat inside source list 100 pool | + | ip nat inside source list 100 pool nat_pool |
+ | |||
+ | |||
+ | Прописываем нат на интерфейсах<br/> | ||
+ | На внешнем | ||
+ | ip nat outside | ||
+ | На внутреннем | ||
+ | ip nat inside | ||
Строка 29: | Строка 39: | ||
Через один внешний адрес выходит в мир много приватных | Через один внешний адрес выходит в мир много приватных | ||
+ | ip nat pool pool_name 85.232.97.2 85.232.97.14 netmask 255.255.255.240 | ||
+ | |||
+ | |||
+ | ''Пример:'' | ||
Задаём диапазон публичных адресов, из которого будет выбираться адрес для натирования | Задаём диапазон публичных адресов, из которого будет выбираться адрес для натирования | ||
− | ip nat pool | + | ip nat pool nat_pool 85.232.97.2 85.232.97.14 netmask 255.255.255.240 |
− | Задаём список доступа, | + | Задаём список доступа, в котором указываем кому-куда можно ходить, а кому-куда нет |
− | + | ip access-list extended nat_inet | |
+ | permit ip host 172.16.6.10 any | ||
+ | permit tcp 172.16.3.0 0.0.0.255 host 192.0.2.2 eq www | ||
Стыкуем созданный ACL и пул | Стыкуем созданный ACL и пул | ||
− | ip nat inside source list | + | ip nat inside source list nat_inet pool nat_pool '''overload''' |
+ | |||
+ | |||
+ | Прописываем нат на интерфейсах<br/> | ||
+ | На внешнем | ||
+ | ip nat outside | ||
+ | На внутреннем | ||
+ | ip nat inside | ||
+ | |||
+ | |||
+ | '''Перенаправление порта (port forwarding, port mapping)''' | ||
+ | |||
+ | В примере про статический NAT, трансляция у нас была один-в-один и все запросы, приходящие извне автоматически перенаправлялись на внутренний хост. Таким образом можно было бы выставить сервер наружу в Интернет. Но если такой возможности нет - мы ограничены в белых ip, или нет необходимости выставлять все порты наружу, можно использовать '''port mapping'''. Можно указать, что все запросы, приходящие на конкретный белый адрес и конкретный порт маршрутизатора, должны быть перенаправлены на нужный порт нужного внутреннего адреса. | ||
+ | |||
+ | |||
+ | TCP-запрос, пришедший из интернета на адрес 85.232.97.7 на 80й порт, будет перенаправлен на внутренний адрес 172.16.6.2 на тот же 80-й порт. | ||
+ | ip nat inside source static tcp 192.168.25.10 80 88.111.51.18 80 extendable | ||
+ | |||
+ | |||
+ | ''Пример:'' | ||
+ | |||
+ | Делалось на Cisco 1841.<br/> | ||
+ | Задача прокинуть порт RDP для двух серваков в локалке через циску.<br/> | ||
+ | Разрешить вход только для ip 109.172.52.110<br/> | ||
+ | Порт для входа не стандартный (55500, 55501) | ||
+ | |||
+ | |||
+ | Создаём ACL для ипишек с которых будет разрешено заходить по RDP | ||
+ | ip access-list extended RDP | ||
+ | permit tcp host 109.172.52.110 host 88.111.51.10 eq 55500 | ||
+ | permit tcp host 109.172.52.110 host 88.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 | ||
+ | |||
+ | |||
+ | Цепляем этот ACL к интерфейсу и прописываем nat outside | ||
+ | interface FastEthernet0/0 | ||
+ | ip address 88.111.51.18 255.255.255.240 | ||
+ | ip access-group RDP in | ||
+ | ip nat outside | ||
+ | |||
+ | |||
+ | Прописываем nat inside на внутреннем интерфейсе | ||
+ | ip address 192.168.25.1 255.255.255.0 | ||
+ | ip nat inside | ||
+ | |||
+ | |||
+ | Делаем проброс порта | ||
+ | ip nat inside source static tcp 192.168.25.10 3389 88.111.51.18 55500 extendable | ||
+ | ip nat inside source static tcp 192.168.25.21 3389 88.111.51.18 55501 extendable |
Текущая версия на 17:16, 29 апреля 2014
Статический 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 netmask 255.255.255.240
Пример:
Задаём диапазон публичных адресов, из которого будет выбираться адрес для натирования
ip nat pool nat_pool 85.232.97.7 85.232.97.10 netmask 255.255.255.240
Задаём список доступа, который пропускает все пакеты с адресом источника 172.16.6.0
access-list 100 permit ip 172.16.6.0 0.0.0.255 any
Стыкуем созданный ACL и пул
ip nat inside source list 100 pool nat_pool
Прописываем нат на интерфейсах
На внешнем
ip nat outside
На внутреннем
ip nat inside
Many-to-One (NAT Overload, Port Address Translation (PAT), IP Masquerading)
Через один внешний адрес выходит в мир много приватных
ip nat pool pool_name 85.232.97.2 85.232.97.14 netmask 255.255.255.240
Пример:
Задаём диапазон публичных адресов, из которого будет выбираться адрес для натирования
ip nat pool nat_pool 85.232.97.2 85.232.97.14 netmask 255.255.255.240
Задаём список доступа, в котором указываем кому-куда можно ходить, а кому-куда нет
ip access-list extended nat_inet permit ip host 172.16.6.10 any permit tcp 172.16.3.0 0.0.0.255 host 192.0.2.2 eq www
Стыкуем созданный ACL и пул
ip nat inside source list nat_inet pool nat_pool overload
Прописываем нат на интерфейсах
На внешнем
ip nat outside
На внутреннем
ip nat inside
Перенаправление порта (port forwarding, port mapping)
В примере про статический NAT, трансляция у нас была один-в-один и все запросы, приходящие извне автоматически перенаправлялись на внутренний хост. Таким образом можно было бы выставить сервер наружу в Интернет. Но если такой возможности нет - мы ограничены в белых ip, или нет необходимости выставлять все порты наружу, можно использовать port mapping. Можно указать, что все запросы, приходящие на конкретный белый адрес и конкретный порт маршрутизатора, должны быть перенаправлены на нужный порт нужного внутреннего адреса.
TCP-запрос, пришедший из интернета на адрес 85.232.97.7 на 80й порт, будет перенаправлен на внутренний адрес 172.16.6.2 на тот же 80-й порт.
ip nat inside source static tcp 192.168.25.10 80 88.111.51.18 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 88.111.51.10 eq 55500 permit tcp host 109.172.52.110 host 88.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
Цепляем этот ACL к интерфейсу и прописываем nat outside
interface FastEthernet0/0 ip address 88.111.51.18 255.255.255.240 ip access-group RDP in ip nat outside
Прописываем nat inside на внутреннем интерфейсе
ip address 192.168.25.1 255.255.255.0 ip nat inside
Делаем проброс порта
ip nat inside source static tcp 192.168.25.10 3389 88.111.51.18 55500 extendable ip nat inside source static tcp 192.168.25.21 3389 88.111.51.18 55501 extendable