Verschieben von Schnittstellennamen auf einem Cisco ASA, während der Rest der Konfiguration beibehalten wird


7

Mein anfängliches Problem: Auf meinem ASA 5525-X sind keine physischen Ports mehr vorhanden

Meine anfängliche Lösung: Erstellen Sie Subschnittstellen auf einem Portkanal und verwenden Sie einen Switch, um meine VLANs zu aggregieren

Das folgende Problem: Wie verschiebe ich die Namen, die den ursprünglichen Schnittstellen zugewiesen wurden, in die neuen Unterschnittstellen, während der Rest meiner Konfiguration erhalten bleibt?

Wenn ich vor der Neuzuweisung des Namens eine Direktive ' no nameif ' auf der ursprünglichen Schnittstelle ausstelle , löscht der ASA jedes Konfigurationselement, das auf diesen Namen verweist.

Wenn ich die Anweisung ' nameif ' erneut ausstelle , um die Schnittstelle vor dem erneuten Zuweisen des ursprünglichen Namens in einen temporären Namen umzubenennen, werden alle Konfigurationselemente, die auf den ursprünglichen Namen verweisen, aktualisiert, um den neuen Namen wiederzugeben . Am Ende bin ich meinem Ziel nicht näher.

Die einzige Lösung, die ich bisher finanziert habe, ist die offensichtliche: Bearbeiten Sie die Startkonfiguration offline und laden Sie die Firewall neu, wobei meine Änderungen bereits vorhanden sind. Was mir daran nicht gefällt, ist die Nachladezeit - der ASA startet nicht schnell. Ich werde die Ausfallzeit am Ende des Tages nicht in ein kleines Wartungsfenster schleichen können (ist das Internet ausgefallen? Huh, es ist jetzt wieder verfügbar - muss ich gewesen sein). Stattdessen muss ich ein längeres Wartungsfenster einplanen.

Update : Bitte lesen Sie die entsprechende Frage, die Reihenfolge der Cisco ASA-Startkonfigurationsbefehle für Subschnittstellen .

Gibt es eine andere Möglichkeit, einen Namen von einer Schnittstelle auf eine neue zu verschieben, während alles andere an Ort und Stelle bleibt?


Welche Version laufen Sie? 8,3+?
Ricky Beam

@ RickyBeam, ich verwende 9.3 (2).
Matthew Johnson

Danke für die Erinnerung @Eddie - Ich warte eine Antwort zu markieren , bis ich eine weitere Frage in diesem Forum beantwortet bekommen: Cisco ASA startup-config Befehl Reihenfolge für Unterschnittstellen
Matthew Johnson

Antworten:


2

Belassen Sie den physischen Port, den Sie als VLAN ohne Tags verwenden. Sie können diesen Datenverkehr an eine VLAN-Nummer auf Ihrem Switch weiterleiten, indem Sie dem nativen VLAN die VLAN-Nummer festlegen, in der dieser Datenverkehr ausgeführt werden soll.

Machen Sie dann für jedes neue VLAN, das Sie Ihrem ASA hinzufügen, eine Subschnittstelle.

Ich habe keinen ASA, um diesen Code zu validieren, aber er sieht ungefähr so ​​aus:

interface gig0/0
  nameif ORIGINAL-NAMEIF
  security-level 100

interface gig0/0.20
  vlan 20
  nameif NEW-VLAN-2
  security-level 20

interface gig0/0.30
  vlan 30
  nameif NEW-VLAN-3
  security-level 30

usw. Es sollte Ihnen ermöglichen, neue Unterschnittstellen hinzuzufügen, ohne Änderungen an Ihrer ursprünglichen Schnittstelle vorzunehmen. Die "Root" -Schnittstelle enthält kein VLAN-Tag, sodass der Datenverkehr unverändert bleibt.

Sie können es auf unbestimmte Zeit auf diese Weise ausführen oder es so ändern, dass zu einem späteren Zeitpunkt alles VLAN-Tags verwendet, wenn es für Sie bequemer ist, das Netzwerk herunterzufahren.


Guter Vorschlag @Eddie. Ich werde wahrscheinlich eine Kombination aus Ihrem Vorschlag und etwas ähnlichem verwenden, das dem von @ massimo-baschieri vorgeschlagenen ähnelt (ein Straight übersieht show run | i interface nameverschiedene Kontextelemente).
Matthew Johnson

1

So habe ich das Gleiche gemacht.

Zuerst habe ich alle meine Schnittstellennamen so geändert, dass am Ende "_REPLACE" steht.

Dies stellte sicher, dass ich nur die tatsächlichen Stellen auswählte, an denen die Schnittstelle vorhanden war.

