Aktualisieren:
Scheint, dass Routenkarten nur mit IP-Adressen übereinstimmen, nicht mit den Ports. Hatte diese Woche eine andere Situation auf einem anderen Gerät, Modell und einer anderen Softwareversion. Am Ende wurden die NAT-Anweisungen geändert in:
ip nat inside source static tcp 192.168.1.20 3389 xxxx 3389
Ich habe dann den Zugriff basierend auf einer ACL und nicht auf einer Routenkarte eingeschränkt. Es wäre schön gewesen, bedingtes NATing zu definieren, aber es scheint einfach nicht zu funktionieren.
Wir haben also ein ziemlich standardmäßiges NAT-Box-Setup, um eine gehostete NAT-Lösung für eine Reihe von Kunden anzubieten.
Hier ist die grundlegende Topologie:
Cisco IOS-Software, C2900-Software (C2900-UNIVERSALK9-M), Version 15.2 (4) M3, RELEASE-SOFTWARE (fc2)
Das Problem, das ich habe, ist mit dem Routenkartenabschnitt der NAT-Anweisungen zu tun.
ip nat inside source static tcp 10.1.10.201 22 x.x.x.x 22 vrf Customer1-vrf route-map Customer1-portforwarding extendable
ip access-list extended Customer1-forwarding-acl
permit tcp host 10.1.10.201 host a.a.a.a eq 22
permit tcp host 10.1.10.201 host b.b.b.b eq 22
route-map Customer1-portforwarding permit 10
match ip address Customer1-forwarding-acl
Ich glaube, ich habe das richtige Verständnis der Streckenkarte. Es soll angeben, was NAT erlaubt ist und was nicht. Ich versuche im Grunde, es so einzurichten, dass nur Übersetzungen von bestimmten öffentlichen Quellenadressen zugelassen werden. Das scheint es nicht zu tun. Es scheint Übersetzungen von jeder öffentlichen Adresse zuzulassen.
Ich habe die ACL vollständig in eine Anweisung "IP verweigern" geändert, die jedoch weiterhin zulässig ist. Ich bin ein bisschen ratlos. Es scheint, dass die Routenkarte nichts tut.
Jede Hilfe wäre sehr dankbar!
Prost,
H.
Antworten:
Ich glaube, dass das Problem in der VRF-Konfiguration selbst liegt. Überprüfen Sie daher bitte die nächsten
1. Konfigurieren Sie 'IP-VRF-Weiterleitung Customer1-Portforwarding' unter Schnittstellen, die an NAT beteiligt sind (nat inside, nat external interfaces).
2. Wenn Ihre Zugriffsliste die verwendet VRF-Routing-Tabelle, daher müssen Sie den Befehl 'set vrf Customer1-portforwarding' unter der Routenkartenkonfiguration hinzufügen, um die VRF-Routing-Tabelle zu verwenden.
3. Machen Sie Ihre Routenkarte spezifischer, indem Sie den nächsten Hop
festlegen. 4. Überprüfen Sie die NAT-Funktion mithilfe von 'sh ip Befehl nat translation '
Verwenden Sie diese URLs
NAT über VRF
Route-Map über VRF
quelle
Mir ist klar, dass dieser Beitrag alt ist, aber ich wollte diesen weiter verfolgen, nur für den Fall, dass Sie dieses Problem haben.
Nur neugierig, ob sich die IP-Adresse, auf der Sie dieses NAT außerhalb von Global ausprobieren, ebenfalls auf derselben VRF befindet wie der Client. Wenn ja, möchten Sie vielleicht versuchen: match-in-vrf
Ich würde auch zwei andere Methoden ausprobieren: 1.) Ändern Sie Ihre ACL für die Routenkarte, um dieselbe Quelle wie die IP zu haben, die Sie auch NAT möchten. Wenn wir die NAT-Regeln von links nach rechts lesen, wird dies möglicherweise erst nach der Übersetzung analysiert. 2.) versuche ip nat außerhalb der Quelle static tcp ... Ich bin nicht sicher, welches funktionieren würde, aber es wäre gut, ein Debug wie das folgende zu sehen:
quelle
Entfernen Sie Port 22 von:
ip nat inside source static tcp 10.1.10.201 22 x.x.x.x 22 vrf Customer1-vrf route-map Customer1-portforwarding extendable
quelle
In der NAT-Anweisung geben Sie an, dass der SOURCE-Port an der internen Adresse 22 ist, während Sie in Ihrer ACL die "Gleichung 22" auf der DESTINATION-Seite platzieren. Versuchen Sie entweder, "Gleichung 22" vollständig aus Ihrer Routemap-ACL zu entfernen oder sie auf die richtige Seite (Quelle) zu legen, damit sie Ihrer NAT-Anweisung entspricht.
quelle
Es scheint, dass die Routenkarte einige Probleme hat. Ich konnte keine weiteren Fehler beheben.
quelle