Mover nombres de interfaz en un Cisco ASA mientras se mantiene el resto de la configuración en su lugar

7

Mi problema inicial: me he quedado sin puertos físicos en mi ASA 5525-X

Mi solución inicial: crear subinterfaces en un canal de puerto y usar un conmutador para agregar mis VLAN

El problema posterior: ¿Cómo muevo los nombres asignados a las interfaces originales a las nuevas subinterfaces mientras mantengo el resto de mi configuración en su lugar?

Si publico una directiva ' no nameif ' en la interfaz original antes de reasignar el nombre, el ASA eliminará todos los elementos de configuración que hacen referencia a ese nombre.

Si vuelvo a emitir la directiva ' nameif ' para cambiar el nombre de la interfaz a algo temporal antes de reasignar el nombre original, todos los elementos de configuración que hacen referencia al nombre original se actualizarán para reflejar el nuevo nombre. Al final, no estoy más cerca de mi objetivo.

La única solución que he financiado hasta ahora es la obvia: edite la configuración de inicio sin conexión y vuelva a cargar el firewall con mis cambios ya implementados. Lo que no me gusta de esto es el tiempo de recarga: el ASA no arranca rápidamente. No podré escabullir el tiempo de inactividad en una pequeña ventana de mantenimiento al final del día (¿Internet está caído? Huh, está de vuelta ahora, debe haber sido yo) En cambio, tendré que programar una ventana de mantenimiento más larga.

Actualización : Consulte la pregunta relacionada, el comando Cisco ASA startup-config que ordena las subinterfaces .

¿Hay otra forma de 'mover' un nombre de una interfaz a una nueva interfaz mientras se mantiene todo lo demás en su lugar?

Matthew Johnson
fuente
¿Qué versión estás ejecutando? 8.3+?
Ricky Beam
@RickyBeam, estoy ejecutando 9.3 (2).
Matthew Johnson
Gracias por el recordatorio @Eddie: estoy esperando marcar una respuesta hasta que pueda obtener una pregunta relacionada en este foro: Respuesta del comando de configuración de inicio Cisco ASA
Matthew Johnson

Respuestas:

2

Deje el puerto físico que está utilizando como VLAN sin etiquetar. Puede dirigir ese tráfico a una VLAN # en su conmutador configurando la VLAN nativa en la VLAN # en la que desea que esté ese tráfico.

Luego, por cada nueva VLAN que agregue a su ASA, conviértala en una interfaz secundaria.

No tengo un ASA para validar este código, pero se verá más o menos así:

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

etc. Debería permitirle agregar nuevas subinterfaces sin realizar ningún cambio en su interfaz original. La interfaz "raíz" no incluye una etiqueta VLAN, por lo que el tráfico no cambia.

Puede ejecutarlo de esta manera indefinidamente, o cambiarlo para que todo use etiquetas VLAN en una fecha posterior cuando sea más conveniente para usted desconectar la red.

Eddie
fuente
Buena sugerencia @ Eddie. Probablemente termine usando una combinación de su sugerencia y algo similar a lo sugerido por @ massimo-baschieri (una recta show run | i interface namepierde varios elementos de contexto).
Matthew Johnson
1

Así es como hice lo mismo.

Primero cambié todos los nombres de mi interfaz para tener "_REPLACE" al final.

Esto aseguró que solo seleccionaría los lugares reales donde estaba presente la interfaz.

Varios elementos se nombrarán por defecto con el nombre de interfaz predeterminado en el momento en que se crean, pero no cambiarán si cambia el nombre de la interfaz más adelante. Además, puede tener objetos que haya nombrado con el nombre de la interfaz en algún momento, lo que también podría confundirse.

EG: la Arbitrary_Netinterfaz se convirtióArbitrary_Net_REPLACE

Luego creé un canal de puerto a través de un par de interfaces y creé interfaces de VLAN debajo de estas, colocando la ID de VLAN como el número de la subinterfaz y agregué el nombre de la interfaz que se movería allí.

EG: " Arbitrary_Net" la interfaz está activada VLAN 173, por lo que PortChannel1.123se le asignó VLAN ID 123y se le dio el nombre " Arbitrary_Net_123"

Sin embargo, al hacerlo nuevamente, enmendaría este proceso para simplemente tener " _NEW" al final en lugar de " Arbitrary_Net_NEW", ya que esto podría permitirme hacer cambios mucho más rápidamente.

Me aseguré de que las interfaces tenían sus direcciones MAC configuradas para HA, etc. y que los canales de puerto funcionaban y que alguna VLAN temporal arbitraria que creé se colocaba en el ASA y el conmutador mostró que el ASA podía hacer ping al conmutador y el conmutador podía hacer ping al ASA para asegurarse de que Ya era conectividad.

