jueves, 28 de marzo de 2019

Preguntas Frecuentes #2: Cómo instalo VirtualBox Guest Additions y GNOME en CEntOS/RHEL/OL 7?

Nuevamente, para evitar más mensajes por WhatsApp preguntando lo mismo, o al menos para evitar el eterno Copy&Paste, he decidido colocar esto en el blog, y que lo disfruten los que me lo preguntan.
Para instalar las VirtualBox Guest Additions y GNOME en un CEntOS/RHEL/OL 7, se deben seguir estos pasos, a saber (todo lo que está en letra Courier, son comandos a ejecutar como root en una terminal):

GNOME: 

yum -y groups install "GNOME Desktop"
startx

Cuando inicie el entorno gráfico, se debe elegir:


  • Idioma del sistema.
  • Tipo de teclado.
  • Servicios de Localización (parte de la invasión a nuestra privacidad), en Off.
  • Si no se van a agregar cuentas online (redes sociales, y demás invasores de nuestra máquina) sencillamente saltar este paso siguiente
  • Start using CentOS Linux


Listo, entorno gráfico instalado. Ahora vamos a poder las VirtualBox Guest Additions:


  • yum install perl gcc dkms kernel-devel kernel-headers make bzip2
  • En la ventana de VirtualBox seleciconamos "Devices" -> "Insert Guest Additions CD image".
  • Llega la pregunta sobre si queremos o no ejecutar lo que hay en la unidad insertada. Decimos "Ejecutar", o "Run".
  • Puede que la pantalla haga un par de flickeos, o que esté un rato funcionando de forma rara. A no asustarse, está modificando e instalando drivers, entre ellos los de video.  Si no vuelve a la normalidad, tomamos un café, y en 10 minutos volvemos, y presionando Ctrl-Alt-F2 llegamos a una terminal donde podemos, entre otras cosas, ejecutar "reboot".
  • Presionamos Enter y se cierra la ventana donde estaba en ejecución. 


No fue tan difícil, no?

Enjoy!

sábado, 23 de marzo de 2019

Preguntas Frecuentes: Cómo armo un DNAT en CEntOS/RHEL/OL 7?

Harto de recibir siempre la misma pregunta, me decidí a dejarla por escrito, como para que cuando reciba esos mensajes de WhatsApp a las 7 AM de personas al borde del ataque de nervios por no poder configurar un DNAT en CEntOS/RHEL/OL 7, pueda hacerles una DNAT a este blog.
Supongamos una máquina CEntOS/RHEL/OL 7, que posee dos tarjetas de red.
La primera, apuntando a Internet, con una dirección IP pública, y la segunda apuntando a la red interna. En dicha red interna tenemos un web server corriendo en el puerto 80 que queremos, sea visto desde el mundo exterior, pero por el puerto 10080, sin cambiar el puerto interno 80.
En este caso, debemos configurar un DNAT desde el puerto 10080 de la interfaz externa (enp0s3) hacia el puerto 80 de la máquina interna a través de la interfaz interna (enp0s8).
Veamos cómo tenemos configurado nuestro firewalld, ese módulo que nos permite configurar el firewall en nuestro equipo, desde la línea de comandos:

[root@centos7 ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2019-03-23 01:08:07 -03; 12s ago
     Docs: man:firewalld(1)
 Main PID: 2401 (firewalld)
   CGroup: /system.slice/firewalld.service
           └─2401 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid

Mar 23 01:08:05 centos7.hecsa.com.ar systemd[1]: Starting firewalld - dynamic firewall daemon...
Mar 23 01:08:07 centos7.hecsa.com.ar systemd[1]: Started firewalld - dynamic firewall daemon.
[root@centos7 ~]#

Efectivamente, está en ejecución. Veamos qué tiene configurado: 

[root@centos7 network-scripts]# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: enp0s3 enp0s8
  sources:
  services: ssh dhcpv6-client
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

[root@centos7 network-scripts]#

Esta zona es la adecuada? Veamos: 

[root@centos7 network-scripts]# firewall-cmd --get-default-zone
public
[root@centos7 network-scripts]#

Vamos bien, Fidel...

Ahora, crearemos la regla para permitir el forwardeo: 

[root@centos7 network-scripts]# firewall-cmd --permanent --zone=public --add-masquerade
success
[root@centos7 network-scripts]# firewall-cmd --permanent --zone="public" --add-forward-port=port=10080:proto=tcp:toport=80:toaddr=10.200.200.10
success
[root@centos7 network-scripts]# firewall-cmd --reload
success
[root@centos7 network-scripts]#

Veamos si todo está bien: 

[root@centos7 network-scripts]# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: enp0s3 enp0s8
  sources:
  services: ssh dhcpv6-client
  ports:
  protocols:
  masquerade: yes
  forward-ports: port=10080:proto=tcp:toport=80:toaddr=10.200.200.10
  source-ports:
  icmp-blocks:
  rich rules:

[root@centos7 network-scripts]#

Como hemos visto, el servidor interno que tiene el http server en el puerto 80 es el que tiene la dirección IP 10.200.200.10.

Listo, en el momento en el que nuestro navegador apunte a la dirección externa:10080, entonces seremos redireccionados a 10.200.200.10:80.

Enjoy!