Как я просил Вот и дублировал Вот похоже, 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/
Удачи!