Einige Elemente werden zum Zeitpunkt ihrer Erstellung standardmäßig mit dem Standardnamen der Schnittstelle benannt, ändern sich jedoch nicht, wenn Sie die Schnittstelle später umbenennen. Außerdem haben Sie möglicherweise irgendwann selbst Objekte, die Sie mit dem Schnittstellennamen benannt haben, was ebenfalls verwirrt sein kann.

EG: Arbitrary_NetSchnittstelle wurdeArbitrary_Net_REPLACE

Dann habe ich einen Port-Kanal über mehrere Schnittstellen erstellt und VLAN-Schnittstellen erstellt. Darunter habe ich die VLAN-ID als Subschnittstellennummer angegeben und an den Schnittstellennamen angehängt, der dorthin verschoben werden soll.

EG: " Arbitrary_Net" Schnittstelle ist eingeschaltet VLAN 173, wurde also PortChannel1.123zugewiesen VLAN ID 123und mit dem Namen " Arbitrary_Net_123" versehen

Wenn ich es jedoch noch einmal mache, würde ich diesen Prozess dahingehend ändern, dass _NEWam Ende einfach " " statt " Arbitrary_Net_NEW" steht, da dies mir ermöglichen könnte, Änderungen viel schneller vorzunehmen.

Ich stellte sicher, dass die MAC-Adressen der Schnittstellen für HA usw. eingerichtet waren und dass die Portkanäle funktionierten und ein beliebiges temporäres VLAN, das ich erstellte, auf dem ASA erstellt wurde. Der Switch zeigte, dass der ASA den Switch anpingen und der Switch den ASA anpingen konnte, um dies sicherzustellen war schon Konnektivität.

Ich habe auch HTTP und SSH so geändert, dass LOCAL anstelle von AAA verwendet wird, bis die Änderungen abgeschlossen sind, wenn ich sie wieder ändern möchte, und ich habe den Verwaltungszugriff von einem Host in einem anderen Netzwerk als meinem normalen Verwaltungsnetzwerk hinzugefügt und getestet, damit ich dieses Netzwerk zuerst verschieben kann Schließen Sie dann die Änderungen ab, nachdem Sie bestätigt haben, dass ich noch Zugriff auf die Verwaltung habe.

Dann habe ich einfach die Konfiguration heruntergekippt copy run tftp://[hostIP]/[Path]/FW_Cluster A_Primary_Active_Original.asaund diese in Notepad ++ geöffnet, um sie zu bearbeiten.

Um vorsichtig zu sein, habe ich einfach alle "_Replace" -Anweisungen durchsucht und sie in einer separaten Datei abgelegt (nennen wir diese "Hauptdatei").

Ich habe diese überprüft und, falls sie nicht bündig mit der linken Seite waren, diesen Bereich überprüft, um sicherzustellen, dass ich die äußeren Befehle aus der TFTP-Datei abgerufen habe.

Hinweis: Ich hätte das mit AAA-Setups tun können, aber ich dachte, es wäre viel einfacher, ASDM dafür zu sorgen, dass die Befehle genau auf diesen neu geschrieben werden, da AAA vollständig entfernt und neu gelesen werden muss und ich eine halbe hatte Dutzend Setups. Also habe ich die AAA-Gegenstände erst später weggeworfen.

Ebenso habe ich Befehle wie nameifund verworfen MTU, die sich nicht geändert haben.

Dies ließ meistens eine Reihe von NAT-Regeln, die ACE für Schnittstellenzuordnungen, Cyrptomaps und einige Routen usw. in der Hauptdatei übrig

Die Routen habe ich in eine separate Datei verschoben (nenne sie vorletzte Datei), hier habe ich sie verdoppelt, no routeauf die alte Schnittstelle und dann routeauf die neue Schnittstelle gesetzt und sie nach der Schnittstelle gruppiert.

WebVPN- und HTTP-Umleitung Ich habe auch in die vorletzte Datei kopiert und all diesen ein Präfix vorangestellt no.

Ich habe der vorletzten Datei ein paar weitere Gewinnchancen hinzugefügt, die entfernt und dann erneut hinzugefügt werden mussten, z.

no management Arbitrary_NET_REPLACE
management Arbitrary_NET_NEW

Als ich zur Hauptdatei zurückkehrte und zufrieden war, war nichts dergleichen mehr darin

Also habe ich nur gesucht _REPLACEund ersetzt durch _New(oder wenn Sie mitgemacht haben, habe ich tatsächlich ein paar davon gemacht, weil ich VLAN-IDs auf den Schnittstellen verwendet habe)

Ich habe alle NAT-Regeln auch in ein Excel gezogen und einen sh run nat | in _REPLACEOn the ASA ausgeführt

Ich habe die Ausgabe dieses Befehls in einen Satz von Zellen und die neuen Versionen der Befehle in den anderen Satz eingefügt und überprüft, um sicherzustellen, dass sie übereinstimmen.

