Actualización controlada de Vyatta
Ahora que llevamos un tiempo usando Vyatta vemos que van saliendo actualizaciones y nuevas versiones de este magnífico Sistema Operativo de redes, tanto si lo tenemos instalado en un laboratorio casero para hacer pruebas, en una máquina física en producción o gestionando las redes en un entorno virtualizado, siempre llega el momento en el que se hace necesario actualizar Vyatta o instalar una versión de Vyatta mas actual, bien porque se corrigen algunos bugs de sistema, bien porque la nueva versión de Vyatta tenga nuevos comandos que resultan interesantes o bien porque nos gusta tener nuestros equipos al día.
También es una opción interesante la de tener varias versiones de Vyatta en una misma máquina y arrancar con la que queramos.
Pero, ¿cómo se actualiza Vyatta? ¿cuáles son los riesgos? ¿me guarda la configuración actual? ¿puedo actualizar Vyatta de forma remota? ¿qué pasa si algo no termina de ir bien y quiero volver atrás?
Vamos primero con las posibles dudas:
-
A saber:
-
Una vez descargada la nueva versión a la que queremos actualizar se queda todo instalado pero la versión antigua seguirá en funcionamiento hasta que no reiniciemos la máquina .
-
La configuración en curso antes de actualizar será la configuración con la que se arranque la nueva versión.
-
Aunque la configuración se mantenga tras la actualización ten la precaución de guardarla antes de proceder con la actualización de Vyatta, recuerda que el archivo de configuración se almacena en la ruta /opt/vyatta/etc/config/ y se llama config.boot.
-
Recuerda que esta opción solo está disponible para sistemas Vyatta que corran versión VC6.0 o posteriores.
-
Para actualizar se usa el comando add system image en modo operación (recordatorio), este comando usa una imagen ISO de Vyatta como fuente, la instala con el resto de imágenes y configura la nueva como la imagen de arranque por defecto. La nueva imagen se pondrá en funcionamiento tras el reinicio del sistema.
-
Asegúrate de tener suficiente espacio en disco en la partición root para cargar la nueva imagen de Vyatta. Puedes determinar la cantidad de espacio disponible en disco con el comando show system storage.
-
Asegúrate de la versión actual instalada en tu máquina y la versión que quieres instalar. Para saber la versión instalada puedes ejecutar el comando de operación “show version“. Para saber las iso disponibles de Vyatta mira el repositorio en http://packages.vyatta.com/vyatta/iso/ y en la sección de descargas de Vyatta.
-
Importante! si en la configuración de Vyatta tenemos alguna VPN configurada que usa certificados hemos de saber que la nueva imagen contendrá dichos certificados únicamente si en la imagen actual están almacenados bajo la carpeta /config un buen lugar para colocarlos sería /config/auth (de hecho todo lo que haya bajo /config se copiará también a la imagen nueva) ver también los nuevos parámetros de OpenVPN y sus notas de uso en la nueva versión VC6.3 de Vyatta. Si la ruta de los certificados es otra no contenida en /config entonces los certificados no aparecerán en la nueva imagen y la VPN no levantara una vez instalada la nueva imagen y reiniciada la máquina. Si estamos haciendo al instalación de la imagen de forma remota por SSH hemos de tener cuidado de si estamos haciéndolo por medio de la VPN o de abrirnos un canal de acceso a configuración de Vyatta alternativo.
Los archivos de la imagen previa a la actualización se almacenan en la ruta /live/image/boot/ así como los de todas las imágenes instaladas en el sistema, en donde encontraremos tanto los archivos pertenecientes a cada imagen instalada en Vyatta, incluidos los certificados.
-
-
Riesgos:
Haberlos haylos y más si actualizamos un equipo en producción y de forma remota, por lo que en estos casos hay que analizar siempre si es realmente necesario actualizar el sistema y que hacer en caso de fallo.
Si vamos a actualizar a la versión VC6.3 de Vyatta y nuestro archivo de configuración actual (config.boot) contiene comillas dobles puede que el sistema que de inaccesible cuando instalemos VC6.3 y reiniciemos la máquina.
¿Está sano el disco duro o el dispositivo de almacenamiento en el que vamos a instalar la nueva versión de Vyatta?
¿Tenemos un acceso alternativo remoto al sistema para poder acudir a en el caso de que algo no haya ido bien?
¿Hemos repasado si todos los comandos de la versión en funcionamiento son compatibles con la versión actual que queremos probar? en este punto puedo decir a modo de anotación que a veces han cambiado algunos comandos, por ejemplo el comando que configura el servidor NTP del sistema, en versiones 6.1 y anteriores el comando era:
set system ntp-server [FQDN o IP del server]
y desde la versión VC6.2 el comando cambio a:set system ntp server [FQDN o IP del server]
En este caso es un problema leve que dará un error al arranque de la máquina y nos dejara el servidor NTP sin configurar, con solo lanzar el nuevo comando no tendríamos ningún problema. -
Recomendaciones:
Otro cambio que se ha dado desde la versión de Vyatta Core 6.2 es que Snort, el motor de detección y prevención de intrusión (IDS/IPS) que usa Vyatta, ya no trae el paquete de reglas precargado en Vyatta si no que es necesario descargarlo desde su web para lo que necesitamos estar dados de alta en snort.org y tener nuestro código Oink que habrá que configurar en Vyatta para que descargue las reglas de Snort.
En breve espero poner un manual de cómo se configura nuestro IPS en Vyatta y un pequeño hack para poder cargar el paquete de reglas de snort de forma manual.
Por lo que si en la configuración que está funcionando en la máquina que vamos a actualizar tenemos alguna configuración de IPS y la versión nueva de Vyatta que vamos a instalar es una VC6.2 o posterior lo mejor es que borremos o desactivemos la configuración de IPS antes de proceder a la actualización. -
Actualización controlada de Vyatta:
Una vez comprobamos que estamos dispuestos a actualizar la versión de nuestro sistema Vyatta y hemos elegido la versión oportuna, procedemos con los siguientes comandos:
vyatta:~# add system image http://packages.vyatta.com/vyatta/iso/VC6.2/vyatta-livecd_VC6.2-2011.02.09_2011-02-09_i386.iso Welcome to the Vyatta install program. This script will walk you through the process of installing the Vyatta image to a local hard drive. Would you like to continue? (Yes/No) [Yes]:
Una vez ejecutamos el comando add system image comienza el programa de instalación de Vyatta, que nos da la bienvenida y nos informa de que el script nos guiara en el proceso de instalación de la imagen Vyatta a un dispositivo local y nos pregunta si queremos continuar, por defecto la opción Yes está marcada con lo que solo es necesario pulsar “intro” para confirmar.Trying to fetch ISO file from http://packages.vyatta.com/vyatta/iso/VC6.2/vyatta-livecd_VC6.2-2011.02.09_2011-02-09_i386.iso % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 190M 100 190M 0 0 503k 0 0:06:26 0:06:26 --:--:-- 525k ISO download suceeded. Checking for digital signature file... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 189 100 189 0 0 354 0 --:--:-- --:--:-- --:--:-- 0 Found it. Checking digital signature... gpg: directory `/root/.gnupg' created gpg: new configuration file `/root/.gnupg/gpg.conf' created gpg: WARNING: options in `/root/.gnupg/gpg.conf' are not yet active during this run gpg: keyring `/root/.gnupg/pubring.gpg' created gpg: Signature made Sun Feb 27 06:30:23 2011 GMT using DSA key ID 9436A9F8 gpg: /root/.gnupg/trustdb.gpg: trustdb created gpg: Good signature from "Autobuild [autobuild@vyatta.com]" gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner. Primary key fingerprint: 1B49 FE0A 0239 706A C6D4 13B0 04A2 5B93 9436 A9F8 Digital signature is valid. Checking MD5 checksums of files on the ISO image...OK. You are running an installed system. Do you want to use the current install partition? (Yes/No) [Yes]:
Ya se ha descargado la ISO de la nueva versión de Vyatta y se ha comprobado el checksum correcto de la imagen. También nos dice que estamos corriendo la instalación en un sistema ya instalado y que si queremos usar la partición actual, por defecto si y lo más normal es si.Done! What would you like to name this image? [VC6.2-2011.02.09]:
Ahora nos pregunta el nombre que queremos dar a la nueva imagen de Vyatta y nos sugiere uno por defecto, pulsamos “intro” para aceptar o insertamos un nuevo nombre.OK. This image will be named: VC6.2-2011.02.09 Installing "VC6.2-2011.02.09" image. Copying new release files... Would you like to save the current configuration directory and use the current start-up configuration for the new version? (Yes/No) [Yes]:
Se instala la imagen con el nombre dado, se copian los archivos necesarios y nos pregunta si queremos guardar el directorio de configuración actual y usar la configuración actual para levantarla con la nueva versión. Si por defecto.Copying current configuration... Would you like to save the SSH host keys from your current configuration? (Yes/No) [Yes]:
Si hemos dicho que si antes se copia la configuración usada y nos pregunta si queremos mantener la clave SSH de host de la configuración actual. Si por defecto y es lo normal.Setting up grub configuration... Done.
Por último se configura el grub para que arranque con la nueva imagen instalada y finaliza el proceso.
Si todo ha ido bien podemos reiniciar la máquina , de esta forma se pondrá en funcionamiento la nueva imagen instalada y con la configuración previa, reiniciamos:vyatta@vyatta:~$ reboot -
Vuelta atrás:
¿Qué pasa si tenemos algún problema con la nueva versión de Vyatta? ¿y si por lo que sea queremos volver a la instalación anterior? no hay problema, solo tenemos que ejecutar el siguiente comando para cambiar la imagen de arranque por defecto:
vyatta@vyatta:~$ set system image default-boot [Tab] Possible completions: <Enter> Execute the current command VC6.1-2010.10.16 Default boot image name VC6.2-2011.02.09 vyatta@vyatta:~$ set system image default-boot VC6.1-2010.10.16 Default boot image has been set to "VC6.1-2010.10.16". You need to reboot the system to start the new default image. vyatta@vyatta:~$









