Ubuntu se para al reiniciar

Con la versión 16 de Ubuntu, en concreto con la 16.04 LTS que es la que utilizo en las prácticas, en ocasiones el reinicio de la máquina se queda clavado en un punto, esperando conexión de red. Normalmente, no es un problema, pero si el adaptador de red no está correctamente configurado, lo hemos desconectado (física o virtualmente), etc. nos encontraremos con esta situación.

2017-08-22_0849

Vemos como indica que está esperando que se levante una interface de red, para determinar las actualizaciones pendientes que existan. De hecho el tiempo de espera es de 5 minutos.

Si no queremos tener este tiempo de espera, situación típica en laboratorios con máquinas virtuales, podemos modificar este tiempo. Para hacerlo, una vez iniciada sesión, editaremos el archivo networking.service:

sudo nano /etc/systemd/system/network-online.target.wants/networking.service

Como se puede observar, la última línea especifica el tiempo de espera, que por defecto son 5 minutos, se puede cambiar a, por ejemplo 5 o 10 segundos.

2017-08-22_0851.png

Espero que este pequeño post os sea de utilidad!

Anuncios

VyOS: Configuración Firewall I

Como ya se explicó en otro post, con la adquisición por parte de Brocade de Vyatta, se abandonó la versión Community del popular router, naciendo VyOS como fork para del proyecto. En otros post 1,2 y 3 vimos como configurar Vyatta o a partir de ahora VyOS para funcionar como un router básico con NAT. En esta ocasión, vamos a configurar un firewall para nuestra red.

El primer paso es decidir qué infraestructura queremos implementar, en este ejemplo, el mismo que planteo en las clases, supondremos una red local (LAN) y una DMZ que deberá aceptar conexiones desde el exterior. A nivel de simulación, se plantea el siguiente modelo, donde una VM hará de equipo de la LAN, otra máquina actuará como servidor web y finalmente una tercera VM VyOS que hará la función router firewall, como podemos ver en la siguiente imagen.

2017-04-17_0938

Las dos máquinas que harán de equipo local y servidor, se configuran en el VirtualBox como red interna, de la misma manera que dos de las interfícies de la VM de VyOS. Como en el aula quiero que todos los VyOS accedan a la red local para que los alumnos puedan interactuar, la tercera interfície del VyOS la configuraremos en mode adaptador-puente, saliendo a Internet a través del router del aula.

Un tema muy importante cuando se trabaja con el firewall, es tener claro el sentido del tráfico. Esto, suele ser una fuente habitual de errores, debido a que se interpreta de forma errónea qué es tránsito de entrada o de salida.

El criterio para determinar si el tránsito es de entrada o de salida se debe mirar sobre la interfície donde se aplica el firewall, como se ve en el siguiente dibujo.

2017-04-17_0946

Así, si trabajamos sobre eth0, el tránsito de salida es el que va hacia Internet, pero si queremos aplicar el filtrado sobre eth1, esos mismos paquetes que van hacia el exterior son tránsito de entrada, puesto que entran en el router.

Una cuestión de buenas prácticas es que a la hora de dar nombre a los firewall se utilice un criterio indicando si es de entrada o salida y sobre qué interfície se aplica, por ejemplo, FW0IN indica que se aplicará sobre eth0 de entrada.

Instalación VM

Aunque en los post mencionados anteriormente ya se explicó el proceso detallado, aquí haremos un breve resumen de los pasos previos.

Crearemos una máquina virtual con tres interfícies: la primera en modo puente (eht0) y las otras dos (eth1 y eth2) en modo red interna. Le asignamos una memoria de 1024 MiB y un espacio de disco de 10 GiB. Simplemente le conectamos la ISO de vyOS que podéis descargar de aquí.

Una vez arranca el sistema, entramos user: vyos password: vyos y procederemos a instalar el el sistema mediante el comando:

install image

Seguiremos las instrucciones y al finalizar, desconectamos la ISO de la máquina virtual y la reiniciamos.

Configuración de las interfícies y del sistema

El siguiente paso será configurar las interfícies. En este ejemplo configuraré eth0 con 192.168.2.30, eth1 con 192.168.20.254 (que corresponde a la puerta de enlace de la LAN) y eth2 con 192.168.120.254 (para la puerta de enlace de la DMZ).

Para configurar vyOS hay que entrar en el modo edición con el comando configure

set interfaces ethernet eth0 address 192.168.2.20/24

set interfaces ethernet eth1 address 192.168.20.254/24

set interfaces ethernet eth2 address 192.168.120.254/24

commit

Para confirmar los cambios habrá que introducir el comando commit.

A continuación, configuraremos el sistema para que se pueda comunicar con el router que le dará acceso a Internet (en mi caso 192.168.2.254).

