domingo, 15 de agosto de 2021

FirewallD en Debian 11, enrutador casero

 FirewallD en Debian 11

    FirewallD es el software que nos ayuda a realizar la tarea que deseamos, en este caso que una Máquina con un sistema operativo actúe como una puerta de enlace y sea un enrutador, por defecto FirewallD no es el firewalld por defecto en Debian, pero esta disponible en los repositorios oficiales y podemos agregar luego de la instalación de Debian 11, posteriormente configuramos según nuestro requerimiento.

Instalación de Debian 11 en modo texto

    Puedes ver nuestro tutorial en nuestro canal, la instalación es sin interfaz gráfica, una instalación sin consumir recursos de nuestro equipo, el video está AQUÍ.

Nuestro escenario

    Tenemos tres interfaces de red, cuyo nombre de cada interfaz depende del equipo donde se instala el sistema operativo, en mi caso se nombran como se muestra:

  • enp0s3 > interfaz conectada a tu modem/router de tu proveedor de internet cuya ip es 192.168.1.5/24.
  • enp0s8 y enp0s9 > son interfaces para ser conectadas a dos switches ethernet, son dos segmentos de red distintos y son 192.168.2.5/24, 192.168.3.5/24 respectivamente.

Instalar FirewallD en Debian 11

    Como super usuario debemos ejecutar el siguiente comando para agregar el software desde los repositorios de Debian.

#apt-get install firewalld

    Automáticamente el servicio ya se inició y agregó todo lo necesario como el software iptables, de aquí en adelante solamente necesitamos configurar, como haremos en el siguiente apartado.

Consultar si FirewallD está "corriendo"

#firewall-cmd --state

#systemctl status firewalld.service

    Nos muestra como resultado "running" o "active", eso significa que si está iniciado el servicio.

Cambiar la interfaz enp0s3 a la zona "external" y enp0s8, enp0s9 a la zona "internal"

    Agregamos --permanent para que se guarde de forma permanente.

#firewall-cmd --change-interface=enp0s3 --zone=external --permanent

#firewall-cmd --change-interface=enp0s8 --zone=internal --permanent

#firewall-cmd --change-interface=enp0s9 --zone=internal --permanent

Luego de ejecutar dichos comandos debe mostrar el mensaje "success", significa que todo está bien.

Zona por defecto

    Por defecto la zona es "default", nosotros no deseamos esa zona, entonces la zona por defecto será "internal"

#firewall-cmd --set-default-zone=internal

No es necesario agregar otro parámetro como tal vez --permanent.

Recargar FirewallD

    En Debian 11 y derivados es necesario recargar los comandos para que tomen efecto, lo realizamos con el siguiente comando.

#firewall-cmd --reload

Comandos útiles a consular

#firewall-cmd --list-all    #Lista un resumen por defecto
#firewall-cmd --get-active-zones    #Lista las zonas activas
#firewall-cmd --get-zones                #Lista todas las zonas en firewalld
#firewall-cmd --list-all --zone=external    #Lista la zona externa

Comprobar en clientes en segmentos de red

    Para un cliente que esté conectado al segemento 192.168.2.0/24, como puerta de enlace debe ser 192.168.2.5/24, cuya ip es la de la interface enp0s8 en Debian 11, de igual manera para el otro segmento, debe escribir como puerta de enlace 192.168.3.5/24, con su respectivo servidor DNS ya debe resolver nombres y salir a internet "atravezando" el servidor Debian.

    Puedes utilizar la herramienta ping para verificar que ya tienes salida a otras subredes, no necesitas hacer nada más, FirewallD ya realiza todo lo necesario y de aquí en adelante si deseas añadir servicios a zonas específicas lo realizas utilizando a FirewallD, será en otro tutoriales donde realizamos otros servicios, suscribirse a mi canal de Youtube, habrá novedades cada cierto tiempo, saludos cordiales.

domingo, 8 de agosto de 2021

FreeBSD 13 y Xfce, entorno de escritorio completo

 FreeBSD 13 es un sistema operativo tipo unix-like, un poderoso sistema operativo para uso servidor y también para uso de escritorio.

En nuestra entrada actualizaremos los apuntes realizados en fechas anteriores, se corrigieron algunos procedimientos, algunos no son necesarios, por tanto les presento el nuevo "how to" 😁😂

1.- Instalación del sistema operativo: si tu computadora tiene disco duro con esquema de particionamiento MBR entonces escoge dicha opción (para computadores antiguos); si tu computadora es medianamente moderna escoges el esquema de particionamiento GPT.

