Назад | Перейти на главную страницу

Как сделать NAT-шпильку в iOS 8.3+

Как я просил Вот и дублировал Вот похоже, NAT Hairpinning - это ответ, который я ищу, чтобы разрешить внутренним серверам закольцовывать через ASA для доступа к внешним IP (без использования DNS Doctoring). Однако инструкции, представленные в этих сообщениях, и здесь, http://www.cisco.com/en/US/products/ps6120/products_configuration_example09186a00807968d1.shtml#solution2 похоже, не покрывает NAT Hairpinning на 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: //x.x.56.5 с внутреннего IP, скажем, 172.17.56.8

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

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

Спасибо!

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

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

same-security-traffic permit intra-interface

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

Чтобы перенести внутренний адрес i.i.i.i на внешний адрес x.x.x.x, до версии 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/

Удачи!