21
Junos ® Learning Sphere Tanto si eres debutante en Junos como si quieres perfeccionar tus técnicas de configuración, este lab basado en Junosphere impulsará tu dominio de Junos OS. por Antonio Sánchez-Monge vDAY ONE: MASTERING JUNOS CONFIGURATION (EDICIóN EN ESPAñOL) Este libro de la colección vDay One trata de Junos y de toda la magia que puedes en- contrar en sus llaves {} de configuración. Entra en Junosphere, carga el fichero de topología, mira los vídeos del libro y sencil- lamente copia los comandos de este PDF para ejecutarlos online en las máquinas virtuales de Junosphere. Aprende haciendo, no leyendo. Junosphere® proporciona un entorno económico y flexible en el que puedes crear y hacer funcionar redes en la nube. Estas redes tienen prestaciones similares a las de un laboratorio con dispositivos físicos, y permiten realizar todo tipo de tareas, incuy- endo: diseño de redes, modelización, diag- nósticos, pruebas y formación. Virtual Day One - ¡Aprende Haciendo! n Experimenta la CLI de Junos con vídeos y prácticas reales n Aprende a navegar por las jerarquías de Junos n Maneja técnicas de configuración básicas y avanzadas n Descubre los misterios del mecanismo interno de rollback y commit n Entiende cómo Junos maneja configuraciones simultáneas n Y mucho más en este lab de 3 horas preparado para ti . 1 VM • 3+ horas ¡Atrévete con el Reto del final del Libro!

Mastering Junos Espanol

Embed Size (px)

DESCRIPTION

Mastering Junos Espanol