set system gateway-address 192.168.2.254

set system name-server 8.8.8.8

commit

Es muy importante recordar que para que los cambios sean permanentes, deberemos guardarlos antes de salir del modo edición, con el comando save.

Configuración NAT

Como queremos simular que la máquina virtual vyOS se comporte como el router-firewall de un sistema, configuraremos la traducción de direcciones (NAT) tal como sería necesario hacerlo para salir con una sola IP pública. Si quisieramos que simplemente actuara como un firewall sin NAT, tendríamos que configurar el enrutamiento.

En primer lugar configuramos el NAT de salida para permitir que tanto la LAN como la DMZ puedan conectarse al exterior.

set nat source rule 1 outbound-interface eth0

set nat source rule 1 source address 192.168.20.0/24

set nat source rule 1 translation address masquerade

set nat source rule 2 outbound-interface eth0

set nat source rule 2 source address 192.168.120.0/24

set nat source rule 2 translation address masquerade

commit

A continuación configuramos el NAT de entrada para permitir que la DMZ reciba conexiones entrantes, en este caso para el puertos 443.

set nat destination rule 1 inbound-interface eth0.

set nat destination rule 1 protocol tcp

set nat destination rule 1 destination port 443

set nat destination rule 1 translation address 192.168.120.1

commit

Guardamos las configuraciones realizadas y comprobamos el correcto funcionamiento del entorno, donde tendremos una máquina cliente con IP 192.168.20.1 y un servidor Ubuntu con Apache configurado para funcionar con https y servicio ssh instalado, con IP 192.168.120.1.

Desde el cliente y servidor se debe poder tener acceso a Internet. Por otro lado, desde otra máquina de la red 192.168.2.0/24 deberíamos poder conectarnos a nuestro servidor web introduciendo la IP del router (192.168.2.20).

Configuración firewall: ejemplos sencillos

Las reglas básicas del firewall son DROP o REJECT para descartar o rechazar un paquete o ACCEPT para dejarlo pasar. Por ejemplo podemos pensar en un primer cortafuegos que permita salir todo el tráfico hacia Internet excepto a una dirección concreta. Lo aplicaremos sobre la interfície eth0:

set firewall name FW0OUT default-action accept

set firewall name FW0OUT rule 1 action drop

set firewall name FW0OUT rule 1 destination address 136.243.172.77

commit

Si quisiéramos incluir más reglas, simplemente se irían añadiendo condiciones rule 2, rule 3, etc.

Por ejemplo, una segunda regla para impedir conexiones FTP hacia el exterior desde la DMZ y la LAN:

set firewall name FW0OUT rule 2 action reject

set firewall name FW0OUT rule 2 protocol tcp

set firewall name FW0OUT rule 2 destination port 21

commit

Ahora queda aplicar el firewall definido sobre la interface correspondiente (aquí es de mucha utilidad usar el criterio de nombre mencionado antes):

set interfaces ethernet eth0 firewall out name FW0OUT

commit

Ahora solo quedaría comprobar el funcionamiento correcto del firewall, haciendo pruebas desde los equipos virtuales.

En el siguiente post, veremos más configuraciones del firewall.

Instalando Office 2010 en Linux Mint 18.1

Tal vez, una de las barreras para trabajar con un sistema operativo Linux sea que no podamos ejecutar aplicaciones que cotidianamente utilizamos con sistemas operativos Windows, como, por ejemplo, la suite Office de Microsoft.

Si las alternativas de Office online y de Libre Office no nos acaban de convencer, disponemos de diferentes soluciones para ejecutar una aplicación de Windows sobre Linux. Pese a que popularmente podríamos recurrir a virtualizar un entorno Windows mediante las populares herramientas VirtualBox o VMWare, en el presente artículo evaluamos el resultado de la instalación del paquete Office 2010 sobre la popular distribución Linux Mint 18.1, utilizando dos herramientas gratuitas (wine y playonlinux) y una de pago (crossover).

Instalación mediante wine (exitosa pero no perfecta):

En el propio site de wine, podremos observar la presencia de una lista de aplicaciones soportadas, y la evaluación de su instalación mediante dicha herramienta. Optamos por la suite en su versión 2010, tras analizar el resultado de las diferentes distribuciones, siendo ésta la versión más actual con comportamiento estable (descartamos 2007, por la falta de disponibilidad de ciertas funcionalidades, que sí que disponíamos con la versión 2010). La situación actual de la evaluación del rendimiento la podemos ver en el siguiente enlace: https://appdb.winehq.org/objectManager.php?sClass=application&iId=31

Tras el análisis de la información de rendimiento de las versiones en dicho site, como de la experiencia de diferentes usuarios, decidimos ‘jugar seguro’ y probar instalar la versión de 32 bits de la aplicación.

