Как я спросил здесь и продублировал здесь, похоже, NAT Hairpinning - это ответ, который я ищу, чтобы разрешить внутренним серверам выполнять обратную петлю через ASA для доступа к внешним IP (без использования DNS Doctoring). Однако инструкции, представленные в этих сообщениях, а также здесь http://www.cisco.com/en/US/products/ps6120/products_configuration_example09186a00807968d1.shtml#solution2 , похоже, не охватывают закрепление NAT на IOS 8.3+ (я работает 9.1) 9.1 больше даже не имеет статической команды (самой по себе).

Как выполнить NAT-шпильку в IOS 8.3+ (в частности, 9.1 (2) на Cisco ASA 5505).

Спасибо!

ОБНОВИТЬ:

Это то, что я разместил на сайте поддержки Cisco ... возможно, дополнительная информация проясняет мою ситуацию

Кажется, я не могу заставить работать nat hairpinning ... В большинстве инструкций в Интернете указано, как это сделать с помощью команд, доступных до версии 8.3.

Я пробовал следующее:

same-security-traffic permit intra-interface

asa-box(config-network-object)# object network my-inside-address-obj
asa-box(config-network-object)# nat (inside,inside) static my-outside-address-obj

что не сработало.

Затем я добавил:

access-list hairpin_allow extended permit tcp object Internal_NAT_Range object External_NAT_Range

с участием

access-group hairpin_allow in interface inside

что тоже не сработало (пытаясь проявить должное усердие ...).

Потом попробовал:

nat (inside,inside) source static Internal_NAT_Range Internal_NAT_Range destination static External_NAT_Range External_NAT_Range

По-прежнему нет.

Наконец, я выполнил следующие шаги (как показано здесь ): «9. Чтобы избежать отбрасывания пакетов из-за асимметричной природы маршрутизации, которая происходит внутри, нам нужен ASA для обхода проверки с отслеживанием состояния для этого конкретного трафика. Для этого нам необходимо настроить следующее:

ASA (config) # access-list tcp_bypass расширенное разрешение tcp object Internal_NAT_Range object External_NAT_Range! --- Сконфигурируйте список доступа, чтобы указать TCP-трафик! --- который необходимо обойти проверку для повышения производительности.

! --- Сконфигурируйте карту классов и укажите параметр соответствия для! --- карты классов для соответствия интересующему трафику.

ASA (config) # class-map tcp_bypass ASA (config-cmap) #description «TCP-трафик в обход межсетевого экрана с отслеживанием состояния» ASA (config-cmap) #match access-list tcp_bypass

! --- Настройте карту политик и укажите карту классов! --- внутри этой карты политик для карты классов.

ASA (config-cmap) # policy-map tcp_bypass_policy ASA (config-pmap) # класс tcp_bypass

! --- Используйте команду set connection advanced-options tcp-state-bypass! --- для включения функции обхода состояния TCP.

ASA (config-pmap-c) # установить дополнительные параметры подключения tcp-state-bypass

! --- Используйте служебную политику policymap_name [global | interface intf]! --- команда в режиме глобальной конфигурации для активации карты политик! --- глобально на всех интерфейсах или на целевом интерфейсе.

ASA (config-pmap-c) # служебная политика tcp_bypass_policy внутри "

Опять ничего ...

Моя конфигурация (чистая / перед любым из вышеперечисленных) выглядит следующим образом ...

...
object network External_NAT_Range
 range x.x.56.3 x.x.59.255
object network Internal_NAT_Range
 range 172.17.56.3 172.17.59.255
object network InternalIPs
 subnet 172.17.56.0 255.255.248.0
object network VpnIPs
 subnet 172.17.63.0 255.255.255.0
object network InternalIPs_OutOnly
 range 172.17.60.1 172.17.62.254
...

nat (inside,outside) source static InternalIPs InternalIPs destination static VpnIPs VpnIPs no-proxy-arp route-lookup description Un-Nats VPN IPs
nat (inside,outside) source dynamic InternalIPs_OutOnly interface description Allows remaining interior network to access the Internet
!
object network Internal_NAT_Range
 nat (inside,outside) static External_NAT_Range net-to-net
access-group outside_access_in in interface outside
route outside 0.0.0.0 0.0.0.0 x.x.56.1 1
...

Я просто хочу иметь доступ к внешнему ресурсу, например http: //xx56.5, с внутреннего IP-адреса, скажем, 172.17.56.8

Пробовал использовать лечение DNS. Конфигурация была намного проще и работала, но когда PTR-запросы приходили из Интернета, DNS Doctoring, казалось, также переводил исходящие ответы, чтобы отразить мой внутренний IP-адрес, что, очевидно, было совершенно неправильным ...

Будем признательны за любую помощь от вас, профессионалы Cisco!

Спасибо!

answer

Как устаревший администратор ex-PIX / ASA я, конечно, счел это непреодолимым. У меня нет устройства (кроме старого PIX 506E с версией 6.3), чтобы примерить его, так что он совершенно неубедительный. Но это то, что я нашел в онлайн-документации для 9.1 и в случайном поиске в Google. Ссылки на ссылки находятся внизу сообщения. Итак, скрестим пальцы ...

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

same-security-traffic permit intra-interface

для того, чтобы трафик от внутреннего клиента к внешнему сопоставленному адресу был разрешен для повторной трансляции на внутренний адрес сервера, то есть с его «закреплением».

Чтобы перенести внутренний адрес iiii на внешний адрес xxxx, вы до версии 8.3 использовали команду

static (inside,inside) x.x.x.x i.i.i.i

чтобы разрешить привязку nat для внутреннего хоста к внутреннему серверу с использованием внешнего адреса, полученного от DNS. Это отличается от обычного синтаксиса без приколов, который был бы

static (inside,outside) x.x.x.x i.i.i.i

и который, естественно, также будет присутствовать, чтобы внешние клиенты могли вызывать сервер с использованием общедоступного IP-адреса.

В версии 8.3 и новее этот синтаксис был переписан, и соответствующая инструкция привязки портов к ASA будет выглядеть так, когда ее вводят:

asa-box(config)# object network my-outside-address-obj
asa-box(config-network-object)# host x.x.x.x
asa-box(config-network-object)# object network my-inside-address-obj
asa-box(config-network-object)# host i.i.i.i
asa-box(config-network-object)# nat (inside,inside) static my-outside-address-obj

Это также можно было бы дополнить обычной инструкцией "без шпилек".

Кажется, это единственное реальное различие, которое я могу найти, но, конечно, мне ужасно любопытно, как это работает на практике.

Я нашел здесь синтаксис команды 9.1 для преобразования адреса порта (т.е. соответствующий старой статической команде): http://www.cisco.com/en/US/docs/security/asa/asa91/configuration/firewall/nat_objects.html # wp1106703

Я нашел совершенно выдающееся историческое руководство по синтаксису закрепления, демонстрирующее тот же пример дизайна, который был бы настроен в разных версиях здесь: http://nat0.net/cisco-asa-hairpinning/

Удачи!