vanfeuchtsing
Goto Top

Overload Source-NAT (Many-To-One) mit Cisco HSRP (Hot Standby Router Protocol)

Hallo allerseits,

ich möchte grundlegend mit dem Einsatz von zwei Routern auf einem Interface ausgehenden Traffic via NAT auf die Standby-IP des interfaces übersetzen, welches seinen Traffic an das Internet-Gateway weitersendet. Meine Hot-Standby-Config habe ich schon. Ich weiß aber nicht genau wie ich das Overload-NAT konfigurieren muss.

So sind meine Router-Interfaces bereits konfiguriert (Die hier vorgegebenen IP-Adressen sind nur Beispiele und nicht in der Produktiv-Umgebung im Einsatz.) :

Active-Router:

interface GigabitEthernet0/1.150
description transfer-to-internet ACTIVE
encapsulation dot1Q 150
ip address 1.1.1.1 255.255.255.0
ip access-group Public-Interface_in in
ip access-group Public-Interface _out out
ip nat outside
ip virtual-reassembly in
standby 150 ip 1.1.1.254
standby 150 timers 1 3
standby 150 priority 200
standby 150 preempt

Standby-Router:

interface GigabitEthernet0/1.150
description transfer-to-internet Standby
encapsulation dot1Q 150
ip address 1.1.1.2 255.255.255.0
ip access-group Public-Interface_in in
ip access-group Public-Interface _out out
ip nat outside
ip virtual-reassembly in
standby 150 ip 1.1.1.254
standby 150 timers 1 3
standby 150 priority 110
standby 150 preempt

Wie ich mit einem einzelnen Router das Overload-NAT konfiguriere weiß ich. Hier ein Beispiel dafür:

Access-Listen:

ip access-list extended NAT-POOL
permit ip 192.168.241.0 0.0.0.255 any
permit ip 192.168.240.0 0.0.0.255 any
permit ip 10.8.143.0 0.0.0.255 any
permit ip 192.168.254.0 0.0.0.255 any
deny ip any any


ip access-list extended Public-Interface_in
permit icmp any any echo-reply
permit icmp any any unreachable
permit icmp any any packet-too-big
permit icmp any any echo
permit icmp any any time-exceeded
deny ip any any


Interface-Konfiguration:

interface GigabitEthernet0/1.150
description Transfer Internet-Traffic to Internet-Gateway
encapsulation dot1Q 150
ip address 1.1.1.1 255.255.255.248
ip access-group Public-Interface_in in
ip access-group NAT-POOL out
ip nat outside


NAT-Übersetzungsanweisung:

ip nat inside source list NAT-POOL interface GigabitEthernet0/1.150 overload

Ich weiß jedoch nicht wie ich es beim HSRP machen muss. Da ist es ein bisschen anders...

grundlegend zur Infrastruktur:

Ich habe an entsprechenden Standort zwei stk. default Gateways im HSRP-Mode laufen. Zusätzlich kommt noch ein Cisco Router eines TK-Providers dazu (dahinter) zu welchem ich den Internet-Traffic via eines Transfernetzes (Bsp.: 1.1.1.1/24) transferieren will. Die beiden default Gateways müssen das Overload-NAT (SNAT) im HSRP-Betrieb machen.

Ich habe im Internet schon hier und da eine Anweisung dafür gefunden. Allerdings nirgendwo eine erklärung dazu was die einzelnen Kommandos/Einträge genau für eine Funktion haben. Es wird viel mit Pools und Listeneinträgen gearbeitet und verknünft. Desweiteren orientiert man sich irgendwie nicht mehr an einer Access-Liste um die zu übersetzenden Inside-Subnets auf die Outside-IP zu übersetzen sondern muss Pools anlegen. Das habe ich auch nicht ganz verstanden weshalb dies so ist...

Was mir klar ist, ist, dass ein "Statefull-NAT" eingesetzt werden sollte, damit beide Router über ihrere aktuelle NAT-Übersetzungstabelle bescheid wissen. Die vom Konfigurationsaufwand geringste Methode wäre mir am liebsten. Dadruch bleibt gleichzeitig die Übersicht erhalten.