Aquí el video de la instalación para mi caso, MIRA EL VIDEO.

2.- FreeBSD se instaló por defecto sin interfaz gráfica, entonces debemos de construir nuestro entorno de escritorio. ¿Qué entorno debo usar? La respuesta es depende, en mi caso usaré el entorno de escritorio Xfce, porque es liviano.

Como usuario root o super usurio debes ejecutar los comandos siguientes:

$su -

Ingresas tu contraseña de superusuario

#pkg update

Al no tener instalado la herramienta de administración de paquetes binarios el sistema operativo detecta que no existe y te invita a instalar dicho paquete, procedes a aceptar con y.

Se actualizó la base de datos y ya podemos usar pkg de aquí en adelante, no usaremos y NO podemos usar otro gestor de paquetes, no es necesario porque pkg será suficiente y cumplirá nuestro objetivo para agregar software.

3.- Instalando el entorno xfce

#pkg search xfce | more

Con el comando de arriba miramos los resultados y encontramos a xfce, pero no encontramos a xfce-extras como en los entornos NetBSD y OpenBSD, aquí no existe dicho paquete, por tanto solamente agregamos xfce y posteriormente algún plugin xfce4, según requerimiento.

#pkg install xfce

Debemos escribir en el archivo /etc/rc.conf la siguiente línea (1) para que inicie el entorno xfce.

#echo 'dbus_enable="YES"' >> /etc/rc.conf

4.- Agregando XORG: para tener un entorno gráfico FreeBSD utiliza a xorg, por defecto no lo agrega como dependencia de xfce, es necesario agregar manualmente.

#pkg install xorg

5.- Agregamos el software para crear nuestros directorios de usuario

#pkg install xdg-user-dirs

Nos cambiamos a usuario sin privilegios de administrador para crear nuestros directorios

#exit

Ejecutamos el comando para construir nuestros directorios de usuario (Documents, Downloads, etc.)

$xdg-user-dirs-update

6.- Podemos agregar más software para tener un entorno completo

Navegador web ligero epiphany, con search puedes buscar más paquetes, como firefox, vlc, libreoffice, openoffice, etc.

#pkg install  epiphany

7.- Indicamos el comando a ejecutarse para poder "levantar" xfce (1)

Como usuario sin privilegios de administrador creamos un archivo or file:

$touch .xinitrc

Escribimos el comando, con dicho comando al utilizar startx en la línea de comandos inciará el entorno xfce, el archivo .xinitrc no necesita cambiar a archivo ejecutable.

$echo '. /usr/local/etc/xdg/xfc4/xinitrc' > .xinitrc

Reinicias el sistema operativo y cuando estamos en:

$startx

Debe iniciar la gráfica xfce sin problemas.

 

8.- Traducimos al idioma Español todo el entorno xfce de la siguiente manera (2).

 Editamos el archivo .profile que ya existe en nuestro directorio /home/miusuario

Antes de escribir miramos soporte para el idioma Español con el comando

$locale -a | grep es_ES

Observamos tres opciones y escogemos la primera

$vi .profile

Escribimos las dos líneas en negrita en la parte superior, entre los comentarios:

#Translate xfce

LANG=es_ES.ISO8859-1; export LANG

MM_CHARSET=ISO-8859-1; export MM_CHARSET

Reiniciamos el sistema

#reboot

$startx

Y debes observar el entorno xfce completamente en Español, no hay más que hacer.


 8.1.- Habilitamos los botones reiniciar y apagar en Xfce
 
 Observas que los botones reiniciar y apagar no están activos, entonces necesitamos crear un archivo con las instrucciones, como habrás observado luego de agregar el paquete xfce, mostró un mensaje relacionado a este detalle, lo completamos de la siguiente maneras:
Buscamos la ruta donde debemos crear el archivo polkit, en xfce ese directorio contiene lo que necesitamos, en FreeBSD se llama polkit-1

#find / -iname polkit

Nos muestra un resultado y por ahi aparece polkit-1, nuevamente

#find / -iname polkit-1

La ruta está en /usr/local/etc/polkit-1/rules.d, en dicho directorio encontramos un rchivo default, donde nos indica que no debemos editar, en FreeBSD no existe un archivo de ejemplo como en NetBSD, entonces creamos y escribimos:


#touch 50-shutdown.rules
#vi 50-shutdown.rules
Agregamos lo siguiente:

