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?
Respuestas:
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í:
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.
fuente
show run | i interface name
pierde varios elementos de contexto).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_Net
interfaz 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á activadaVLAN 173
, por lo quePortChannel1.123
se le asignóVLAN ID 123
y 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.asa
y 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
nameif
yMTU
que 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 route
en la interfaz anterior y luegoroute
a 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:
Cuando volví al Archivo PRINCIPAL y estaba satisfecho de que no quedaba nada de ese tipo de cosas
Así que solo
_REPLACE
busqué 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 _REPLACE
en el ASAPuse 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 a10.2.x.y
, cambié todas lasMonitor
declaracionesno monitor
y agregué unashut
al finalLuego copié todos los comandos de Nueva interfaz y puse las direcciones IP correctas y las máscaras de subred, y agregué
monitor
palabras 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/0
comando y elnameif
comando y los agreguéno
a cada unonameif
para que estuvieran todosno 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 nameif
comandos 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 .
fuente
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.
fuente
copy offline-config run
( offline-config sería un archivo de configuración que modifiqué sin conexión y cargué en el ASA) seguidoclear conn all
, pero no estaba seguro de cuál podría ser el efecto ... pensé que podría ser desordenado.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.
fuente
show run | include interface name
perderá 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.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).
fuente