Ich hatte schon überlegt ob ich auf beiden Routern einfach das oben beschriebene NAT-Übersetzungsverfahren anwende. Allerdings wird da mit einer HSRP-Konfig auf den Interfaces höchstwahrscheinlich nicht auf die Standby-IP, sondern auf die Interface-IP übersetzt.

Für Ratschläge bin ich sehr dankbar!

Grüße!

Benjamin

Content-Key: 370664

Url: https://administrator.de/contentid/370664

Printed on: April 19, 2024 at 13:04 o'clock

Member: aqui
aqui Apr 10, 2018 updated at 15:12:33 (UTC)
Goto Top
Du meinst grundlegend sowas hier, oder ?
Mikrotik VLAN Konfiguration ab RouterOS Version 6.41

Deine Fragestellung ist etwas wirr und unverständlich.
Im Grunde ist es doch kinderleicht. Der Standby Router macht gar nix und langweilt sich nur, bzw. wartet bis der HSRP Master Router mit der höheren Priority ausfällt.
Es ist also immer nur ein einziger Router zur Zeit aktiv. Der andere macht nix.
In der Beziehung reicht es doch völlig aus beide Router identisch zu konfigurieren, beide bekommen eine Default Route auf den Internet Router und gut iss ??
Wo ist denn nun genau dein Problem ?

Outbound ACLs sind übrigens immer kontraproduktiv und sollte man vermeiden, da sie Proc ess Switches sind (CPU) kosten also überflüssigerweise performance.
Es macht immer sehr wenig Sinn Traffic in einen Router reinzulassen, ihn damit zu belasten um ihn dann am Ende auf irgendeinen Interface wie ins Nirwana zu schicken.
Sowas macht man immer inbound oder regelt das mit der NAT ACL.
Member: vanfeuchtsing
vanfeuchtsing Apr 10, 2018 at 15:33:16 (UTC)
Goto Top
ich schreibe mal klein wegen handy...

danke schon mal für deine antwort. um das hot-standby geht es an sich überhaupt nicht. wie ich mit hot-standby grundlegend umzugehen habe ist mir klar. es geht um die many to one übersetzung in verbindung mit hsrp. da, wenn zwei router im einsatz sind die übersetzungstabelle auf beiden routern vorgehalten werden muss um established connections, im falle eines umschaltvorgangs zum standby-router auch dort vorzuhalten und die nat-verbindungen nicht geschlossen sind. musst dich mal im netz bzgl. hsrp mit nat belesen. die konfig dafür ist grundlegend anders, komplizierter und umfangreicher als bei einer non-hsrp umgebung... dort sollte nämlich stateful snat angewendet werden.
Member: aqui
aqui Apr 10, 2018 updated at 16:01:57 (UTC)
Goto Top
es geht um die many to one übersetzung
Wie es grundlegend geht steht ja im hiesigen_Cisco_Tutorial was du ja vermutlich kennst ?!
Many to one wie du es nennst ist PAT (Port Adress Translation) was der Parameter overload in der Cisco NAT Anweisung bewerkstelligt.
wenn zwei router im einsatz sind die übersetzungstabelle auf beiden routern vorgehalten werden muss
Und hier machst du einen fatalen Denkfehler !
Bei HSRP oder VRRP ist es immer nur ein einziger Router der aktiv ist. Der Backup Router macht NICHTs, ist am L3 Forwarding Prozess mit keinem Bit beteiligt. HSRP oder VRRP Router teilen keinerlei Daten, es ist auch KEIN Active Active Design.
Auch was die Sessions anbetrifft machst du hier einen Denkfehler. TCP Sessions bestehen ausschliesslich nur zwischen den Endgeräten. Nicht zw. den Routern. Der NAT Prozess terminiert keinerlei TCP Sessions oder "weiss" etwas davon. Router arbeiten bekanntlich ausschliesslich auf dem L3.
musst dich mal im netz bzgl. hsrp mit nat belesen.
Eine sehr weise Erkenntniss face-wink
die konfig dafür ist grundlegend anders, komplizierter und umfangreicher als
Nein, denn HSRP oder VRRP sehen per se gar kein Tracking oder Session sharing vor. Wie gesagt...ein Router ist dabei immer total passiv. Nur einer in so einem HA Design routet. (...sofern der HSRP Link nicht unterbrochen wird !)
Member: vanfeuchtsing
vanfeuchtsing Apr 10, 2018 at 19:00:47 (UTC)
Goto Top
Ich habe mir schon einige Cisco Tutorials angesehen ja und daraus auch Konfigurationsbeispiele verwendet. Ich gehe jetzt auf May-To-One und PAT und co. einfach mal nicht weiter ein. Du brauchst mir Adressübersetzung grundlegend nicht erklären. Wie das grundlegend funktioniert ist mir schon klar. Das ist jetzt auch nicht böse gemeint sondern erklärend.