Ich habe dann Excel verwendet, um die NAT-Regelnummern aus dem ersten Satz von Zellen abzuspalten und sie dem zweiten kurz vor dem Schlüsselwort "Quelle" hinzuzufügen

IE Ich habe die Ergebnisse der Show in Spalte B eingefügt, die NATs aus der Hauptdatei in Spalte C und dann ** in Spalte EI eine Ersetzung mit Excel durchgeführt. =SUBSTITUTE(C1, source ,LEFT(B1," "&FIND(" ",B1)&"source ")) Dabei wurden die Regelnummern verwendet und direkt vor der Quelle eingefügt, was erforderlich ist um sie in die richtige Reihenfolge zu bringen.

(** TBH Bevor ich die Ersetzung in Spalte E durchführte, habe ich Spalte D verwendet, um einen Vergleich mit Spalte B und C durchzuführen, wobei die NAT-Regeln ab der Wortquelle betrachtet wurden, aber ich habe im Moment keine Lust, in diese Gleichung zu schreiben Ich kratzte mir am Kopf und die Ergebnisse waren alle 8 Male wie erwartet, so dass meine visuelle Inspektion genau genug war.

Dann habe ich in Spalte A diese Formel hinzugefügt, um die Regelnummern zu erhalten =LEFT(B1,FIND(" ",B1)-1)

Dann habe ich die Spalten A bis E ausgewählt, Filter gedrückt und sie sortiert, um die Reihenfolge der NAT-Regeln umzukehren, damit sie von der höchsten zur niedrigsten Zahl angewendet werden.

Ich habe diese dann wieder in die MAIN-Datei kopiert und die zuvor vorhandenen NATs ersetzt.

Schließlich ging ich zurück zur TFTP-Datei und kopierte die Schnittstellenbefehle für die alten Schnittstellen in eine endgültige Datei

Diese habe ich die IP auf ihnen in ein Netzwerk geändert, das völlig außerhalb des normalen Bereichs liegt. Nehmen wir an, die ursprünglichen Netzwerke waren alle 10.1.x.y. Ich habe diese alle 10.2.x.y geändert, um alle Monitor Anweisungen zu ändern no monitorund shutam Ende eine hinzuzufügen

Ich habe dann alle New Interface-Befehle kopiert und die richtigen IP-Adressen und Subnetzmasken eingegeben und monitorfür jeden Schlüsselwörter hinzugefügt .

Ich habe dann jede alte Schnittstelle mit der neuen gekoppelt, damit ich diese jeweils einzeln ausführen kann, falls ich ein Problem verpasst habe.

Zuletzt habe ich die ursprünglichen Befehle für diese ursprünglichen Schnittstellen erneut kopiert und nur den interface gi0/0Befehl und den nameifBefehl beibehalten und an alle angehängt no, nameifso dass sie alle waren no nameif, und diese für alle Fälle für später in eine separate Datei gestellt.

ENDLICH war ich bereit.

Ich habe die Änderungen aus der Mian-Datei übernommen.

Jetzt hatte ich alle meine ACLs sowohl mit der neuen als auch mit der alten Schnittstelle verknüpft, und alle NAT-Regeln wurden auch mit ihnen dupliziert (was kein Problem ist, da es nur wichtig war, wenn der Datenverkehr die angegebene Schnittstelle passiert).

Ich konnte die NAT-Regel sin CLI oder ASDM überprüfen und die neuen und alten Regeln nebeneinander korrekt anzeigen, was auch sehr hilfreich war, um keine Probleme zu bestätigen.

Ich habe dann die Änderungen aus der vorletzten Datei und der endgültigen Datei NUR für die Schnittstelle angewendet, für die ich einen alternativen Zugriff für ASDM und SSH eingerichtet hatte. Anschließend habe ich bestätigt, dass alles in Ordnung ist, und mich dort bei t SSH und ASDM angemeldet, um die verbleibenden Änderungen vorzunehmen.

Ich habe jetzt alle verbleibenden Änderungen aus der vorletzten Datei und dann alle Änderungen aus der endgültigen Datei übernommen.

Dadurch blieben mir die ursprünglichen Schnittstellen noch vorhanden, die ACLs und NATs wurden immer noch auf sie angewendet, und alles konnte wieder eingeschaltet werden und mit nur geringfügigen Änderungen arbeiten.

Einige Stunden später war ich zufrieden, dass die Änderungen gut waren

Ich habe alle AAA-Einstellungen über die Verwendung von ASDM verschoben (danke ASDM!) Und dann die no nameifBefehle ausgeführt, die ich für später in einer separaten Datei gespeichert hatte, und alle verbleibenden Einträge für alles, was mit diesen Schnittstellen zu tun hat, wurden aus dem Firewall-Cluster entfernt .

Auf diese Weise könnten Sie die durchschnittliche Firewall in ein oder zwei Arbeitstagen erledigen, wenn Sie mit dem Prozess vertraut sind. Ich stellte jedoch fest, dass ich viel vorsichtiger war und nur der Firewalls-Cluster mit praktisch keinen NATs und VPNs überhaupt "schnell" schien .

Zum Teil, weil Sie alles überprüfen wollen und dies sogar getan haben, werden Sie wahrscheinlich eine kleine Sache vergessen.

Ich kann jedoch sagen, dass ich durch das Verlassen der Schnittstellenänderungen bis zum allerletzten Schritt lange vor diesem Schritt mit kleinen Fallstricken fertig werden konnte, sodass bei einem tatsächlichen Datenverkehr oft nur ein oder zwei Pings verloren gingen, normalerweise nur eine geringe Latenz .


0

Bearbeiten Sie die Startkonfiguration offline und laden Sie sie neu

Das ist der einzige Weg. Intern wird der Name mit einer eindeutigen ID verfolgt. Es gibt keine Möglichkeit, den Namen auf eine andere Oberfläche zu "verschieben".

Eine mögliche Alternative wäre, die Startkonfiguration zu aktualisieren, dann die Namen zu entfernen und " Startlauf kopieren ", um alles zurückzusetzen. Aber Sie fragen nach einem großen Durcheinander, und es wird immer noch jede bestehende Verbindung unterbrechen. (Ich würde es 1 zu 5 geben, wenn das System dabei abstürzt.)

Was das Nachladen angeht, habe ich noch nie gesehen, dass ein ASA länger als ein paar Minuten (unter 5) zum Nachladen benötigt.


Danke für den Beitrag. Ich habe auch über die Verwendung nachgedacht copy offline-config run( Offline-Konfiguration wäre eine Konfigurationsdatei, die ich offline geändert und auf den ASA hochgeladen habe), gefolgt von clear conn all, war mir aber nicht sicher, wie sich der Effekt auswirken könnte ... Ich dachte, es könnte chaotisch sein.
Matthew Johnson

Das Kopieren zur Ausführung auf IOS-Geräten ist ein Zusammenführungsvorgang. Ich bin mir nicht sicher, was es auf einem ASA macht, aber chaotisch wäre die schönste Beschreibung, die ich mir vorstellen kann.
cpt_fink

1
Kein Name würde dabei einen Großteil der Konfiguration löschen. Das Kopieren des Starts in die Ausführung könnte also funktionieren. Die Verwendung von 8.3 funktioniert jedoch NICHT, da die Konfiguration nicht von oben nach unten analysiert werden kann.
Ricky Beam

0

Das ist mein Weg: Gib einen Showlauf aus | include "Schnittstellenname" Fügen Sie alle Zeilen mit "Schnittstellenname" in den Editor ein. Fügen Sie oben die Befehle hinzu, um den Namen auf die neue Schnittstelle zu verschieben. Da Sie jetzt offline gearbeitet haben, ändert sich die Konfiguration nicht mehr. Jetzt wird das eigentliche Spiel gestartet, kopiert und Fügen Sie die gesamten Zeilen in asa ein, die Konfiguration wird geändert und in wenigen Sekunden wird eine neue ausgeführt. Sie müssen jedoch die Konfigurationszeilen vor dem Start überprüfen und sicherstellen, dass die asa nicht verloren geht, wenn Sie den Namen auf der ursprünglichen Oberfläche löschen.


Danke für den Vorschlag. Ich werde wahrscheinlich eine Technik anwenden, die der von Ihnen vorgeschlagenen ähnelt. Leider show run | include interface namefehlen beim einfachen Ausführen verschiedene Konfigurationselemente. Für das Objekt nat ist beispielsweise ein globaler Befehl + ein Unterbefehl erforderlich, aber nur der Unterbefehl verweist auf den Schnittstellennamen.
Matthew Johnson

0

Sie können auch die Ausgabe eines weiteren Systems kopieren: running-config auf einen Editor ausführen und Änderungen an der Benutzeroberfläche vornehmen. Entfernen Sie die Prüfsummen und kopieren Sie sie mit ftp oder tftp zurück in den Flash der ASA. Deaktivieren Sie dann die Option "Werkseinstellung konfigurieren". Kopieren Sie anschließend disk0: / modify-config running-config. Dadurch bleibt die gesamte Konfiguration erhalten und nur die Schnittstellen werden geändert. (Vergessen Sie nicht, die Schnittstellen zu schließen und einen Konfigurationsvergleich mit Notepad ++ Compare oder einem anderen Tool durchzuführen.)

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.