También cambié HTTP y SSH para usar LOCAL en lugar de AAA hasta que se completaron los cambios cuando los cambiaría de nuevo, y agregué y probé el acceso de administración desde un host en una red separada de mi red de administración normal para poder mover esa red primero luego complete los cambios después de confirmar que todavía tenía acceso de administración.

Luego, simplemente borré la configuración de TFTP copy run tftp://[hostIP]/[Path]/FW_Cluster A_Primary_Active_Original.asay abrí esto en Notepad ++ para editar.

Para ser cauteloso, solo busqué todas las declaraciones "_Replace" y las coloqué en un archivo separado (llamemos a esto "Archivo principal"

Los revisé y, si alguno no estaba al ras del lado izquierdo, verifiqué esa área para asegurarme de tomar los comandos externos necesarios del archivo TFTPed.

Nota: podría haber hecho eso con las configuraciones AAA, pero pensé que era mucho más fácil dejar que ASDM se encargara de volver a escribir los comandos exactamente en esos, ya que AAA tiene que eliminarse y leerse por completo y tenía medio docenas de configuraciones. Así que simplemente descarté los artículos AAA hasta más tarde.

Del mismo modo, descarté comandos como nameify MTUque no estaban cambiando.

Esto dejó principalmente un montón de reglas NAT, ACE para asociar asociaciones, Cyrptomaps y algunas rutas, etc. en el archivo principal

Las rutas, me mudé a un archivo separado (llámelo Penúltimo archivo), aquí las dupliqué, puse no routeen la interfaz anterior y luego routea la nueva interfaz y las agrupé por la interfaz.

WebVPN y HTTP Redirect I COPIED to Penultimate File también, y les agregué todos estos prefijos no.

Agregué algunas probabilidades más y termina al penúltimo archivo que debía eliminarse y luego agregué nuevamente, como:

no management Arbitrary_NET_REPLACE
management Arbitrary_NET_NEW

Cuando volví al Archivo PRINCIPAL y estaba satisfecho de que no quedaba nada de ese tipo de cosas

Así que solo _REPLACEbusqué y reemplacé _New(o si seguías, realmente hice un montón de estos porque estaba usando ID de VLAN en las interfaces)

Saqué todas las reglas NAT en un Excel también y ejecuté un sh run nat | in _REPLACEen el ASA

Puse el resultado de ese comando en un conjunto de Celdas y las Nuevas versiones de los comandos en el otro conjunto, y lo revisé para asegurarme de que coincidían.

Luego usé Excel para dividir los números de regla NAT del primer conjunto de celdas y agregarlo al segundo justo antes de la palabra clave "Fuente"

Es decir, puse los resultados del programa en la columna B, los NAT del archivo principal en la columna C y luego ** en la columna EI hice una sustitución usando Excel =SUBSTITUTE(C1, source ,LEFT(B1," "&FIND(" ",B1)&"source ")) Esto tomó los números de las reglas y los pegó justo antes de la fuente, que es lo que se necesita para colocarlos en el orden correcto.

(** TBH antes de hacer la sustitución en la columna E, usé la Columna D para hacer una comparación con la Columna B y C mirando las reglas NAT desde la fuente de la palabra en adelante, pero no tengo ganas de escribir en esa ecuación en este momento desde rascándome la cabeza, y los resultados las 8 veces fueron los esperados, por lo que mi inspección visual fue lo suficientemente precisa)

Luego, en la columna A, agregué esta fórmula para obtener los números de regla =LEFT(B1,FIND(" ",B1)-1)

Luego seleccioné las columnas A a E, presioné Filtro y las ordené para invertir el orden de las reglas NAT para que se aplicaran del número más alto al más bajo.

Luego los volví a copiar en el archivo PRINCIPAL reemplazando los NAT que habían estado allí antes.

Finalmente, volví al archivo TFTPed y copié los comandos de interfaz para las interfaces antiguas en un archivo final

Estos cambié la IP en ellos a una red completamente fuera del rango normal, digamos que las redes originales eran todas 10.1.x.y, cambié todas estas a 10.2.x.y , cambié todas las Monitor declaraciones no monitory agregué una shutal final

Luego copié todos los comandos de Nueva interfaz y puse las direcciones IP correctas y las máscaras de subred, y agregué monitorpalabras clave para cada una.

Luego emparejé cada interfaz antigua con la nueva para poder hacer este conjunto a la vez en caso de que me perdiera algún problema.

Por último, copié los comandos originales nuevamente para estas interfaces originales, y solo conservé el interface gi0/0comando y el nameifcomando y los agregué noa cada uno nameifpara que estuvieran todos no nameif, y los coloqué en un archivo separado para más adelante, por si acaso.

Finalmente estaba listo.

Apliqué los cambios del archivo Mian.

Ahora tenía todas mis ACLss asociadas tanto con la interfaz nueva como con la anterior, y todas las reglas NAT también estaban duplicadas (lo cual no es un problema porque solo importaba una vez que el tráfico pasara la interfaz dada).

Pude revisar la regla NAT sin CLI o ASDM y ver las reglas nuevas y antiguas una al lado de la otra correctamente, lo que también fue muy útil para confirmar que no hay problemas.

Luego apliqué los cambios desde el archivo Penultimate y el archivo Final SOLAMENTE para la interfaz en la que había configurado el acceso alternativo para ASDM y SSH, luego confirmé que todo estaba bien e inicié sesión en t SSH y ASDM allí para hacer los cambios restantes.

Ahora apliqué todos los cambios restantes del penúltimo archivo y luego todos los cambios del archivo final.

Esto me dejó con las interfaces originales todavía allí, las ACL y NAT todavía se les aplicaron, y todo se pudo volver a encender y comenzar a trabajar con solo un pequeño conjunto de cambios.

Una vez que estuve satisfecho unas horas después de que los cambios fueron buenos

Moví todas las configuraciones AAA sobreutilizando ASDM (¡gracias ASDM!) Y luego ejecuté los no nameifcomandos que había guardado en un archivo separado para más adelante, y todas las entradas restantes para cualquier cosa que tuviera que ver con esas interfaces se eliminaron del clúster de firewall .

Al hacer esto, podría hacer el firewall promedio en un día o dos de trabajo una vez que se sienta cómodo con el proceso, pero descubrí que era mucho más cauteloso y que solo los firewalls se agrupaban prácticamente sin NAT y VPN parecían "rápidos". .

En parte, debido a que va a querer verificar tres veces todo e incluso haberlo hecho, es probable que olvide algo pequeño.

Sin embargo, puedo decir que dejar los cambios en la interfaz hasta el último paso me permitió lidiar con pequeñas trampas mucho antes de ese paso, de modo que cuando el tráfico realmente se movía, a menudo solo se perdían dos o dos ping si eso, generalmente solo una pequeña latencia .

Ben Personick
fuente
0

edite la configuración de inicio sin conexión y vuelva a cargar

Esa es la única manera. Internamente, el nombre se rastrea con una identificación única. No hay forma de "mover" el nombre a una interfaz diferente.

Una alternativa posible sería actualizar la configuración de inicio, luego eliminar los nombres y " copiar inicio ejecutar " para volver a colocar todo. Pero está pidiendo un desastre importante, y aún así romperá todas las conexiones existentes. (Le daría 1 de cada 5 de bloquear el sistema en el proceso).

En cuanto al tiempo de recarga, nunca he visto que un ASA demore más de unos minutos (menos de 5) en recargarse.

Ricky Beam
fuente
Gracias por la publicacion. También pensé en usar copy offline-config run( offline-config sería un archivo de configuración que modifiqué sin conexión y cargué en el ASA) seguido clear conn all, pero no estaba seguro de cuál podría ser el efecto ... pensé que podría ser desordenado.
Matthew Johnson
Copiar para ejecutar en dispositivos IOS es una operación de fusión. No estoy seguro de lo que hace en un ASA, pero desordenado sería la mejor descripción que se me ocurre.
cpt_fink
1
no nameif eliminaría gran parte de la configuración en el proceso. Entonces, copiar el inicio en funcionamiento podría funcionar. Pero usar cualquier cosa desde 8.3 en adelante NO funcionará ya que la configuración no se puede analizar de arriba a abajo.
Ricky Beam
0

Ese es mi camino: emitir un show run | incluya "nombre de interfaz" Pegue en el bloc de notas todas las líneas con "nombre de interfaz" Agregue en la parte superior los comandos para mover el nombre a la nueva interfaz Como ahora trabajó sin conexión, por lo que no hay ningún cambio de configuración en ejecución Ahora comienza el juego real, copie y pegue todas las líneas en asa, la configuración cambia y la nueva se ejecuta en unos segundos. Sin embargo, debe verificar las líneas de configuración antes de comenzar y asegurarse de no perder el asa una vez que elimine el nombre en la interfaz original.

Massimo Baschieri
fuente
Gracias por la sugerencia. Probablemente termine usando alguna técnica similar a la que usted sugirió. Desafortunadamente, simplemente ejecutando show run | include interface nameperderá varios elementos de configuración. Por ejemplo, el objeto nat requiere un comando global + un subcomando, pero solo el subcomando hace referencia al nombre de la interfaz.
Matthew Johnson
0

Otra cosa que puede hacer es copiar la salida de más sistema: running-config a un bloc de notas, hacer cambios en la interfaz. Retire las sumas de verificación y cópielo nuevamente en el flash de la asa usando ftp o tftp. Luego, borre configure factory-default. Después de esto, copie disk0: / modified-config running-config. Esto preservará toda la configuración y solo cambiará las interfaces. (No olvide desconectar las interfaces y hacer una comparación de configuración con Notepad ++ Compare u otra herramienta).

Louis
fuente