Dass, der Standby-Router am L3 Forwarding nicht beteiligt ist, sondern ausschließlich Informationen mit seinem Active-Router darüber austauscht wie der aktuelle Standby-Zustand ist, ist mir ebenfalls klar. Ich konfiguriere sowas nicht zum ersten mal. Ich habe zwar keine Cisco Zertifizierung (Was aus meinen Kommentaren sicher hervorgeht, denn sonst wüsste ich was ich in diesem Fall tun müsste) aber ich verwalte seit einigen Jahren erfolgreich ein Cisco basiertes Netzwerk mit gut über 30 Infrastruktur-Geräten.

Dass ich was die Sessions anbetrifft einen Denkfehler habe glaube ich nicht, da jeder Router, der ein NAT konfigutriert hat eine stetig dynaschine Tabelle darüber hat, welche Sessions gerade geöffnet sind und welche Session wieder geschlossen werden kann. Ein einfaches Beispiel dafür ist, dass ein Rechner (192.168.1.1) eine Kommunikation z.B. zur Adresse 238.17.5.184 eröffnet. Der Rechner hat einen Port auf dem er die kommunikation eröffnet (Nehmen wir an Port: 45692 ). Somit haben wir schon mal das Socket: 192.168.1.1:45692. Der Zeilport ist meinentwegen Port: 443. nun ergibt sich folgende NAT-Session die im Router established ist:

Inside Local: 192.168.1.1:45692
Inside Global: 91.45.17.80:45692
(Hier wird auf die externe IP übersetzt)

Outside Global: 238.17.5.184:443
Outside Local: 238.17.5.184:443
(Wenn auf der Gegenstelle kein Portforwarding stattfindet)

Mit Portforwarding auf der Gegenstelle würde es so aussehen:

Inside Local: 192.168.1.1:45692
Inside Global: 91.45.17.80:45692
(Hier wird auf die externe IP übersetzt)

Outside Global: 238.17.5.184:443
Outside Local: 172.16.1.100:443