Citation preview

  • Junos Learning Sphere

    Tanto si eres debutante en Junos

    como si quieres perfeccionar tus

    tcnicas de configuracin, este lab

    basado en Junosphere impulsar tu

    dominio de Junos OS.

    por Antonio Snchez-Monge

    vDay One: mastering JUnOs COnfigUratiOn (eDiCin en espaOl)

    este libro de la coleccin vDay One trata de Junos y de toda la magia que puedes en-contrar en sus llaves {} de configuracin. entra en Junosphere, carga el fichero de topologa, mira los vdeos del libro y sencil-lamente copia los comandos de este pDf para ejecutarlos online en las mquinas virtuales de Junosphere. aprende haciendo, no leyendo.

    Junosphere proporciona un entorno econmico y flexible en el que puedes crear y hacer funcionar redes en la nube. estas redes tienen prestaciones similares a las de un laboratorio con dispositivos fsicos, y permiten realizar todo tipo de tareas, incuy-endo: diseo de redes, modelizacin, diag-nsticos, pruebas y formacin.

    Virtual Day One - Aprende Haciendo! n experimenta la Cli de Junos con vdeos y prcticas reales

    n aprende a navegar por las jerarquas de Junos n maneja tcnicas de configuracin bsicas y avanzadas

    n Descubre los misterios del mecanismo interno de rollback y commit

    n entiende cmo Junos maneja configuraciones simultneas

    n y mucho ms en este lab de 3 horas preparado para ti.

    1 Vm 3+ horas

    Atrvete con el Reto del final del Libro!

  • los servicios en la nube de Juniper networks basados en Junosphere permiten a los profesionales de redes y seguridad ejecutar planes de pruebas, disear, y formarse en un entorno virtual sin riesgos que utiliza sistemas operativos reales. Junosphere te permite replicar redes fsicas con dispositivos Junos Os y

    herramientas de ecosistema, todo ello sin el coste, la complejidad y las limitaciones de un laboratorio fsico.

    para conseguir la mejor experiencia con Junosphere, comprueba que tienes las herramientas y la configuracin

    adecuadas. Considera estos programas opcionales freeware que facilitarn tu uso de Junosphere.

    Configuracin

    necesaria

    n slo est soportado firefox 19 o superior as como internet explorer 9 o superior n activa las ventanas emergentes (pop-up) en junosphere.net n autoriza las descargas desde junosphere.net n instala el plug-in ms reciente de Java

    Descargas

    recomendadas

    n RealVNC - Acceso remoto a servidores CentOS (no se utilizan en esta prctica) n PuTTY - Cliente SSH/telnet para acceder a los terminales y consolas de los dispositivos

    n Notepad++ - Lector de ficheros de configuracin n FileZilla - Cliente FTP para transferir ficheros desde/hacia los dispositivos n 7zip - Para crear y descomprimir conjuntos de ficheros de topologa n VMWare player - Para ejecutar el Connector (no se utiliza en esta prctica)

    Recomendaciones de Hardware

    CpU: procesadores de 1 gHz o ms recomendados tanto para Windows como para mac.

    memoria: se recomienda un mnimo de 256 mB de memoria ram disponible.

    Calidad de Color: para obtener los mejores resultados usa 16-bit (8-bit, 24-bit, y 32-bit tambin estn soportados).

    resoluciones de pantalla: se recomienda 1,024 x 768 pixels; se soportan hasta 2,048 x 2,048.

    Recomendaciones para PDF

    Usa acrobat reader para obtener los mejores resultados al copiar y pegar los comandos y bloques de configuracin de este libro en

    el terminal Cli.

    puedes consultar las actualizaciones ms recientes en www.juniper.net/junosphere.

    ISBN 978-1936779796

    9 781936 779796

    5 0 9 0 0

  • 1h 2h 3h

    3

    2013 por Juniper Networks, Inc. Todos los derechos reservados.

    Juniper Networks, el logo de Juniper Networks, Junos, Junosphere, NetScreen, y ScreenOS son marcas registradas de Juniper Networks, Inc. en los Estados Unidos y en otros pases. Todas las dems marcas son propiedad de sus propietarios respectivos.

    Juniper Networks no asume ninguna responsabilidad por las imprecisiones que pueda contener este documento. Juniper Networks se reserva el derecho de cambiar, modificar, transferir o revisar esta publicacin sin previo aviso. Los productos fabricados o vendidos por Juniper Networks as como sus componentes pueden estar cubiertos por una o ms de las siguientes patentes que son propiedad y/o licencia de Juniper Networks: U.S. Patent Nos. 5,473,599, 5,905,725, 5,909,440, 6,192,051, 6,333,650, 6,359,479, 6,406,312, 6,429,706, 6,459,579, 6,493,347, 6,538,518, 6,538,899, 6,552,918, 6,567,902, 6,578,186, y 6,590,785.

    Publicado por Juniper Networks Books: http://www.juniper.net/booksAutor y Editor de Vdeo: Antonio Snchez-Monge Narracin de Vdeo: Antonio Snchez-Monge Revisin Tcnica: Diogo MontagnerEditor Jefe: Patrick AmesRevisin de Edicin en Espaol: Pilar Somohano J-Net Community Manager: Julie WiderISBN: 978-1-936779-79-6 (impreso) Impreso en USA por Vervante Corporation, www.vervante.com

    Version History: v1 September 2013 2 3 4 5 6 7 8 9 10

    Agradecimientos

    El autor quiere agradecer: en primer lugar, a mi mujer Eva y a mis hijos Manuel y Lucas, por su amor y paciencia a pesar de todas las horas extra dedicadas a este proyecto. Patrick Ames por su ilimitada energa positiva y por su creatividad. Aleksey Mints por la integracin de vDay One en mi entorno de pruebas favorito con diferencia: Junosphere. Julie Wider por su ayuda en la organizacin de la fase de beta, y por promover el programa en la comunidad J-Net. Diogo Montagner por la revisin tcnica y por su participacin en vDay One. Ivn Pual, por compartir su estudio de grabacin. Dave Dugal por muchas cosas incluyendo su capacidad de hacerme sonreir. Pilar Somohano y Pablo Mosteiro por su apoyo honesto y su visin global. Levent Ogut por compartir una idea sobre el commit history. Y a mi padre por el esfuerzo que siempre pone en hacer que lo ms complejo parezca simple, espero haber aprendido la leccin!

    Un agradecimiento especial a los beta testers que probaron el material y nos ayudaron a mejorarlo. Para la versin en espaol, Daniel Toro y Pilar Somohano; y para la versin en ingls varios miembros del equipo Juniper Ambassador: Kevin Barker, Martin Brown, Nick Ryce, Steve Puluka y Victor Gonzlez. Por ltimo, me gustara agradecer a todos mis clientes y compaeros de Juniper Networks en Espaa que han promovido el material y han realizado el alpha testing, espe-cialmente: David Soriano (Telefonica), Alfredo Pelez (NSN), Jos Maroto (Tecnocom), Rubn Daz (Acuntia), Roco Benavente, Miguel Angel Rodrguez a.k.a. Migueln, Iria Varela, Jos Cid, Manuel Cornejo, Francisco Snchez, Manuel de Miguel, Oscar Daz Poveda, Estefana Rodrguez, Laura Serrano.

    -- Antonio Snchez-Monge, September 2013

    q

  • vDayOne:MasteringJunosConfiguration(EdicinenEspaol) 4

    1h 2h 3h

    Bienvenido a vDay One

    Este libro vDay One proporciona un workshop prctico y virtual cuyos componentes son:

    Vdeos: La mayora de los captulos contienen un enlace a un vdeo de YouTube que explica la metodologa y los conceptos relevantes en detalle.

    Un dispositivo Junos OS Real: La topologa (de un nico dispositivo) que se utiliza en este workshop est lista para arrancar en la Public Library de Junosphere. El trmino dispositivo se refiere a un router, un switch, o un firewall, etc. En este caso, el dispositivo es un VJX, pero los principios de configuracin Junos OS que aprendes aqu se pueden aplicar a todas las plataformas fsicas o virtuales que corran Junos OS.

    Este Libro: Para mantener el foco en las tareas prcti-cas, este libro simplemente contiene un procedimiento para ejecutar en el laboratorio paso a paso, as como los enlaces a los vdeos que describen cada una de las prcticas.

    Este libro vDay One cubre los aspectos ms importantes de la configuracin en Junos. Est dirigido a lectores que o bien son principiantes en Junos OS, o quieren perfeccionar su manejo de la configuracin. Las tcnicas descritas van desde la configura-cin bsica a aspectos relativamente avanzados. Con las herramientas de este libro, sers un maestro de la base de datos de configuracin de Junos OS.

    Pre-requisitos

    Las 3h00m de tiempo neto necesario para recorrer todo el material es slo una estimacin. Es recomendable que reserves ms horas para poder hacer pausas, o para explorar algunos comandos o funcionalidades; o, si eres principiante en Junos OS

    o en Junosphere, puedes necesitar ms tiempo para asimilar el contenido. El modelo actual de reservas en Junosphere funciona por das, as que es flexible en este sentido.

    Los pre-requisitos para este workshop virtual son:

    Una cuenta Junosphere vlida (http://www.junosphere.net). Para comprar Junosphere con un descuento especial, ve a https://learningportal.juniper.net/juniper/user_activity_info.aspx?id=5735 y utiliza el cdigo promocional jun3928 , vlido slo para Junosphere CLASSROOM (no para LAB).

    Necesitas tener permisos de administracin en tu terminal para instalar el programa Network Connect, que se descarga en la primera conexin a Junosphere. Aunque normalmente la instalacin funciona bien al primer intento, algunos usuarios han tenido que reintentarlo una o dos veces, para que finalmente funcione.

    No es posible ejecutar dos instancias simultneas de Network Connect, as que si ya tienes una instancia de Network Connect corriendo para dar acceso a una VPN corporativa, la debes parar primero.

    Network Connect funciona mejor sin proxies web, aunque tambin soporta configuracin de proxy esttica. Sin embargo, no funciona si el navegador est configurado con un fichero PAC (Proxy Auto-Configu-ration).

    IMPORTANTE Al principio de este documento puedes encontrar las recomendaciones de navegador web, sistema y aplicaciones para Junosphere.

    PISTA Si vas a copiar y pegar bloques de comandos o de configuracin directamente desde el PDF al terminal, la experi-encia pasada muestra que Acrobat Reader funciona mejor que otros lectores de PDF - stos ltimos pueden juntar varias lneas en una sola.

    q

  • vDayOne:MasteringJunosConfiguration(EdicinenEspaol) 5

    1h 2h 3h

    1. Iniciando el Escenario de Pruebas

    Inicia tu dispositivo Junos OS siguiendo las instrucciones del Vdeo 1, y comprueba que el fichero topology.vmm correspon-de a la Figura 1.

    Figura1 TopologaFsicadelaVM(VirtualMachine)

    Aunque el Vdeo 1 muestra cmo arrancar una topologa de 7 VMs de otro libro vDay One, el proceso para iniciar la to-pologa de 1 VM de este libro es muy similar. Asegrate de que cargas la topologa de 1 VM llamada vDay One: Mastering Junos Configuration. La puedes encontrar en la Public Library llamada Day One Books en Junosphere.

    El Vdeo 1 tambin muestra cmo descargar un fichero llama-do Mastering_Junos_Configuration.zip, que puedes examinar si eres curioso y quieres entender algo de la magia que hay detrs de Junosphere. Este fichero .zip contiene a su vez los siguientes ficheros:

    topology.vmm , que especifica la manera en la que el dispositivo Junos OS - o Virtual Machine - est fsicamente conectado.

    myJunos.conf es una configuracin sencilla de Junos OS que cargars ms adelante en la Seccin 2.

    ge-mtu.slax es un Commit Script de muestra, que usars en la Seccin 10.

    CONSEJO LAB o CLASSROOM? Hay dos tipos de sandbox: LAB y CLASSROOM. Las topologas de vDay One estn disponibles para ambos. Asegrate de que eliges la topologa apropiada para tu sandbox. Ten en cuenta que el cdigo promocional slo est disponible para CLASSROOM.

    Video1 IniciandolaVM(hazclickenlaimagen!)

    IMPORTANTE El mtodo de acceso vara a lo largo del libro. En la Secciones 2 y 3, y al principio de la Seccin 4, necesitas conectarte a la consola del dispositivo Junos OS. En las secciones restantes, te conectars mediante telnet a la IP de gestin.

    TRUCO Si pierdes la conectividad a tu topologa de Junosphere, no te preocupes! Mientras tu reserva est activa, la topologa sigue corriendo, y slo necesitas reconectarte.

    MS? Para familiarizarte mejor con los conceptos de Junosphere y su GUI, mira los vdeos de la pgina https://learningportal.juniper.net/juniper/user_activity_info.aspx?id=5735.

    q

  • vDayOne:MasteringJunosConfiguration(EdicinenEspaol) 6

    1h 2h 3h

    2. Navegando por la Configuracin de Junos OS

    Vamos a empezar cargando una configuracin Junos OS muy sencilla. A continuacin la examinars (sin modificarla) usando diferentes modos de lnea de comandos (CLI).

    Primero, conctate a la consola del dispositivo, usando un cliente telnet:

    telnet

    La direccin y el estn indicados en la columna Console, dentro de la pestaa Virtual Machines de la GUI de Junosphere. El usuario es root y la contrasea Clouds. Por qu la consola, y por qu el usuario root? Porque vas a borrar en breve la mayor parte de la configuracin, dejando a root como nico usuario vlido, y la consola como nico mtodo de acceso. El objetivo es conseguir una configuracin muy breve y simple, que facilitar tu proceso de aprendizaje.

    Cuando te conectas como root, el prompt es %, que correspon-de a la shell freeBSD. Este no es un modo soportado oficial-mente, as que necesitas iniciar una sesin de Junos OS CLI, lo que cambia el prompt a >.

    % cli

    >

    En una mquina virtual VJX de Junosphere, la configuracin inicial se puede especificar en el fichero topology.vmm de la siguiente manera:

    install "ENV(HOME)/active/configset/.conf" "/root/olive.conf";

    Esta lnea no est presente en tu fichero topology.vmm, y por esa razn el dispositivo arranc inicialmente con la configura-cin de fbrica por defecto. Vamos a echar un vistazo a la configuracin (en realidad, todava no necesitas entenderla):

    > show configuration

    TRUCO Dale a la tecla tab (tabulador) a menudo. Con respecto a otros sistemas operativos, permite autocompletar ms palabras incluso que la barra espaciadora! Y, por supues-to, el signo de interrogacin (?) te guiar en el camino.

    MS? Si te apetece una introduccin a la CLI de Junos OS en general, echa un vistazo a Day One: Exploring the Junos CLI. Lo puedes encontrar en la pgina principal de Day One (http:// www.juniper.net/dayone).

    Ests a punto de reemplazar la configuracin que est activa en este momento, por otra mucho ms sencilla. Este comando muestra los contenidos de un fichero:

    > file show /var/tmp/myJunos.conf

    Ms adelante en este libro, vers los comandos configure, load, save y commit explicados en detalle. El procedimiento siguiente guarda una copia de seguridad de la configuracin en un fichero llamado original.conf, y a a continuacin activa otra configuracin completamente nueva y basada en el contenido de myJunos.conf:

    > configure

    # save /var/tmp/original.conf# load override /var/tmp/myJunos.conf# commit and-quit

    ATENCIN A da de hoy, Junosphere no tiene ningn mtodo para reiniciar (o resetear) conexiones de consola. Si por alguna razn perdieras conectividad con la consola antes de la mitad de la Seccin 4, y no consiguieras reconectarte, necesitar-as reiniciar la topologa.

    IMPORTANTE Vamos a ver el vdeo 2. Pero es importante que lo veas en su totalidad antes de hacer la tarea prctica. Si ejecutas comandos antes de que acabe el vdeo (pausando y reanudndolo), la experiencia ser mucho menos til, por no mencionar las diferencias que puede haber entre el vdeo y la tarea prctica. Este consejo tambin es vlido para los vdeos de los captulos posteriores.

    q

  • vDayOne:MasteringJunosConfiguration(EdicinenEspaol) 7

    1h 2h 3h

    Video2 NavegandoporlaConfiguracindeJunosOS

    Mira la configuracin activa en modo operacional (prompt >):

    > show configuration

    > show configuration interfaces

    > show configuration interfaces ge-0/0/1

    > show configuration interfaces ge-0/0/1 unit 1

    > show configuration interfaces ge-0/0/1 unit 1 vlan-id

    Cmo se aplica esta configuracin exactamente? Vamos a verlo:

    > show interfaces terse lo0.0

    > show interfaces terse ge-0/0/1

    > show interfaces terse ge-0/0/1 routing-instance default

    > show interfaces ge-0/0/1.1 | match vlan

    MS? Puedes ignorar la interfaz ge-0/0/1.32767, que se crea automticamente para la comunicacin interna entre componentes del plano de control a travs de la routing-in-stance __juniper_pri- vate1__, que es interna. Estos components estn normalmente en tarjetas fsicas diferentes. Pero no esta vez, ya que estamos en un entorno virtual.

    NOTAPuede ser que an veas una direccin IP asignada a ge-0/0/0, a pesar de no estar configurada. Puedes considerarla como parte de la infraestructura de Junosphere, y avanzar al siguiente paso.

    Ahora vas a entrar en modo de configuracin (prompt #). En este modo puedes modificar la configuracin, pero de momento slo la vas a ver:

    > configure

    # show

    # show interfaces

    # run show interfaces terse ge-0/0/1.1

    PREGUNTA#1 Para qu sirve el comando run?

    Ahora, sigue los pasos que an no has ejecutado del Vdeo 2:

    # show interfaces ge-0/0/1 unit 1

    # show interfaces ge-0/0/1.1

    # edit interfaces ge-0/0/1

    # show

    # show unit 1 vlan-id

    # top

    # edit interfaces lo0 unit 0

    # show

    # up

    # show

    # top show system

    # top edit interfaces ge-0/0/1 unit 1

    # edit vlan-id

    Es normal ver un error en el ltimo comando, ya que edit est diseado para entrar en ramas, no en hojas. Dos comandos ms y estars listo para la siguiente Seccin:

    # up 2

    # top

    PRUBALO!Puedes salir del modo de configuracin con exit o quit. Estos comandos hacen lo mismo si los ejecutas desde la raz del rbol. Pero no si lo haces desde una rama.

    q

  • vDayOne:MasteringJunosConfiguration(EdicinenEspaol) 8

    1h 2h 3h

    3. Editando la Configuracin Candidata

    Ya conoces los comandos: show, edit, up, top y run. Ahora vas a familiarizarte con otros comandos ms potentes: set, delete, copy, rename, replace y insert. Como sus nombres sugieren, estos comandos se utilizan para modificar la configuracin, si bien no actan directamente sobre la configuracin activa. En su lugar, realizan cambios sobre un borrador que suele llamarse configuracin candidata o base de datos candidata. Por ejemplo, puedes aadir una nueva interfaz lgica con el comando set, pero esta nueva interfaz no se crea en el disposi-tivo mientras no confirmes (en ingls, commit) los cambios en la configuracin activa. Esta Seccin se centra en los comandos bsicos que puedes utilizar para editar un borrador de configu-racin, mientras que los detalles del commit se dejan para la Seccin 4.

    Ahora veamos el Vdeo 3.

    Video3 EditandolaConfiguracinCandidata

    Vamos a tomar contacto con set y delete. Ejecuta la secuencia siguiente, que no tiene como resultado ningn cambio neto de la configuracin candidata, ya que el comando delete neutraliza los cambios iniciales:

    # show interfaces ge-0/0/1

    # set interfaces ge-0/0/1 unit 2 vlan-id 2

    # show interfaces ge-0/0/1

    # edit interfaces ge-0/0/1

    # show

    # set unit 2 vlan-id 102

    # show

    # set unit 2 family inet address 10.2.2.1/30

    # show

    # set unit 2 family inet address 10.102.2.1/30

    # show

    # run show configuration interfaces ge-0/0/1

    # delete unit 2

    # show

    PREGUNTA#2 Cul es la diferencia entre el comando show en modo configuracin, y el comando show configuration en modo operacional?

    Como puedes comprobar, la secuencia de comandos siguientes - que introducen copy y rename - tampoco provoca ningn cambio neto en la configuracin candidata: los estados inicial y final son idnticos.

    # top

    # copy interfaces ge-0/0/1 to ge-0/0/2

    # show interfaces

    # delete interfaces ge-0/0/1

    # show interfaces

    # rename interfaces ge-0/0/2 to ge-0/0/1

    # show interfaces

    Ahora ejecuta el bloque siguiente, que esta vez s que tiene como resultado un cambio neto en la base de datos candidata. La clave aqu es que una interfaz lgica soporta varias direcciones IPv4:

    # top

    # edit interfaces lo0 unit 0

    # show

    # set family inet address 10.200.1.1/32

    # show

    q

  • vDayOne:MasteringJunosConfiguration(EdicinenEspaol) 9

    1h 2h 3h

    # delete family inet address 10.100.1.1/32

    # show

    # run show interfaces lo0.0 terse

    PREGUNTA#3 Coincide la informacin proporcio-nada por los dos ltimos comandos? Por qu? Llamemos a estos dos comandos #1 (# show) y #2 (# run show interfaces lo0.0 terse), respectivamente.

    Ahora sal del modo de configuracin, y verifica que an no ha habido ningn cambio en la configuracin activa:

    # exit

    The configuration has been changed but not committed

    Exit with uncommitted changes? [yes,no] (yes) yes

    > show configuration interfaces lo0

    Ninguno de los cambios realizados hasta ahora ha tenido como resultado un cambio en la configuracin activa. De todos modos, vamos a volver al modo de configuracin para deshacer los cambios realizados en la configuracin candidata:

    > configure

    # edit interfaces lo0 unit 0

    # rename family inet address 10.200.1.1/32 to address 10.100.1.1/32

    # show

    Ahora vamos a ver los riesgos del potente comando replace. La secuencia siguiente no provoca ningn cambio neto en la configuracin candidata:

    # top

    # edit interfaces

    # show

    # replace pattern 1 with 2

    # show

    # replace pattern 2 with 1

    # show

    # show | compare

    # replace pattern 10.100.1.1/31 with 10.100.1.1/32

    # show

    # show | compare

    PREGUNTA#4Qu hace el comando show | compare? Es normal que an no sepas la respuesta, pero est bien que empieces a acostumbrarte a este comando.

    Por ltimo, usa el comando insert. Cambiar el orden relativo de direcciones IPv4 no es la aplicacin ms habitual de insert, comparado con reordenar trminos dentro de un firewall filter o de una poltica de routing. Aun as, este ejemplo nos sirve para ilustrar el funcionamiento de insert:

    # top

    # edit interfaces lo0 unit 0

    # show

    # set family inet address 10.200.1.1/32

    # show

    # insert family inet address 10.200.1.1/32 before address 10.100.1.1/32

    # show

    RECUERDA El tabulador te puede hacer la vida ms sencilla!

    PRUBALO! El comando edit tambin existe en modo operacional. Es similar a configure, y adems te puede llevar a la rama que t quieras.

    q

  • vDayOne:MasteringJunosConfiguration(EdicinenEspaol) 10

    1h 2h 3h

    4. Confirmando los Cambios de Configuracin

    Ha llegado el momento de ver en detalle dos de los comandos ms importantes y diferenciadores en la configuracin de Junos OS: rollback y commit. Estos trminos se usan en las bases de datos relacionales, y representan conceptos opuestos. Con rollback, descartas los cambios de configuracin pendien-tes. La base de datos candidata pasa a ser idntica a la configu-racin activa, que a su vez no experimenta ningn cambio. Con commit, activas los cambios de configuracin copiando la base de datos candidata a la configuracin activa.

    Hasta ahora, has estado usando la conexin de consola. Ahora vas a hacer algunos cambios prcticos a la configuracin, para que se pueda acceder al equipo mediante el tradicional telnet IPv4. Puedes empezar descartando todos los cambios de configuracin pendientes:

    # top

    # rollback

    # show | compare

    # exit

    El ltimo show | compare debera estar vaco. Ahora, apunta la direccin IPv4 de la interfaz de gestin ge-0/0/0 (pero no intentes configurarla ya que est reservada a Junosphere):

    > file show /var/tmp/original.conf | match address

    > file show /config/mgmt.ipaddress

    Y configura tu dispositivo para recibir conexiones telnet. En Junos OS, el usuario root puede acceder por SSH pero no por telnet. Por esta razn, necesitas configurar tambin un usuario adicional. Este es el procedimiento completo:

    > configure

    # set system services telnet

    # set system login user vdayone class super-user authentication plain-text-password

    New password: Clouds

    Retype new password: Clouds# show | compare# commit and-quit

    Ahora, desde otro terminal, prueba a hacer telnet al dispositivo usando la direccin que has anotado, as como el usuario y la contrasea que acabas de configurar:

    telnet

    Username: vdayone

    Password: Clouds

    Echa un vistazo al Vdeo 4 para ver el proceso de commit en accin.

    Video4 ConfirmandoCambiosdeConfiguracin

    Ahora vas a ver el commit en accin:

    # set system host-name EVEREST# show | compare# commit

    El prompt ha cambiado a EVEREST!

    Qu ocurre exactamente durante una operacin de commit? La secuencia en un dispositivo sin redundancia de plano de control (es decir, con 1 sola Routing Engine) es:

    Primero, el demonio de gestin o management daemon (mgd) responsable de la sesin CLI donde se est realizando el commit, llama a todos los demonios o procesos de background que puedan estar afectados por el cambio de configuracin. As, mgd puede

    q

  • vDayOne:MasteringJunosConfiguration(EdicinenEspaol) 11

    1h 2h 3h

    solicitar a los demonios de routing (rpd), firewall (dfwd), clase de servicio (cosd), interfaces (dcd), etc., que lean la configuracin y la validen.

    NOTA Un demonio es el nombre comn de cualquier proceso de background en FreeBSD y en otros sistemas operativos basados en UNIX.

    Cada uno de los demonios involucrados crea un proceso hijo mediante la llamada de sistema fork(). Estos procesos hijo se encargan de la tarea de vali-dacin, mientras su proceso padre respectivo puede seguir realizando su tarea habitual. Cada demonio hijo inspecciona la parte de la configuracin que considera relevante, y comprueba su consistencia - por ejemplo, una interfaz no puede tener un filtro aplicado si el filtro no est definido globalmente. Los procesos hijo devuelven el resultado de la validacin a mgd, y desaparecen.

    La validacin slo tiene xito si todos los demonios hijo devuelven un resultado satisfactorio de su vali-dacin a mgd. Si el comando commit se ejecuta con la opcin check, slo proporciona los resultados de la validacin y finaliza sin confirmar ningn cambio. Del mismo modo, un commit normal (sin la opcin check) no activara ningn cambio si alguno de los demonios reportara un error de validacin.

    En este punto, si la validacin se completa con xito y la opcin check no se est usando, mgd activa la configuracin candidata, rota los ficheros de configu-racin como se detalla en la prxima seccin, enva una seal SIGHUP a todos los procesos de background relevantes, y devuelve el prompt.

    Los procesos de background relevantes (por s mismos, no sus hijos) leen los cambios de configuracin y ejecutan rutinas de reconfiguracin. Estas rutinas pueden necesitar un tiempo significativo en dispositivos con un alto nivel de provisin. Por ejemplo, puedes ver el estado de la reconfiguracin de rpd ejecutando el comando show task jobs despus del commit, y buscando tareas de tipo reconfig.

    5. La Historia de Commits en Junos OS

    Junos OS es un sistema operativo avanzado. Junos OS guarda las ltimas 50 configuraciones confirmadas, con la numeracin #0 a #49, donde #0 es la configuracin activa en el momento actual, y #49 es la que se confirm hace 49 commits. Esta seccin te muestra cmo sacar partido de dicha funcionalidad. Mira el vdeo 5 para aprender la teora antes de pasar a la prctica.

    Video5 LaHistoriadeCommitsenJunosOS

    Vamos a empezar descartando todos los cambios potenciales que pueda haber en la base de datos candidata, que a su vez pasa a ser idntica a la configuracin activa:

    # rollback

    # show | compare /* Debera estar vaco */

    # show

    Lleg el momento de ver la historia de commits en accin:

    # show | compare

    # show | compare rollback 1

    # set system host-name K2

    # show | compare

    # commit

    q

  • vDayOne:MasteringJunosConfiguration(EdicinenEspaol) 12

    1h 2h 3h

    # set system host-name MAKALU

    # show | compare

    # commit

    # set system host-name ANNAPURNA

    # show | compare

    # commit

    # set system host-name CHO-OYU

    # show | compare

    # rollback

    # show | compare

    # set system host-name CHO-OYU

    # commit comment "I like mountains"

    # exit

    > show system commit

    > show system rollback 0

    > show system rollback 1

    > show configuration | compare rollback 1

    > show system rollback 0 compare 1

    > show system rollback 1 compare 2

    > show system rollback 2 compare 1

    > show system rollback 0 compare 2

    > show system rollback 0 compare 3

    > show system rollback 0 compare 4

    > show system rollback 4 compare 0

    > configure

    # rollback 1

    # show | compare

    # commit

    # rollback 1

    # show | compare

    # commit

    # rollback ?

    # show | compare rollback 1

    # show | compare rollback 2

    # show | compare rollback 3

    PREGUNTA#5 Cmo puedes volver a la configuracin que contena el host-name Everest, sin configurar el host-name explcitamente?

    PREGUNTA#6 Cul sera el resultado de ejecutar la secuencia: rollback 1 + commit, 999 veces? Y 1000 veces?

    El comando commit tiene varias opciones tiles. Por ejemplo, ya has probado la opcin comment. Vamos a ver otras dos opciones muy tiles:

    # set system host-name NANGA-PARBAT

    # show | compare

    # commit check

    PREGUNTA#7 Qu hace la opcin check?# show | compare

    # commit confirmed 1

    Espera un par de minutos. Qu ha pasado?

    La opcin confirmed es esencial cuando se van a realizar cambios arriesgados en la configuracin, y se desea aadir una capa adicional de seguridad. Prcticamente cualquier ingeniero con experiencia directa en equipos de red ha visto cmo una sesin de CLI deja de responder de repente tras un cambio de configuracin. La causa puede ser obvia (por ejemplo, si se apaga o deshabilita el puerto de gestin) o ms sofisticada. En cualquier caso, si ests a punto de aplicar un cambio de configuracin que pueda afectar tu sesin de alguna manera, la opcin confirmed es tu aliada. Los cambios slo se activan durante el tiempo especificado en minutos (10 por defecto), y si durante ese tiempo no ha habido ms commits, el dispositivo vuelve automticamente a la ltimo configuracin activa, con lo que la sesin CLI volvera a la vida en caso de haberse visto afectada.

    ATENCIN En dispositivos con redundancia de plano de control (ms de una Routing Engine), la opcin commit synchro-nize es clave, ya que permite tener los dos planos sincronizados por si hubiera una conmutacin de plano de control. Puedes configurar set system commit synchronize para que esta opcin se aada automticamente en cada commit

    q

  • vDayOne:MasteringJunosConfiguration(EdicinenEspaol) 13

    1h 2h 3h

    Por ltimo, sube el host-name al pico ms al alto de la Tierra:

    # set system host-name EVEREST

    # commit and-quit

    Ejecuta estos dos comandos para encontrar la localizacin de la historia de commits en los sistemas de ficheros:

    > file list /config/juniper* detail

    > file list /var/db/config/ detail

    Usa el comando file show para mostrar el contenido, ya descomprimido, de alguno de los ficheros listados arriba. Echa un vistazo tambin al fichero /var/db/commits, cuya primera columna representa las horas de commit en formato UTC.

    PRUBALO! Lista el directorio /var/run/db y localiza dos ficheros binarios llamados juniper.data y juniper.db. Estas son las verdaderas bases de datos de configuracin. No intentes mostrar su contenido, ya que estn en formato binario. Sin embargo, si juegas con los comandos de configuracin y observas las fechas de modificacin de estos dos ficheros, sers capaz de decir cul de ellos es la base de datos de configuracin candidata, y cul la activa.

    MS? Los commits agrupados o en batch permiten encolar las operaciones de commit y agruparlas en una nica oper-acin. Esto puede ser til en dispositivos con un alto nivel de provisin. Para aprender ms de esta funcionalidad, puedes mirar la documentacin en Juniper Techpubs, www.juniper.net/techpubs.

    MS? En dispositivos con redundancia de plano de control, o con arquitectura multi-chasis, una optimizacin interesante es fast-synchronize.

    6. Otras Vistas de la Configuracin de Junos OS

    La vista clsica de la configuracin de Junos OS, con todas sus llaves {} mgicas, es prctica de visualizar y leer. Sin embargo, hay otros formatos ms convenientes para determinados usos. En el Vdeo 6 puedes ver uno de los formatos ms utilizados:

    Video6 Visualizandolaconfiguracinenformatoset

    Ahora prubalo t:

    > configure

    # show interfaces lo0 | display set

    # exit

    > show configuration interfaces lo0 | display set

    PREGUNTA#8 Es equivalente mostrar la configuracin de loopback en modo operacional y de configuracin?

    Otra aplicacin interesante del formato set es el siguiente:

    > configure

    # show interfaces | match address

    # show | display set | match address

    # show | match address | display set

    q

  • vDayOne:MasteringJunosConfiguration(EdicinenEspaol) 14

    1h 2h 3h

    Por ltimo, aunque el formato XML no es el ms sencillo de leer, es un formato abierto y estndar. Funciona con todas las libreras XML de la industria, y es esencial para todas las funcionalidades de Junos Automation, incluyendo los Commit, Event y Op Scripts:

    # show interfaces | display xml

    MS?Lee el Day One: Navigating The Junos XML Hierar-chy en www.juniper.net/dayone.

    Pausa para el Caf!

    Te has ganado un descanso. Tmate un caf, agua, o estira tus piernas mientras piensas en las llaves {} mgicas.

    7. Guardando y Cargando Bloques de Configuracin y Parches

    Muchas veces necesitars manejar bloques de configuracin de manera eficiente. Por ejemplo, si tienes la configuracin completa o parcial de un dispositivo, y quieres aplicarla (tras adaptarla en un editor de texto) a otro equipo. O si necesitas deshacer o rehacer un cambio de configuracin que hiciste en el commit #33. Y, por supuesto, para hacer copias de seguridad y restaurar configuraciones antiguas. Junos OS es muy potente y flexible en este sentido: configurar grandes redes no es un gran reto con Junos OS!

    En el Vdeo 7 puedes ver una muestra de las diferentes aplica-ciones:

    Video7 ManejandoBloquesdeConfiguracinyParches

    En el primer ejemplo, vas a guardar toda la configuracin activa en un fichero local que opcionalmente puedes transferir por FTP/SCP a un servidor externo. Despus borrars toda la configuracin candidata para volver a cargarla, pero esta vez sin utilizar el comando rollback:

    qPausa para el Caf!

  • vDayOne:MasteringJunosConfiguration(EdicinenEspaol) 15

    1h 2h 3h

    # exit

    > show configuration | save myFile1

    > file show myFile1

    > configure

    # delete

    This will delete the entire configuration

    Delete everything under this level? [yes,no] (no) yes

    # show

    # show | compare myFile1

    # load override myFile1

    # show

    # show | compare myFile1

    La salida del ltimo comando debera estar vaca, ya que no hay diferencias entre la configuracin candidata y myFile1.

    NOTA Hasta ahora slo hemos actuado sobre la base de datos candidata, ya que no hemos confirmado ningn cambio.

    Ahora vamos a jugar con una parte concreta de la configuracin. Esta vez vas a usar la opcin merge en lugar de override, ya que la idea es aadir configuracin sin destruir la existente. Al final del procedimiento siguiente deshaces los cambios iniciales, por lo que el resultado final coincide con la configuracin original:

    # show interfaces lo0

    # show interfaces lo0 | save myFile2

    # run file show myFile2

    # delete interfaces lo0

    # load merge myFile2

    /* Es esperable ver un error aqu */

    # show interfaces lo0

    # edit interfaces lo0

    # load merge myFile2

    /* Es esperable ver un error aqu */

    # show

    # load merge myFile2 relative

    # show

    # top

    Copia la salida del comando siguiente en un documento de texto (usa cualquier editor de texto externo), y mantn el documento abierto:

    q

    # show interfaces lo0

    Ahora, borra la configuracin de la interfaz lo0 y aplcala en formato de llaves:

    # delete interfaces lo0

    # edit interfaces lo0

    # show

    # load merge terminal relative

    Pega el contenido (original o ligeramente modificado) del docu-mento de texto en el terminal, y ejecuta ctrl-D. La configura-cin de lo0 debera estar de nuevo en sitio:

    # show

    NOTA Todas las opciones del comando load comentadas en este libro permiten la entrada de datos tanto por terminal como por fichero.

    Una variante ms:

    # top

    # show interfaces lo0 | display set | save myFile2-bis

    # delete interfaces lo0

    # show interfaces lo0

    # load set myFile2-bis

    # show interfaces lo0

    Y, por ltimo, la opcin ms potente de todas (patch). Aunque pueda parecer extrao al principio, esta opcin es de lejos la ms til cuando se trata de configurar o hacer evolucionar una red de manera incremental e interactiva con la CLI.

    # show interfaces lo0

    # replace pattern 10.100.1.1 with 10.200.1.1

    # show interfaces lo0

    # show | compare

    # show | compare | save myFile3

    # run file show myFile3

    # rollback

    # show interfaces lo0

    # load patch myFile3

    # show interfaces lo0

    # show | compare

    # rollback

    # exit

  • vDayOne:MasteringJunosConfiguration(EdicinenEspaol) 16

    1h 2h 3h

    8. Configuraciones Simultneas

    Hasta ahora, slo ha habido un usuario configurando el equipo: t. En la vida real del laboratorio y de las redes de produccin, es muy frecuente que haya varias personas, o incluso la misma persona (o sistema de provisin) en distintas sesiones, accediendo a la configuracin a la vez. Garantizar la consistencia se convierte en un reto, y hay varias estrategias para afrontarlo. Mira el vdeo 8 y preprate para la sesin prctica.

    Video8AccesoSimultneodeLecturayEscrituraalasBasesdeDatosdeConfiguracin

    Conecta otra sesin CLI al dispositivo:

    telnet

    Username: vdayone

    Password: Clouds

    TRUCO Puedes usar el comando operacional show interfaces terse ge-0/0/0 si no recuerdas la direccin IPv4 de gestin

    Ahora tienes dos sesiones CLI (#1 y #2) conectadas al mismo equipo. Ambas sesiones estarn en modo de configuracin a la vez.

    IMPORTANTE Por defecto, el comando configure propor-ciona acceso directo de lectura y escritura a la base de datos candidata.

    La base de datos candidata est compartida por toda las sesio-nes que acceden a ella. Con las instrucciones siguientes podrs comprobar el funcionamiento de este acceso compartido. Considera la lnea vertical como el eje temporal. Slo debes progresar a la lnea siguiente si ambas sesiones ya han ejecutado la lnea actual. Recuerda que ests simulando dos usuarios que estn activos a la vez, as que con mucha frecuencia debers cambiar de una sesin a otra durante esta prctica:

    SESSION#1

    @EVEREST> configure

    @EVEREST# show system host-name

    @EVEREST# set system host-name LHOTSE

    @EVEREST# show system host-name

    @EVEREST# exit

    The configuration has been changed but

    not committed

    Exit with uncommitted changes? yes

    @EVEREST> configure

    @EVEREST# show system host-name

    @EVEREST#

    @EVEREST# show system host-name

    @EVEREST# show | compare

    @EVEREST#

    @K2# exit

    @K2>

    TRUCO Si ejecutas una secuencia set + delete cuyo resultado final es nulo, es decir, sin cambios pendientes por confirmar, la base de datos candidata puede quedarse con el flag de modificacin puesto, incluso aunque la salida de show | compare est vaca. En este caso, simplemente haz rollback y ya puedes salir limpiamente con exit.

    Como viste en el vdeo, las sesiones en modo privado no tienen acceso directo a la base de datos de configuracin compartida. Comprubalo!

    q

    SESSION#2

    @EVEREST> configure

    @EVEREST# show system host-name

    @EVEREST#

    @EVEREST# show system host-name

    @EVEREST# exit

    The configuration has been changed

    but not committed

    Exit with uncommitted changes? yes

    @EVEREST> configure

    @EVEREST# show system host-name

    @EVEREST# set system host-name K2

    @EVEREST# show system host-name

    @EVEREST# show | compare

    @EVEREST# commit

    @K2# exit

    @K2>

  • vDayOne:MasteringJunosConfiguration(EdicinenEspaol) 17

    1h 2h 3h

    SESSION#1

    @K2> configure private

    @K2# show system host-name

    @K2# set system host-name ANNAPURNA

    @K2# show system host-name

    @K2# exit

    The configuration has been changed

    but not committed

    Discard uncommitted changes? yes

    @K2> configure private

    @K2# show system host-name

    @K2# set system host-name ANNAPURNA

    @K2# show system host-name

    @K2# show | compare

    @K2# commit

    @ANNAPURNA#

    @ANNAPURNA#

    @ANNAPURNA# show system host-name

    @ANNAPURNA#

    @ANNAPURNA#

    @ANNAPURNA#

    @ANNAPURNA#

    @ANNAPURNA#

    @ANNAPURNA#

    @ANNAPURNA#

    @ANNAPURNA# show system host-name

    @ANNAPURNA#

    @ANNAPURNA#

    @MAKALU# show system host-name

    @MAKALU# exit

    Ahora puedes experimentar con el modo exclusivo:

    SESSION#1

    @MAKALU> configure

    @MAKALU# set system host-name ANNAPURNA

    error: configuration database locked

    @MAKALU# exit

    Y, por ltimo, veamos la interaccin entre una sesin en el modo de configuracin por defecto (con acceso a la base de datos de configuracin compartida) y otra sesin en modo privado:

    SESSION#1

    @MAKALU> configure private

    @MAKALU# set system host-name ANNAPURNA

    @MAKALU#

    @MAKALU# exit

    PISTA Si entras en el modo de configuracin y ejecutas commit sin que haya ningn cambio pendiente de confirmar, pueden ocurrir dos cosas. En el modo de configuracin por defecto, se lanza el procedimiento completo de commit (con la particulari-dad de que el nmero de demonios que se sealizan es mnimo), y tiene lugar una rotacin de ficheros de configuracin. Por otro lado, en el modo privado no ocurre nada y la sesin devuelve el prompt inmediatamente.

    q

    SESSION#2

    @K2> configure private

    @K2# show system host-name

    @K2#

    @K2# show system host-name

    @K2#

    @K2#

    @K2# show system host-name

    @K2#

    @K2# show system host-name

    @K2# show | compare

    @K2#

    @ANNAPURNA# show system host-name

    @ANNAPURNA# set system host-name MAKALU

    @ANNAPURNA# show system host-name

    @ANNAPURNA# show | compare

    @ANNAPURNA# commit

    [edit system host-name]

    host-name ANNAPURNA

    statement does not match patch:

    ANNAPURNA != K2

    @ANNAPURNA# show system host-name

    @ANNAPURNA# show | compare

    @ANNAPURNA# commit

    @MAKALU# show system host-name

    @MAKALU# exit

    SESSION#2

    @MAKALU> configure exclusive

    @MAKALU# exit

    SESSION#2

    @MAKALU> configure

    @MAKALU#

    @MAKALU# set system host-name CHO-OYU

    error: private edits in use. Try

    configure private or configure

    exclusive.

    @MAKALU# exit

  • vDayOne:MasteringJunosConfiguration(EdicinenEspaol) 18

    1h 2h 3h

    9. Jerarqua en Accin

    La configuracin de Junos OS est muy lejos de ser un fichero de texto monoltico. En realidad, hay dos vistas llamadas pre-herencia y post-herencia. Cuando muestras la configura-cin, tpicamente obtienes la vista pre-herencia. Pero cuando haces un commit, Junos construye la vista post-herencia. Diferentes vistas pre-herencia pueden resultar en la misma vista post-herencia. De qu trata la herencia en este contex-to? Imagina que quieres borrar una interfaz de la configura-cin slo de manera temporal. Si la borras con el comando delete, la interfaz desaparece completamente de la configura-cin. Pero tambin puedes desactivarla con el comando deactivate, y dejarla en la configuracin con el flag de inactiva. Los dos comandos delete y deactivate slo se diferencian en la vista pre-herencia. Una vez calculada la vista post-herencia, la interfaz desaparece de la vista. Tambin tienes la posibilidad de definir ciertas estructuras llamadas grupos, que pueden aplicarse de manera jerrquica a varias partes de la configuracin a la vez. En este sentido, las fases pre-herencia y post-herencia de la configuracin se corresponden con el antes y el despus de la aplicacin de los grupos.

    Mira el Vdeo 9 para ver estos conceptos en accin:

    Video9 ElRoldelaHerenciaenlaConfiguracindeJunosOS

    Uno de los comandos ms tiles en Junos OS es deactivate. Este comando te permite suprimir una parte de la configuracin desde el punto de vista operacional/funcional, pero sin borrarla. Para volver a activarla, el comando es simplemente activate. Com-prubalo:

    > configure

    # show interfaces ge-0/0/1

    # show interfaces ge-0/0/1 | display inheritance

    # deactivate interfaces ge-0/0/1

    # show interfaces ge-0/0/1

    # show interfaces ge-0/0/1 | display inheritance

    # run show interfaces ge-0/0/1 terse

    # commit

    # run show interfaces ge-0/0/1 terse

    # activate interfaces ge-0/0/1

    # show interfaces ge-0/0/1

    # show interfaces ge-0/0/1 | display inheritance

    # run show interfaces ge-0/0/1 terse

    # commit

    # run show interfaces ge-0/0/1 terse

    Los grupos de configuracin son otra tcnica muy utilizada. Puedes verlos en accin aqu:

    # set groups myMTU interfaces unit family inet mtu 1600

    Si quieres ver el comando anterior entero, cambia las propie-dades de la sesin ejecutando:

    # run set cli screen-width 200

    Ahora aplica a la jerarqua de interfaces el grupo que acabas de crear:

    # show interfaces | display inheritance

    # set interfaces apply-groups myMTU

    # show interfaces

    # show interfaces | display inheritance

    # show interfaces | display inheritance no-comments

    # show interfaces | display inheritance | display set

    # show | compare

    # commit check

    q

  • vDayOne:MasteringJunosConfiguration(EdicinenEspaol) 19

    1h 2h 3h

    El proceso de validacin de la configuracin ha detectado un error. La MTU (Maximum Transmission Unit) de la interfaz lgica en ningn caso puede sobrepasar la MTU de la interfaz fsica. Vamos a corregir la condicin de error:

    # replace pattern 1600 with 1300

    # commit check

    Al final de la Seccin 4, viste una lista de los pasos internos asociados a la operacin de commit. En realidad, la herencia tiene lugar antes del paso 1. En otras palabras, mgd comienza el proceso de validacin una vez que la configuracin candidata ha sido procesada con display inheritance.

    Durante el proceso de arranque de Junos OS se realiza un commit para activar el fichero de configuracin /config/juniper.conf. La lgica de validacin puede cambiar de una versin de Junos OS a otra. As, es posible que una configuracin dada pase la validacin en la versin A con xito, pero no en la versin B. En ese caso, una migracin de A a B dejara el dispositivo (al arrancar en la versin B) en un modo llamado Amnesiac, es decir, con la configuracin activa vaca (factory defaults).

    Cmo puedes sacar un dispositivo del modo Amnesiac? Solucionando la inconsistencia en la base de datos candidata y ejecutando commit. Sin embargo, esta operacin es manual.

    Cmo puedes evitar que un dispositivo entre en modo Amne-siac? El comando request system software add tiene la opcin validate activada por defecto. Con esta opcin, la configuracin activa en ese momento pasa a ser validada por las rutinas de validacin de la versin objetivo, comprobando si el commit tendra exito despus de la migracin.

    ATENCIN Si las versiones de Junos OS A y B estn muy lejos entre s desde el punto de vista del calendario de versiones, la validacin no est garantizada. En concreto, la opcin validate puede dar un error genrico aunque la configuracin sea perfectamente vlida para A y B. En este caso, necesitas saltarte la validacin con la opcin no-validate. Si es un equipo

    de produccin, intenta cargar antes la configuracin activa en un equipo de laboratorio que est corriendo la versin B, y comprueba que pasa el commit check.

    MS? Explora algunas aplicaciones del comando apply-path. Las puedes encontrar en Juniper Techpubs, www.juniper.net/techpubs.

    10. Reglas de Ingeniera Personalizadas Commit Scripts

    YEn la Seccin anterior viste cmo una inconsistencia en la configuracin se detecta tpicamente durante el proceso de validacin (commit check). Sin embargo, el hecho de que una configuracin sea completamente consistente y sintcticamente correcta desde el punto de vista de Junos OS, no te da ninguna garanta de que vaya a cumplir los requisitos del servicio concreto que ests desplegando. Por ejemplo, Junos OS permite que una interfaz est configurada en ISIS aunque no lo est en MPLS. Pero en tu red, podra ser obligatorio desde un punto de vista de diseo, activar MPLS en todas las interfaces que tengan IS-IS habilitado. Este tipo de reglas de ingeniera personalizadas se pueden definir y aplicar utilizando un elemento clave del conjunto de funcionalidades llamado Junos Automation: los commit scripts. Como administrador o arquitecto de red, decides qu condiciones tiene que cumplir una configuracin candidata antes de someterla a la validacin estndar de Junos OS.

    Vamos a ver un ejemplo simple. Desde el punto de vista de Junos OS, poner la interfaz ge-0/0/1 con una MTU de 1400 es perfectamente vlido, ya que la MTU lgica aplicada a ge-0/0/1.1 con los grupos de configuracin es menor (1300):

    # set interfaces ge-0/0/1 mtu 1400

    # commit check

    q

  • vDayOne:MasteringJunosConfiguration(EdicinenEspaol) 20

    1h 2h 3h

    Sin embargo, decides aplicar una regla de ingeniera personal-izada que impide que la MTU fsica tenga un valor por debajo de 1500 bytes:

    # run file show /var/db/scripts/commit/ge-mtu.slax

    # set system scripts commit file ge-mtu.slax

    # commit check

    # rollback

    # exit

    Aunque la configuracin es sintcticamente correcta desde el punto de vista de Junos OS, falla el proceso de validacin porque no se cumple una regla de ingeniera personalizada que has definido.

    Volviendo a la lista del final de la Seccin 4, los commit scripts procesan la vista post-inheritance, antes del paso 1 de la lista. Es ms, un commit script puede incluso modificar la configura-cin candidata altes de que comience el proceso de validacin estndar de Junos OS (paso 1 de la lista).

    MS? Los Commit Scripts en particular, y Junos Automa-tion en general, son un amplio conjunto de funcionalidades. Echa un vistazo a la coleccin de Day One Junos Automation en www.juniper.net/dayone.

    Respuestas a Preguntas

    ANSWER#1 El comando run permite ejecutar comandos operacionales sin salir del modo de configuracin.

    ANSWER#2 El comando show en modo configuracin muestra la configuracin candidata, mientras que el comando show configuration en modo operacional muestra la configura-cin activa.

    ANSWER#3 No, no coinciden. El comando #1 muestra la configuracin candidata, mientras que el comando #2 muestra el resultado de aplicar la configuracin activa.

    ANSWER#4 El comando show | compare compara la configu-racin candidata con la activa. Bsicamente te dice qu cambi-ara en el dispositivo si ejecutaras commit.

    ANSWER#5 Con la secuencia de comandos siguiente:> configure

    # rollback 6

    # show | compare

    # commit

    ANSWER#6 Ejecutar varias veces: rollback 1 + commit, hace que la configuracin activa alterne entre la actual y la ltima activa. As que 999 veces es equivalente a 1 vez. Y 1000 veces es equivalente a 0 veces. Todo esto, suponiendo que ningn otro usuario o sesin realice ningn cambio de configuracin o commit entre tanto.

    ANSWER#7 Con commit check slo compruebas que la configuracin es sintcticamente vlida, pero no activas (commit) los cambios. Si ves errores con el commit check, entonces un commit real fallara y no continuara aplicando los cambios.

    ANSWER#8 No, en el modo de configuracin ests mirando a la base de datos candidata, mientras que en el modo operacio-nal inspeccionas la configuracin activa.

    q

  • vDayOne:MasteringJunosConfiguration(EdicinenEspaol) 21

    1h 2h 3h

    Y AHORA... UN RETO!

    Bienvenidos al vDay One End-of-Book Challenge

    Ahora que ya has finalizado el libro "vDay One: Mastering Junos Configuration", ha llegado el momento de que pongas a prueba tu habilidad con Junos y Junosphere. Para ello te proponemos la siguiente prueba.

    El escenario consiste en una mquina virtual que corre Junos, en Junosphere. Slo necesitas parar (stop) tu topologa actual, e iniciar otra topologa llamada vDay One Challenge 1, que tambin est disponible en la Public Library de Junosphere. Una vez que te unas (join) a esta topologa de una nica VM, intenta adivinar la respuesta al siguiente acertijo.

    EL ACERTIJO

    Alguien ha borrado de la configuracin las unidades 2, 4, 6 y 8 del interfaz ge-0/0/1. Tu tarea es proponer un procedimiento para recuperar dicha configuracin borrada. El procedimiento no debe producir ningn otro cambio en la configuracin.

    Durante la fase de investigacin, debes buscar el procedimiento correcto. En esta fase slo est permitida una accin: ejecutar comandos show, tantos como quieras, pero no uses el smbolo pipa ( | ) en esta fase. Tu investigacin debe concluir con la propuesta de un procedimiento que cumpla las condiciones siguientes:

    Slo debes usar tu terminal telnet/ssh. No est per-mitido el uso de otras conexiones ni de aplicaciones externas como editores de texto. En cambio, puedes copiar-pegar desde el terminal telnet/ssh al propio terminal si lo deseas.

    El usuario que aplique este procedimiento debe pulsar el teclado un mximo de 100 veces. No est permitido auto-completar con el tabulador o con la barra espacia-dora. Una operacin de copiar-pegar cuenta como 20 pulsaciones de teclado.

    El procedimiento debe contener como mximo 4 comandos y tener este aspecto:

    user@device> [comando #1]user@device> [comando #2]user@device# [comando #3]user@device# commit

    IMPORTANTE Hay al menos dos procedimientos (muy similares, pero diferentes) que cumplen los requisitos. El reto es proponer ambos.

    Divirtete intentndolo. Comprueba en la ltima versin de este libro vDay One si ya est el enlace a la solucin (en ingls). Si la solucin no est an publicada, enva tu respuesta a vday-one-demo@ juniper.net y, si es correcta, te regalaremos tiempo adicional en tu cuenta de Junosphere.

    NOTA No te preocupes si algunos rollbacks no estn dis-ponibles. El resto de la historia de commits est en correcto estado.

    MS?Adems, en el momento en que se publique este libro comienza un concurso. La primera persona que resuelva el acertijo de arriba ser premiada de manera especial y reconocida en J-Net como ganador(a) del concurso.

    ATENCIN Este no es un concurso de hacking. Slo debes ejecutar comandos vlidos y documentados de la CLI de Junos!

    Y AHORA... UN RETO!

    vDay One:mastering JUNOS Configuration(Edicin en Espaol)Configuracin Necesaria y DescargasAgradecimientosBienvenido a vDay OnePre-requisitos1. Iniciando el Escenario de Pruebas2. Navegando por la Configuracin de Junos OS3. Editando la Configuracin Candidata4. Confirmando los Cambios de Configuracin5. La Historia de Commits en Junos OS6. Otras Vistas de la Configuracin de Junos OS7. Guardando y Cargando Bloques de Configuracin yParches8. Configuraciones Simultneas9. Jerarqua en Accin10. Reglas de Ingeniera Personalizadas Commit ScriptsRespuestas a PreguntasBienvenidos al vDay One End-of-Book Challenge - EL ACERTIJO