Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных

Destanation NAT

В сети R1 имеется web-сервер. Необходимо что бы любой пользователь интернета имели доступ к этому ресурсу. Для этого необходимо перенаправить запросы с IP 185.185.11.54 на 192.168.0.5. На R1 уже описаны зоны безопасности trusted (192.168.0.1) и untrusted (185.185.11.54).

Для начала создадим профили IP-адресов и портов, которые потребуются для настройки правил Firewall и правил DNAT.

  • Net_pub – профиль адресов публичной сети;
  • Srv_http – профиль портов;
  • Server_ip – профиль адресов локальной сети.

esr(config)# object-group network Net_pub
esr(config-object-group-network)# ip address 185.185.11.54
esr(config-object-group-network)# exit
esr(config)# object-group service Srv_http
esr(config-object-group-service)# port-range 80
esr(config-object-group-service)# exit
esr(config)# object-group network Server_ip
esr(config-object-group-network)# ip address 192.168.0.5
esr(config-object-group-network)# exit

Далее приступим к настройке самого NAT. Войдем в режим конфигурирования функции DNAT и создадим пул адресов и портов назначения, в которые будут транслироваться адреса пакетов, поступающие на адрес 185.185.11.54 из внешней сети.

esr(config)# nat destination
esr(config-dnat)# pool Server_ip
esr(config-dnat-pool)# ip address 192.168.0.5
esr(config-dnat-pool)# ip port 80
esr(config-dnat-pool)# exit

Создадим набор правил «DNAT», в соответствии с которыми будет производиться трансляция адресов. В атрибутах набора укажем, что правила применяются только для пакетов, пришедших из зоны «untrusted». Набор правил включает в себя требования соответствия данных по адресу и порту назначения (match destination-address, match destination-port) и по протоколу. Кроме этого в наборе задано действие, применяемое к данным, удовлетворяющим всем правилам (action destination-nat). Набор правил вводится в действие командой «enable».

esr(config-dnat)# ruleset DNAT
esr(config-dnat-ruleset)# from zone untrusted
esr(config-dnat-ruleset)# rule 1
esr(config-dnat-rule)# match destination-address Net_pub
esr(config-dnat-rule)# match protocol tcp
esr(config-dnat-rule)# match destination-port Srv_http
esr(config-dnat-rule)# action destination-nat pool Server_ip
esr(config-dnat-rule)# enable
esr(config-dnat-rule)# exit
esr(config-dnat-ruleset)# exit
esr(config-dnat)# exit

Для пропуска трафика, идущего из зоны «untrusted» в «trusted», создадим соответствующее правило. Пропускать следует только трафик с адресом назначения, соответствующим заданному в профиле «SERVER_IP» и прошедший преобразование DNAT.

esr(config)# security zone-pair untrusted trusted
esr(config-zone-pair)# rule 1
esr(config-zone-pair-rule)# match destination-address Server_ip
esr(config-zone-pair-rule)# match destination-nat
esr(config-zone-pair-rule)# action permit
esr(config-zone-pair-rule)# enable
esr(config-zone-pair-rule)# exit
esr(config-zone-pair)# exit
esr# commit
esr# confirm

Теперь R1 будет перенаправлять обращения как требуется. Команды для просмотра состояния и настройки NAT:

esr# show ip nat destination pools

esr# show ip nat destination rulesets

esr# show ip nat proxy-arp

esr# show ip nat translations

NAT Hairpinning

На рисунке в начале статьи видно, что в локальной сети R1 имеются свои клиенты(client), которые тоже пользуются web-сервером. Однако когда client введет в браузере доменное имя сервера, DNS перенаправит его на адрес 185.185.11.54. Для этого настроим NAT Hairpinning.

Добавим еще один профиль для внутренней сети.

esr(config)# object-group network LAN
esr(config-object-group-network)# ip prefix 192.168.0.0/24
esr(config-object-group-network)# exit

Добавим еще один ruleset в конфигурацию DNAT.

esr(config)# nat destination
esr(config-dnat)# ruleset loopback
esr(config-dnat-ruleset)# from zone trusted
esr(config-dnat-ruleset)# rule 10
esr(config-dnat-rule)# match protocol tcp
esr(config-dnat-rule)# match destination-address Net_pub
esr(config-dnat-rule)# match destination-port Srv_http
esr(config-dnat-rule)# action destination-nat pool Server_ip
esr(config-dnat-rule)# enable
esr(config-dnat-rule)# exit
esr(config-dnat-ruleset)# exit
esr(config-dnat)# exit

Сконфигурируем Source NAT.

esr(config)# nat source
esr(config-snat)# ruleset loopback
esr(config-snat-ruleset)# to zone trusted
esr(config-snat-ruleset)# rule 10
esr(config-snat-rule)# match source-address LAN
esr(config-snat-rule)# action source-nat interface
esr(config-snat-rule)# enable
esr(config-snat-rule)# exit
esr(config-snat-ruleset)# exit
esr(config-snat)# exit
esr(config)# exit
esr# commit
esr# confirm

Теперь пользователи локальной сети R1 будут попадать на web-сервер по внутреннему адресу.