Dieser Tabelleneintrag wird auf !JEDEM! NAT-Router gespeichert um eine zurückkommende Antwort der Gegenstelle beantworten und einer zuvor von Clients angefragten Kommunikation nach außen zuordnen zu können. Würde die tabelle nicht existieren, dann würde jede Antwort von außen auf dem "nat outside" inderface verworfen werden weil keine Zuordnung mehr stattfinden kann und die Antwort als Angriff aus dem internet gewertet werden könnte. (Lies dazu hier: https://de.wikipedia.org/wiki/Netzwerkadress%C3%BCbersetzung). Es gibt übrigens auch sowas wie Angriffe aus dem internet, bei denen established NAT-Sessions übernommen werden können und man clients hinter NAT-Routern angreifen kann.

An dieser Stelle können wir also feststellen, dass der NAT-Router wohl einen gehörigen Teil zur erfolgreichen Termination von NAT-Sessions beiträgt. Ansonsten könnte man sich das NAT auf den Geräten grundsätzlich sparen.

Als ich geschrieben habe, dass die aktuelle NAT-Tabelle auf dem Standby-Router vorgehalten wird meinte ich damit nicht, dass dieser Standby-Router im Forwarding-Prozess beteiligt ist. Ich meinte damit, dass der Standby-Router eine aktuelle "Übersicht" darüber hat welche NAT-Sessions der Aktive Router gerade in seiner Tabelle hat um im Falle eines Ausfalls des aktiven Gerätes, der Standby-Router die ganze "Offene Arbeit" sofort übernehmen kann und Clients im lokalen Netzwerk hinter den Routern die offene und erwartete Antwort von außen überliefern kann ohne, dass der Client irgendwas vom Ausfall des aktiven Routers mitbekommt oder die Session "verloren gegangen ist" und der Client seine Anfrage nach außen erneut eröffnen muss.

An dieser Stelle besteht auch gleichzeitig der Sinn der Standby-IP, die sich beide Router teilen. Diese IP ist auf dem externen Interface des Routers nämlich die "Inside Global-IP" welche nach außen hin den "einen Internet-Router" repressentiert (Lies hierzu dies: https://www.cisco.com/c/en/us/support/docs/ip/network-address-translatio ..). Würde es diese IP nicht geben sondern in einer NAT-Session würde die tatsächliche IP des externen interfaces des aktiven Routers verwendet werden und der aktive Router fällt aus, dann muss der Traffic auf den Standby-Router wieder zurück ins interne Netzwerk. Da der Standby-Router aber eine andere tatsächliche externe IP seinem Interface hat ergibt die zuvor geöffnete NAT-Session keinen Sinn mehr, da die ursprüngliche exterene IP, welche abgesendet hat noch nicht mal mehr antwortet (Sie ist nicht mehr da). Aber es gibt ja zum Glück die Standby-IP face-wink

Wie gesagt... Werte das hier nicht irgendwie als Angriff gegen Dich oder so. Vielleicht haben wir auch einfach an einenander vorbeigesprochen. ich weiß es nicht genau. Jedenfalls ist das was Du geschrieben hast so nicht wirklich korrekt....

Grüße!

Benjamin
Member: vanfeuchtsing
vanfeuchtsing Apr 10, 2018 updated at 19:11:39 (UTC)
Goto Top
Hier kannst Du auch nochmal ein Konfigurationsbeispiel für NAT bei HSRP sehen:

https://www.ndtrainings.com/2016/09/23/stateful-nat-vs-static-mappings-w ...

Im Gegensatz dazu hier eine NAT-Konfiguration bei Verwendung eines einzelnen Routers:

http://www.firewall.cx/cisco-technical-knowledgebase/cisco-routers/260- ...

Es ist grundlegend anders.....
Member: Spirit-of-Eli
Spirit-of-Eli Apr 10, 2018 at 20:10:59 (UTC)
Goto Top
Ist der Kram bei einer Cisco Konfig echt so stark händisch anzupassen?

Es geht doch hier schlicht und ergreifend um einen "Active, Passive Cluster".
Somit wird aus meinem Verständnis von der LAN Seite eh nur eine IP angesprochen und zu dem sollten sich beide Parts automatisch sync halten, da ansonsten kein reibungsloser Übergang möglich sein wird.
Member: vanfeuchtsing
vanfeuchtsing Apr 11, 2018 updated at 06:17:01 (UTC)
Goto Top
Ist der Kram bei einer Cisco Konfig echt so stark händisch anzupassen?

Ja. Cisco Router können in der Werksconfig eigentlich nichts. Noch nicht mal ein Ethernet-port ist UP. Man muss auf den Routern alles selber machen. Das ist aber eigentlich Standard...

Es geht doch hier schlicht und ergreifend um einen "Active, Passive Cluster

Ja das Active-Passive-Cluster an sich funktioniert ja auch. Das wurde aber in den Kommentaren von zuvor schon schon angesprochen. Mit der HSRP bzw. Active-Standby-Funktionalität gibts an sich keine Probleme.

Somit wird aus meinem Verständnis von der LAN Seite eh nur eine IP angesprochen

So sieht es aus. Es wird mit nur einer IP gearbeitet. Trotzdem sind auf jeder HSRP-Seite (Interface-Zusammenspiel) immer 3 Stk. IP-Adressen im Einsatz. Eine für jedes Netzwerk-Interface selber und die gemeinsam genutze Standby-IP.

und zu dem sollten sich beide Parts automatisch sync halten, da ansonsten kein reibungsloser Übergang möglich sein wird.

Genau dies ist das Thema worum es geht.
Member: vanfeuchtsing
vanfeuchtsing Apr 11, 2018 at 07:08:33 (UTC)
Goto Top
So... Ich habe mal eine Übersicht gemacht. Vielleicht wirds jetzt verständlicher...
internet-routing
Member: aqui
aqui Apr 11, 2018 updated at 07:25:45 (UTC)
Goto Top
sondern ausschließlich Informationen mit seinem Active-Router darüber austauscht wie der aktuelle Standby-Zustand ist, ist mir ebenfalls klar.
Scheinbar nicht ! Du schreibst hier wieder fälschlicherweise "Informationen mit seinem Active-Router darüber austauscht.." !!
Antwort ist: NEIN ! Genau DAS tut er NICHT !
Er ist passiv, tauscht nichts mit dem aktiven Router aus. Einzig und allein achtet er auf eingehende HSRP oder VRRP Multicasts, die ihm anzeigen das der Master Router noch lebt und er NICHT auf ARPs nach der virtuellen IP antworten muss oder darf ! Ansonsten ist er vollständig passiv !
So... Ich habe mal eine Übersicht gemacht
Danke, das hilft sehr !

Auf BEIDEN Inside Netzen, also .41.0 /24 UND auf .241.0 /24 musst du HSRP aktiviert haben mit einer Virtual IP, das ist Voraussetzung für dieses HA Design !
Denn dort benötigst du die Router Redundanz ja mit der virtuellen IP. Das ist oben vollkommen falsch in der Konfig weil du dort die Redundanz auf dem outbound Interface 1.1.1.0 /24 Richting Internet Router konfiguriert hast, was ja vollkommen falsch ist !
Die Inbound Netze .41.0 /24 und .241.0 /24 benötigen diese Konfig ! Niemals aber das PAT Interface in Richtung Internet !
Machst du hier ggf. einen fatalen Denkfehler zum HA Design ??
Member: vanfeuchtsing
vanfeuchtsing Apr 11, 2018 updated at 08:37:35 (UTC)
Goto Top
Ich glaube ich schreibe dazu gleich nichts mehr. Wir drehen uns hier nichts weiter qals im Kreis...

Ich hatte bereits gesagt, dass mir bewusst ist, dass der Standby-Router keinen Traffic forwarded. Jetzt fängst Du wieder damit an was schon lange abgehakt ist.

Ich hatte ebenfalls erwähnt, dass beide Router Informationen über en aktuellen Active-Standby-Zustand austauschen. Es kann gar nicht sein, dass die Router gegenseitig nicht über sich bescheid wissen. Woher soll denn der Standby-Router sonst bitte wissen, dass er eine niedrigere priority hat als der aktive Router? Umgekehrt genauso. Jetzt fängst Du ebenfalls wieder damit an...

Ich hatte erwähnt, dass das Active Standby bzgl. der Internen Netzwerke bereits im Einsatz ist und ordentlich funktioniert. (JA! MIT STANDBY-IP ÜBERALL). Und jetzt fängst Du wieder damit an...

In der Zeichnung oben gibt es an diesem Standort der HSRP-Router für jedes angeschlossene Netzwerk (Genau durch diese HSRP-Router) Redundanz.

Wieso sollte ich denn bitte nicht eine Active-Standby-Konfig in Richtung Internet einrichten können? was zum Geier sollte mich davon abhalten? Was daran soll denn nicht funktionieren?

Die Router sind seit Jahren im HSRP-Betrieb im Einsatz und das funktioniert auch für die Netzwerke, die bisher angeschlossen sind 1A. Das einzige was dazu kommt ist, dass die Interfaces gi0/1.150 angelegt wurden und darüber zum neuen Internet-Router transferiert werden soll...

Dieses im Kreis gedrehe macht mich irgendwie langsam stinkig...
Member: vanfeuchtsing
vanfeuchtsing Apr 11, 2018 updated at 07:38:41 (UTC)
Goto Top
Nochmal:

Es geht nicht grundlegend um die Active-Standby-Konfig. Lass diese doch mal außen vor. Das läuft alles bereits so produktiv. Du brauchst mir über das Active-Standby-Schema inkl. virtueller IP jetzt auch nichts weiter erzählen. Leider machen das aber bisher alle irgendwie so. Meine Fragestellung (Die Überschrift dieses Themas) ist aber eine andere. Es geht hier um das Overload-NAT in einer HSRP-Umgebung. Die HSRP-Umgebung ist FERTIG!
Member: vanfeuchtsing
vanfeuchtsing Apr 11, 2018 at 08:01:17 (UTC)
Goto Top
Hier steht genau das was ich machen möchte. Das einzige was ich benötige ist eine Hilfestellung und Erklärung über die einzelnen Einrichtungsschritte mit Werten wie:

Router(config)# ip nat stateful id router_ID_#

Router(config-ipnat-snat)# redundancy HSRP_group_name

Router(config-ipnat-snat-red)# mapping-id mapping_ID_#


Router(config)# ip nat pool global_pool_name

begin_IP_address end_IP_address prefix-length prefix_length

Router(config)# ip nat inside source route-map route_map_name

pool global_pool_name mapping-id mapping_ID_# [overload]

Router(config)# ip nat inside source list ACL_#_or_name

pool global_pool_name mapping-id mapping_ID_# [overload]


Und so weiter und sofort...

Hier ist auch noch mal die originale Webseite:
http://etutorials.org/Networking/Router+firewall+security/Part+V+Addres ...
erläuterung
Member: gierig
gierig Apr 11, 2018 updated at 11:55:26 (UTC)
Goto Top
Zitat von @vanfeuchtsing:

Hier steht genau das was ich machen möchte. Das einzige was ich benötige ist eine Hilfestellung und Erklärung über die einzelnen Einrichtungsschritte mit Werten wie:
...
...
Und so weiter und sofort...

Nun anstatt alles vorzubeten ohne zu wissen ob die eignen Worte verständlich sind, ist es bestimmt hilfreicher wenn du
sagst wo genau Lücken im Verständnis sind.

Hier ist auch noch mal die originale Webseite:
Ich würde eher die Original Dokumentation zu rate ziehen.
Wie z.B
https://www.cisco.com/en/US/docs/ios-xml/ios/ipaddr_nat/configuration/15 ...
Member: aqui
aqui Apr 11, 2018 updated at 13:35:18 (UTC)
Goto Top
OK, Knackpunkt für dich als also lediglich die Frage eines stateful Failovers der beiden Outbound IP Adressen bzw. der dazu korrespondierenden virtuellen IP Adresse des HSRPs.
Du hast Recht, ohne HSRP dort am Outbound Interface 1.1.1.0 /24 würde im Failover Fall die Source IP auf die jeweilige physische Router IP des Outbound Interfaces wechseln und dann zum TCP Sessionabbruch am Ziel führen da eine laufende Session mit einmal mit wechselnder bzw. anderer Absender IP dort ankommt.
OK...Groschen gefallen ! Sorry für das Hin und Her, das war am Anfang etwas unklar.

Das kann man in der Tat auch mit SNAT und HSRP fixen, so das Outbound die Virtual IP verwendet wird. Siehe hier:
https://www.cisco.com/c/en/us/products/collateral/ios-nx-os-software/ios ...
Das WP hat sogar eine laufende PAT Konfig mit Overload dabei.
Ein kurzer Labor Test hier an 2 mal 880er Ciscos zeigt das es damit auch sauber funktioniert.