polkit.addRule(function (action, subject) {
        if ((action.id == "org.freedesktop.consolekit.system.restart" ||
        action.id == "org.freedesktop.consolekit.system.stop" ||
        action.id == "org.freedesktop.consolekit.system.suspend" ||
        action.id == "org.freedesktop.consolekit.system.hibernate")
        && subject.isInGroup("wheel")) {
            return polkit.Result.YES;
        }
});

 ¿Te das cuenta del usuario wheel? Es necesario 😀

Ahora observamos que ya funciona el botón de reiniciar y apagar.


9.- Instalamos un gestor de login llamado slim

Esto es opcional, pero interesante, se advierte que slim al ingresar al entorno xfce no toma el idioma Español que hemos traducido, lee desde /usr/local/etc/slim.conf donde observamos que se conecta con /etc/login.conf por defecto, se ha escrito líneas  de (2), pero no ha funcionado, algo más se tiene que modificar, si lo encuentras comenta please!

Como super usuario ejecuta los comandos

#pkg search slim

Observas que hay paquete y existe themes

#pkg install slim

Agregas otra línea al archivo /etc/rc.conf

#echo "slim_enable=yes" >> /etc/rc.conf

9.1.- Agregas themes de FreeBSD

#pkg install slim-themes slim-freebsd-themes

9.2.-Modificas el theme por default

Veamos la ruta del archivo slim.conf con el comando lo encuentras:

#find / -iname slim.conf

La ruta es /usr/local/etc/slim.conf

#vi /usr/local/etc/slim.conf 

Buscas la línea siguiente:

current_theme    default

cambias por:

current_theme    fbsd

O cualquiera que observas en la ruta de themes /usr/local/share/slim/themes 

#find / -iname slim

La ruta para los themes /usr/local/share/slim/themes

10.- Reinicias el sistema y ya muestra el login de slim con el theme seleccionado.

11.- cambiamos el idioma del teclado a Español 

En Xfce, a pesar de indicarle en la instalación que sea es no lo toma, pero por interfaz gráfica lo podemos cambiar, pero para eso necesitamos el siguiente paquete

Update: You do not need to add this package, no es necesario instalar este paquete.

#pkg install xfce4-xkb-plugin

Procedemos así: Aplicaciones>Configuración>Gestor de Configuración>Teclado y buscamos la pestaña distribución, Activamos Usar los valores predeterminados del Sistema, luego añadir, enseguida buscamos Español y aceptamos, luego eliminamos us, nuestro teclado ahora si responde tal cual a nuestras etiquetas en nuestro teclado, podría ser teclado español, latinoamericano, ingles (estados unidos) o inglés (reino unido), es importante tener bien configurado nuestro teclado, puedes probar abriendo un editor de texto y escribir los caracteres de tu teclado, debe responde tal cual son las letras.


En mi canal de Youtube tengo una serie de tutoriales acerca de esta entrada, espero que te haya gustado y visita mi canal y suscribirse, saludos cordiales a todos. 👦

Fuentes seguidas para el tutorial:

(1) https://docs.freebsd.org/en/books/handbook/x11/#x11-wm

(2) https://docs.freebsd.org/en/books/handbook/l10n/#using-localization

lunes, 2 de agosto de 2021

Interfaces de red ethernet en CentOS Linux 8, Alma Linux, Rocky Linux, Navy Linux y RHEL 8

 En entornos RHEL y todos sus clones a nivel binario, incluido Fedora Linux, tiene a un administrador de todas las interfaces sea ethernet o wifi, nos referimos a NetworkManager que en la versión 8 administra por completo a las interfaces de red, sea en uso de escritorio o en entornos servidor, la página donde se documenta todo lo relacionado menciona el uso de NetworkManager usando la interfaz gráfica o en línea de comandos (nmcli), entonces veamos un "cómo" acerca de dicho software.

Para ver todas las interfaces de red de datos podemos usar el comando:

$ip addr

Para ver una interfaz en específico, en el ejemplo enp0s3 es una interfaz de red de datos:

$ip addr emp0s3

Para poder ver las interfaces en resumen sin mostrar detalles de parámetros de red (aquí se muestra la funcionalidad de nmcli):

$nmcli con show


Extensiones php en FreeBSD 14 para PhpSysinfo, PhpMyAdmin y Simple Machines Forum

 En FreeBSD 14 ocurre algo especial, por defecto no se activa las extensiones PHP para los softwares como PhpSysinfo, PhpMyAdmin ySimple mac...