Hechas las elecciones, decidimos ponernos manos a la obra, basándonos en el procedimiento seguido en los siguientes sites:

https://www.dizwell.com/wordpress/technical-articles/linux/install-office-2010-on-ubuntu-16-04/

http://ubuntuhandbook.org/index.php/2017/01/install-wine-2-0-ubuntu-16-04-14-04-16-10/

Tras completar los pasos, conseguimos instalar la aplicación de forma exitosa. Aunque la interacción con la suite es correcta, y existiendo algunas dificultades con la visualización de algunas opciones, o por ejemplo, con la selección rápida del idioma del documento en el pie de la aplicación Word, la molestia principal la localizamos en que para cada nueva ejecución de una de las aplicaciones, se vuelve a iniciar el asistente de instalación de la suite, como si previamente no se hubiese instalado la aplicación. Considerando el resultado no perfecto, disculpadnos si no ponemos los pasos detallados, y nos centramos en los casos que nos aportan un resultado satisfactorio.

Instalación mediante playonlinux (exitosa, con buenos resultados):

Tras el resultado en gran parte exitoso observado en la instalación con Wine, decidimos probar si con playonlinux podemos instalar de forma satisfactoria la suite, y si con esta aplicación, solventamos el problema de que se inicie el instalador cada vez que inicialicemos una aplicación de la suite. El resultado en este caso es satisfactorio, observando también una leve mejora en la representación de alguna de las funcionalidades de la aplicación.

Seguimos los pasos indicados en el siguiente enlace, decidiendo comprobar si el procedimiento aplicado a una versión más nueva de Linux Mint sigue siendo válido:

https://sysads.co.uk/2014/02/07/install-ms-office-2010-linux-mintubuntu-playonlinux/

Los comandos que de forma particular hemos utilizado son los siguientes:

  • Preparamos el entorno para que ejecute la aplicación en 32 bits: sudo dpkg –add-architecture i386
  • Añadimos el repositorio desde donde nos descargaremos los paquetes necesarios: sudo add-apt-repository ppa:wine/wine-builds
  • Actualizamos los paquetes disponibles: sudo apt update
  • Instalamos wine y los paquetes recomendados: apt install –install-recommends winehq-staging
  • Instalamos winetricks, para que nos permita descargar posteriormente librerías que puedan ser necesarias para ejecutar las aplicaciones basadas en Windows: sudo apt install winetricks
  • Instalamos curl, un port de 7zip y winbind: sudo apt install curl ; sudo apt install p7zip-full ; sudo apt install winbind .
  • Finalmente, instalamos playonlinux: sudo apt install playonlinux

Una vez instalada la aplicación, insertamos el DVD de instalación del paquete Office, y accedemos al botón ‘Office’ de la aplicación PlayOnLinux. En la lista de aplicaciones escogemos Office2010 (figura 1), y tras entender lo indicado en la pantalla de instalación, de que no alteremos la unidad C: que en el programa de instalación nos indicará, se iniciará un asistente para la instalación de la aplicación (figura 2).

Figura 1
Figura 2

La misma aplicación descargará la versión de Wine que necesite, y la correspondiente versión del paquete wine-mono, que es una implantación del framework de .NET. A partir de aquí, se nos iniciarán las pantallas del asistente clásico de instalación de Office, donde nos pedirán la clave del producto (figura 3), y posteriormente las opciones de instalación del paquete (típica, personalizada). Si todo funciona como se esperaba, observaremos el mensaje de confirmación de que la instalación ha sido satisfactoria (figura 4).

Figura 3
Figura 4

Instalación mediante crossover (exitosa, con buenos resultados):

La empresa codeweavers, comercializa una solución comercial denominada crossover, pensada para ejecutar aplicaciones de Windows en entornos Mac y Linux. La descripción de la aplicación y las instrucciones para su descarga las podemos localizar aquí: https://www.codeweavers.com/products/crossover-linux

Con dicha solución, podremos instalar el Office 2010 sin inconvenientes, de una manera muy sencilla e intuitiva. La solución es de pago, pero podemos descargar una versión de evaluación de 15 días. Si realmente no disponemos de mucho tiempo disponible, y deseamos un resultado rápido y con el soporte de una empresa, no deberíamos descartar esta opción.

Para la instalación del paquete, deberemos solicitar la demo en el formulario disponible. Ello nos permitirá descargarnos un paquete .deb, que podemos instalar con el comando gdebi. A partir de aquí, la aplicación nos permitirá instalar en un ‘contenedor’ (denominado ‘bottle’ para la aplicación), y tras el proceso de instalación, podremos ejecutar la aplicación con un buen resultado.

Autor: Josep Lluís Torres