fragen stichworte

Wie können Sie die NAT-Haarnadel in iOS 8.3 und höher verwenden?

Als ich hier und dupliziert hier fragte, scheint NAT Hairpinning die Antwort zu sein, die ich suche, um internen Servern einen Loopback durch den ASA zu erlauben, ohne auf externe IPs zugreifen zu müssen DNS-Doctoring). Die Anweisungen in diesen Beiträgen und hier http://www.cisco.com/de/US/products/ps6120/products_configuration_example09186a00807968d1.shtml#solution2 scheinen NAT Hairpinning auf IOS nicht abzudecken 8.3+ (ich arbeite mit 9.1) 9.1 hat nicht einmal mehr den statischen Befehl (von sich aus).

Wie kann ich eine NAT-Haarnadel in IOS 8.3+ (insbesondere 9.1 (2) auf einem Cisco ASA 5505) verwenden?

Danke!

UPDATE:

Dies ist, was ich auf der Cisco-Support-Website gepostet habe. Vielleicht machen die zusätzlichen Informationen meine Situation klarer

Ich kann nat Hairpinning scheinbar nicht zum Laufen bringen ... Die meisten Anweisungen im Internet zeigen an, wie dies mit Befehlen vor 8.3 ausgeführt werden kann.

Ich habe folgendes versucht:

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

was nicht funktioniert hat.

Dann fügte ich hinzu:

access-list hairpin_allow extended permit tcp object Internal_NAT_Range object External_NAT_Range

mit

access-group hairpin_allow in interface inside

was auch nicht geklappt hat (versucht hier die nötige Sorgfalt zu zeigen ...).

Dann habe ich versucht:

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

Immer noch nicht.

Zum Schluss habe ich diese Schritte ausgeführt (wie hier): "9. Um Paketabbrüche aufgrund der asymmetrischen Art des internen Routings zu vermeiden, benötigen wir die ASA, um Stateful Inspection für diesen bestimmten Datenverkehr zu umgehen. Dazu müssen wir Folgendes konfigurieren:

ASA (config) # Zugriffsliste tcp_bypass erweitert erlaube TCP-Objekt Internal_NAT_Range-Objekt External_NAT_Range    ! --- Konfigurieren Sie die Zugriffsliste, um den TCP-Verkehr anzugeben    ! --- das muss zur Überprüfung der Leistung umgangen werden.

! --- Konfigurieren Sie die Klassenzuordnung und geben Sie den Übereinstimmungsparameter für die an    ! --- klassenkarte für den interessanten verkehr.

ASA (config) # class-map tcp_bypass    ASA (config-cmap) #description "TCP-Verkehr, der Stateful-Firewall umgeht"    ASA (config-cmap) #match-Zugriffsliste tcp_bypass

! --- Konfigurieren Sie die Richtlinienzuordnung und geben Sie die Klassenzuordnung an    ! --- in dieser Richtlinienkarte für die Klassenkarte.

ASA (config-cmap) # policy-map tcp_bypass_policy    ASA (config-pmap) #class tcp_bypass

! --- Verwenden Sie die erweiterten Verbindungsoptionen für die Einstellung tcp-state-bypass    ! --- Befehl, um die TCP-Statusumgehungsfunktion zu aktivieren.

ASA (config-pmap-c) #set Verbindung erweiterte Optionen tcp-state-bypass

! --- Verwenden Sie die service-policy politicymap_name [global | Schnittstelle intf]    ! - Befehl im globalen Konfigurationsmodus, um eine Richtlinienzuordnung zu aktivieren    ! --- global auf allen Schnittstellen oder auf einer Zielschnittstelle.

ASA (config-pmap-c) # service-policy tcp_bypass_policy innerhalb von "

Wieder nichts ...

Meine Konfiguration (clean/vor einem der obigen) lautet wie folgt ...

...
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
...

Ich möchte nur auf eine externe Ressource zugreifen können, z. B. http://x.x.56.5 von einer internen IP, z. B. 172.17.56.8

Ich habe versucht, DNS-Doctoring zu verwenden. Die Konfiguration war viel einfacher und funktionierte, aber als PTR-Anfragen aus dem Internet eingingen, schien DNS Doctoring auch die ausgehenden Antworten so zu übersetzen, dass sie meine internen IPs widerspiegelten, was offensichtlich ziemlich falsch war ...

Jede Hilfe von Ihnen, Cisco-Profis, wäre dankbar!

Danke!

antworten

Als veralteter Ex-PIX/ASA-Administrator fand ich das natürlich unwiderstehlich. Ich habe keine Appliance (aber eine alte PIX 506E, auf der 6.3 ausgeführt wird), um es anprobieren zu können. Es ist also ziemlich lahm. Dies ist jedoch das, was ich in der Online-Dokumentation für 9.1 und durch gelegentliches Googeln gefunden habe. Referenzlinks finden Sie am Ende des Beitrags. Also Daumen drücken ...

Wenn alle anderen Einstellungen korrekt sind, z. B. Routing, Zugriffslisten usw., müssen Sie trotzdem den Befehl

verwenden
same-security-traffic permit intra-interface

, um den Verkehr von einem internen Client zu einer extern zugeordneten Adresse zu einer internen Serveradresse neu übersetzen zu lassen, d. h. sie muss "haarnadeln".

Um die interne Adresse i.i.i.i auf die externe Adresse x.x.x.x zu portieren, hätten Sie vor 8.3 den Befehl

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

, um nat Hairpinning für einen internen Host mit dem internen Server unter Verwendung der externen Adresse von DNS zu ermöglichen. Dies unterscheidet sich von der regulären "unbehaart" -Syntax, die

wäre
static (inside,outside) x.x.x.x i.i.i.i

und die natürlich auch vorhanden wäre, damit externe Clients den Server über die öffentliche IP-Adresse aufrufen können.

In Version 8.3 und höher wurde diese Syntax neu geschrieben, und die entsprechende Zuordnung der Hairpinning-Port-Map zum ASA würde folgendermaßen aussehen, wenn man sie in:

füttert
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

Dies würde auch durch einen regulären "haarlosen" Unterricht ergänzt.

Das scheint der einzige wirkliche Unterschied zu sein, den ich finden kann, aber ich bin natürlich sehr neugierig, wie es in der Praxis funktioniert.

Ich habe die 9.1-Befehlssyntax für die Portadressenübersetzung (d. h. entsprechend dem alten statischen Befehl) hier gefunden: http://www.cisco.com/de/US/docs/security/asa/asa91/configuration/firewall/nat_objects.html#wp1106703

Ich habe einen absolut herausragenden historischen Leitfaden für die Hairpinning-Syntax gefunden, der dasselbe Beispieldesign zeigt, wie es in den verschiedenen Versionen hier konfiguriert werden würde: http://nat0.net/cisco-asa-hairpinning/

Viel Glück!