lunes, 29 de noviembre de 2021

Arch Linux 2021 UEFI / GPT con XFCE y LXDM

  En esta entrada mostramos todos los pasos para tener Arch Linux con el entorno de escritorio XFCE y el gestor de login LXDM, también se utiliza el modo de inicio UEFI, las particiones son GPT en el esquema de particiones del disco, espero que te agrade el tutorial, los pasos han sido probados en su totalidad, solamente debemos seguir tal cual.

 

Utilizaremos a VirtualBox para simular todo el procedimiento, para lo cual en VirtualBox elegimos en Configuración>Sistema>Características extendidas>efi

1. descargar la imagen .iso desde algún servidor en internet, desde aquí puedes descargar.

2. hacemos iniciar el sistema operativo desde USB o DVD, en nuestro caso seleccionamos la ruta en virtualbox para ubicar la imagen .iso de Arch Linux.

3. estamos en la terminal con privilegios root (el prompt tiene esta forma #) y procedemos a realizar verificaciones.

#ip addr    //esta opción nos permite observar las interfaces, con sus parámetros, observamos que ha detectado un servidor dhcp a la interfaz ethernet y ya tenemos ipv4, pero si no tuviéramos utilizamos el gestor de redes systemd-networkd y systemd-resolved y le asignamos una IPv4 estática, en una de mis entradas tengo cómo poner ip, entonces no dependemos de NetworkManager en este caso, NetworkManager es muy buen software pero no viene en la base de Arch Linux, se tendría que añadir.

4. verificamos los servicios de red y miramos los archivos.

#systemctl status systemd-networkd

#systemctl status systemd-resolved

#ls /etc/systemd/network    //ahí están tres archivos, para interfaz ethernet (nuestro caso) está por dhcp.

5. probamos conectividad luego de ya observar que tenemos una ipv4 (ip addr)

#ping -c 3 archlinux.org    //ya salimos a otras redes, internet.

 6. tenemos conexión y estamos preparados para añadir paquetes desde internet, en este caso estamos usando red cableada y usamos un servidor dhcp para que nos proporciones ip y servidor dns, sino hubiera dicho servicio se tiene que escribir una ip en el archivo que he mencionado en /etc/systemd/network, más adelante cuando tengamos Arch Linux funcional al hacer reboot e ingresar por primera vez, no tendremos conexión a internet y ahí si o si configuramos la ip estática. No hemos necesitado utilizar el comando ip link.

7. la terminal debe configurarse para nuestro teclado, en mi caso es español nativo, no es latino americano, son cosas diferentes.

#loadkeys es    //puedes mirar los teclados disponibles con ls /usr/share/kbd/keymaps/**/*.map.gz | more

8. como trataremos con boot mode uefi debemos verificar, y confirmaremos que será nuestro modo de inicio.

#ls /sys/firmware/efi/efivars    //en nuestro caso exiten los directorios

9. habilitamos el protocolo ntp

#timedatectl set-ntp true

10. para particionar el disco utilizaremos la herramienta que nos proporciona Arch Linux, cfdisk, no nos complicaremos con fdisk.

#cfdisk

Se nos muestra una interfaz tipo ncurse o algo así, seguimos las indicaciones:

GPT=>New, escribimos 350M, luego TYPE=>efi system y luego escribes =>WRITE y escribes yes. Ya hemos creado la partición primaria para efi.

NEW, escribimos 1G, luego TYPE=> Linux Swap, =>WRITE y escribes yes. Ya hemos creado la partición swap.

NEW=> Aceptamos el tamaño que nos sugiere, es lo que queda, aproximadamente 7.7G, TYPE=>Linux root (x86-64), =>WRITE y escribes yes. Ya tenemos la partición root.

Es lo que se recomienda, se puede crear más particiones como por ejemplo /home, entre otros, pero en nuestro caso no necesitamos otras particiones, todas están por defecto bajo /.

11. damos formato a nuestras particiones

Ojo, nuestro esquema de particiones son sda1 para efi system, sda2 para swap y sda3 para root; nuestro disco se visualiza como sda

#mkfs.ext4 /dev/sda3

#mkswap /dev/sd2

#mkfs.fat -F 32 /dev/sda1

12. montamos los sistemas de archivos

#mount /dev/sda3 /mnt

Es hora de crear el directorio importante en /mnt/boot/efi

#mkdir -p /mnt/boot/efi    //-p porque no existe boot/efi, va a crear dos directorio al mismo tiempo.

#mount /dev/sda1 /mnt/boot/efi

#swapon /dev/sda2

13. instalaremos software.

#pacstrap /mnt base linux linux-firmware vi vim nano efibootmgr man-db man-pages grub net-tools texinfo

Marco en rojo al software efibootmgr, es importante cuando se instalará grub.

14. configuramos el sistema

#genfstab -U /mnt >> /mnt/etc/fstab

#cat /mnt/etc/fstab    //observas

ingresamos con chroot

#arch-chroot /mnt    //el prompt cambia

Zona horaria

#ls -sf /usr/share/timezone/America/Lima /etc/localtime

#hwclock --systohc

Localización

#vim /etc/locale.gen    //descomentar la línea es_PE.UTF-8, en tu caso puede variar, hay muchas localizaciones.

#locale-gen

#date    //ya tenemos nuestra hora correcta

Creamos 2 archivos para hacer permanente nuestro idioma y nuestro teclado.

#touch /etc/locale.conf

#touch /etc/vconsole.conf

Escribimos en dichos archivos

#echo 'LANG=es_PE.UTF-8' > /etc/locale.conf

#echo 'KEYMAP=es' > /etc/vconsole.conf

Nombre a nuestro sistema, en nuestro caso será un nombre completo, un fqdn.

#echo 'server01.intranet.edu' > /etc/hostname

Escribimos en el archivo /etc/hosts

#vim /etc/hosts    //ip4 e ipv6 para localhost, nuestra ipv4 al nombre completo

127.0.0.1    localhost

::1               localhost

192.168.1.7    server01.intranet.edu    server01

Password (contraseña) para root (super usuario)

#passwd

Creamos usuario dentro del grupo wheel (para usar sudo)

#useradd -m -G wheel edgar    //algo curioso, que recuerde era adduser, pero aquí no reconoce :o, entonces usamos useradd.

#passwd edgar

15. configuramos grub, recuerdas que ya lo agregamos junto con la base 😀

#grub-install --efi-directory=/boot/efi --target=x86_64-efi /dev/sda

Pues si, le indicamos la ruta (ya existe, con tecla tabulador se autocompleta) y el disco, no particiones.

Deberíamos ver un mensaje luego de presionar enter que dice, no error reported

Pasamos lo más difícil 😃

#grub-mkconfig -o /boot/grub/grub.cfg

#exit

#umount -R /mnt

#reboot now

Iniciará Arch Linux configurado, pero sin interfaz gráfica, pero reitero ya esta completo y funcional, debemos ver a grub y luego autenticarnos.

16. ya hemos iniciado y estamos en la terminal, pero oh sorpresa, no tenemos conexión a internet, nuestra interfaz ethernet se muestra, pero sin ipv4, no preocupes que ya tenemos a systemd en la base y solamente falta iniciarlo 😀

#ip addr    //sin ipv4

#systemctl enable --now systemd-networkd

#systemctl enable --now systemd-resolved

Creamos el archivo para escribir una ipv4 en el segemento de red que tengas.

#touch /etc/systemd/network/20-wired.network

#vim /etc/systemd/network/20-wired.network

[Match]

Name=enp0s3

[Network]

Address=192.168.1.7/24

Gateway=192.168.1.1

DNS=1.1.1.1 1.0.0.1

#systemctl restart systemd-networkd

#networkctl list    //debes leer enp0s3 routable and configured

#resolvectl status    //debes leer los servidores dns escritos arriba (1.1.1.1 y 1.0.0.1)

#ping -c 3 archlinux.org    //debe responder el dominio y ya estamos resolviendo de nombre a ipv4.

#reboot now    //para comprobar que al iniciar ya todo relacionado a red de datos está ok.

17. que te parece si agregamos nuestro entorno de escritorio xfce, pero necesita de xorg (sistema de ventanas), también agregaremos otros, veámos.

#pacman -S xorg    //si, ahora el gesto de paquetes es pacman -S

#pacman -S pulseaudio    //para manipular el audio

#pacman -S xfce4 xfce4-goodies    //entorno completo de xfce

#pacman -S lxdm    //gestor de ingreso

#pacman -S audacious vlc firefox sudo papirus-icon-theme screenfetch neofetch

#pacman -S xdg-user-dirs    //para crear los directorios de un usuario

#exit

$pwd    //estas en el directorio de tu usuario

$xdg-user-dirs-update    //creas los directorios

$su -

18. editamos y habilitamos lxdm

#vim /etc/lxdm/lxdm.conf    //indicamos que inicie xfce con el binario xfce4

session=/usr/bin/startxfce4    //existe un ejemplo, se busca la línea que inicia con session.

#systemctl enable lxdm    habilitamos para que en inicio inicie.

19. habilitamos sudo

#EDITOR=vim visudo    //vamos a editar visudo, por defecto debería usar vi como editor de texto, pero vi no funciona bien en Arch Linux, por ello le indico que use a vim, vim es vi, pero con mejoras al usuario.

Descomentamos una línea que empieza %wheel    ALL=(ALL) ALL

Ya estamos listos para usar sudo.

$sudo pacman -S elinks    //debe pedir contraseña de usuario y luego poder instalar el paquete.

20. añadir nuestro nombre completo al usuario.

#vim /etc/passwd    //ubicas tu usuario y entre :: antes del directorio escribes.

Ya todo se ha completado, en el próximo reboot ya iniciará el gestor de inicio y luego xfce, gracias por leer hasta aquí, todo el contenido es de mi autoria, mencionando a continuación sitios de refrerencia.

¿Quieres ver como funciona? 

Mira el video.

Referencias: https://wiki.archlinux.org/title/installation_guide

domingo, 28 de noviembre de 2021

Cómo poner nombre a Fedora Linux 35 / openSUSE 15.3

 Luego de instalar Fedora posiblemente no haya visto la opción para escribir un nombre, pero podemos darle un nombre estático (static) y un nombre "bonito" (pretty) 👏, éste último aparece en entorno Gnome en el apartado "acerca de", entonces lo que podemos apreciar es que tiene un nombre que el instalador le ha dado.

Cambiemos el nombre a estático e ingresemos un "pretty" hostname 👍.

Paso 1: debemos ser root para poder cambiar el nombre.

#sudo -s

😀, ingresas tu strong password 👌

Paso 2: utilizamos al comando hostnamectl para un nombre estático

#hostnamectl set-hostname --static ns-01

Como aprecias no tiene espacios en blanco, ese nombre aparecerá en el archivo /etc/hostname, que muy bien pudiste usar vi o echo para escribir en dicho archivo.

Paso 3: ingresamos un nombre más descriptivo o "pretty"

#hostnamectl set-hostname --pretty "Edgar's Laptop"

Como se puede apreciar en el comando de arriba el nombre tiene espacio en blanco y debe ir entre comillas, dicho nombre aparece en "acerca" en "Configuración"

 Paso 4: para apreciar en el emulador de terminal los nombres y otra información ejecuta el comando

$hostnamectl

Para ver el nuevo nombre en el prompt en el emulador de terminal se debe cerrar el emulador de terminal y volver a abrir.

Válido para openSUSE 15.3, el procedimiento es el mismo.

Instalar complementos (plugins) para reproducir películas y música en Fedora 35

 Luego de instalar Fedora te das con la sorpresa que no puedes reproducir videos en el navegador Firefox, videos de Youtube si, pero de otros sitios web que proporcionan videos no, también puedes apreciar que no se reproducen videos con formatos propietarios, la razón es simple: Fedora te instala solamente software libre, para ampliar las prestaciones en software debemos añadir un repositorio adicional, no es un repositorio base de Fedora, sino es de "terceros", pero actualizado y con soporte para Fedora, el repositorio adional se llama RPM Fusion.

Pasos a seguir para instalar complementos y hacer que nuestro Fedora esté completo:

Paso 1: ir al sitio web de rpm Fusion y descargar los rpms free y no free y en el emulador de terminar instalar los paquetes.

$sudo -s

😁, ingresa tu password

#rpm -ivh rpmfusion-nonfree-release-35.noarch.rpm

#rpm -ivh rpmfusion-free-release-35.noarch.rpm

Paso 2: actualizar los repositorios, podemos hacer un update

#dnf update

😉

si deseas instalas los paquetes disponibles, pero lo importante es que el repositorio rpm fusion ya está preparado para poder agregar más software.

Paso 3: agregar los paquetes necesarios

#dnf install gstreamer1-plugins-{bad-\*,good-\*,base} gstreamer1-plugin-openh264 gstreamer1-libav --exclude=gstreamer1-plugins-bad-free-devel
 
#dnf install lame\* --exclude=lame-devel
 
#dnf group upgrade --with-optional Multimedia

Paso 4: abres nuevamente el navegador Firefox y visitas los sitios webs de videos que antes no podías reproducir, ahora si podrás 😃

Fuente: https://docs.fedoraproject.org/en-US/quick-docs/assembly_installing-plugins-for-playing-movies-and-music/

jueves, 25 de noviembre de 2021

Ipv4 estática en Arch Linux / Static Ipv4 on Arch Linux 2021

 Configurar una ipv4 estática es tan importante en algunos casos, sobre todo cuando el equipo tiene la función de servidor, encontrar al equipo con ip que se conoce es más fácil, entonces debemos conocer cómo se realiza, algunas veces no existe un servicio dhcp en la red de datos y debemos ingresar de forma manual la ipv4, esta entrada trata para interfaces ethernet, cableada pues 😀

Hemos podido ver que Arch Linux utiliza varios administradores o gestores para las interfaces de red y hay 2 que me llaman la atención y deseo aprender, uno es NetworkManager, como hemos visto en la anterior entrada, fue el gestor de conexión que nos ayudó para estar con conexión a internet, pero hay una limitante que yo he visto, no he visto los archivos de configuración, pero con la herramienta nmtui se puede hacer cosas muy interesantes, también como les comento me llama la atención el gestor de redes nativo, el que se incluye con la imgen iso se llama systemd-networkd y para servidores dns se utiliza systemd-resolved, ambos son servicios y deben habilitarse.

No debe utilizarse dos o más gestores de redes al mismo tiempo, entonces decidí parar y deshabilitar NetworkManager.

#systemctl stop NetworkManager

#systemctl disable NetworkManager

Habilitamos el servicio systemd-networkd

#systemctl enable --now systemd-networkd

Puedes listar las interfaces

#networkctl list

Como vez la primera vez no está configurada la interfaz enp0s3 que queremos utilizar.

No tenemos Ipv4, estamos desconectados, leyendo la documentación de Arch Linux, no indica que creemos un archivo, solamente nos indica la forma que tendrán y otros detalles, entonces yo he procedido así:

Paso 1: crear el archivo

#touch /etc/systemd/network/20-wired.network

Luego agrego parámetros

#vim /etc/systemd/network/20-wired.network


 Como se aprecia tengo dos ips en esa interface y tengo dos servidores dns públicos para resolver nombres a ip en internet.

Paso 2: cada vez que editamos el archivo debemos reiniciar el servicio

#systemctl restart systemd-networkd

Paso 3: miremos ahora la ip que tenemos, debe aparecer

#ip addr

Paso 4: ya tenemos ipv4, pero aún no resolvemos nombres a ip, debemos habilitar systemd-resolved

#systemctl enable --now systemd-resolved

podemos mirar los servidores que estamos utilizando

#resolvectl status

Ahí se ve nuestros servidores dns

Nota: el archivo /etc/resolv.conf aún mantiene la escritura de NetworkManager, pero no preocupe, el nuevo gestor de red hace un enlace y está utilizando dicho archivo, pero en otro lado.

Conclusión: prefiero utilizar la forma nativa, no necesita ser agregada desde la instalación, ya viene y no tiene gui, es editar archivos.

miércoles, 24 de noviembre de 2021

Habilitar sudo en Arch Linux 2021

 Ya tenemos nuestro sistema completo con gráfica, en el post anterior a este ya está Archi Linux completo, ahora nos falta habilitar a sudo, sudo permite que un usuario que está en el grupo wheel tenga privilegios de root, pero debemos indicarle.

#EDITOR=vim visudo

Por alguna razón vi (editor de texto) tiene un comportamiento extraño en Arch Linux, entonces utilizaremos a vim, es un vi más amigable 😀

Esta es la línea que debes descomentar:


Ahora ya podemos usar a sudo en Arch Linux

$sudo pacman -S elinks

Ingresas tu contraseña de tu usuario

Eso fue todo, espero que te haya gustado 😁

Instalación y configuración Arch Linux 2021 con login Lxdm y entorno Xfce

Hola estimado visitante al blog en esta entrada haremos un paso a paso de la distribución GNU/Linux Arch Linux, este sistema operativo no tiene un enfoque para servidor o desktop, ellos indican que es para el usuario, se construye manualmente todo, es la forma que utilizaremos, la tradicional, existe otras opciones, reiterando que aquí aprenderemos a construir de la forma tradicional, seguiremos la documentación de Arch Linux.

En la siguiente imagen mostramos el resultado final.


Alcances previos: el modo arranque o en English "boot mode" es en nuestro caso BIOS, no disponemos con equipo boot mode UEFI, pero en el portal web de Arch Linux hay los pasos para dicho modo de booteo.

Update: virtualbox tiene una opción para habilitar efi, en el próximo tutorial realizamos dicho modo de boot 😀

Objetivo: aprender a conocer que elementos son necesarios para construir el sistema operativo, dirigido a personas curiosas, con tiempo para instalar y configurar, este paso a paso simplificará la curva del aprendizaje a un usuario que ingresa al mundo GNU/Linux.

Guía seguida: https://wiki.archlinux.org/title/installation_guide

Desarrollo

Paso 1: descargar la imagen .iso desde la ruta https://archlinux.org/download/, escoger un país, si la descarga es lenta y sabes que tu internet no es lento, entonces escoge otro país como servidor de descarga.

Paso 2: grabar la imagen iso en un memoria USB o DVD, en mi caso uso VirtualBox y lo que hago es elegir el archivo .iso.

Paso 3: cambiar el teclado a la distribución que tengamos en hardware, en mi caso es español, podría ser latino americano, US o del reino unido, debes identificar tu teclado.

#loadkeys es

Puedes observar los teclados soportados con # ls /usr/share/kbd/keymaps/**/*.map.gz le añades | more y miras las variantes disponibles.

Paso 4: verificar la interfaz ethernet, en nuestro caso será cableada

#ip addr 

Observamos que ha detectado automáticamente un servidor dhcp en red y ya tiene una ipv4, luego verificar si hay salida a internet

#ping -c 2 archlinux.org

En nuestro caso ya responde, no es necesario utilizar algún comando como ip link, en nuestro caso. Se necesitará conexión a internet para conectarnos y agregar los paquetes binarios y construir nuestro entorno gráfico. Para asignarle ipv4 estática ya es otra situación, por ahora tenemos dhcp en red.

Paso 5: habilitamos un servidor ntp

#timedatectl set-ntp true

Paso 6: particionamos el disco duro, en nuestro caso se usará la herramienta disponible en Arch Linux cfdisk, no nos complicaremos.

#fdisk -l

Observamos nuestro disco duro con nombre sda de 8 GB.

#cfdisk



Press enter

Por default se selecciona id 83 y es correcto.

Escribir los cambios

 

Le decimos yes

Ahora vamos por el espacio libre para la memoria de intercambio swap

Por defecto lo que queda, mínimo dice 512 MB, superamos con creces.


Tenemos que cambiar el tipo


Hit enter :D

Escribimos los cambios con write y luego yes, ya está.



Paso 7: damos formato a nuestras particiones, sda1 partición root y sda2 partición swap

#mkfs.ext4 /dev/sda1

#mkswap /dev/sda2

#fdisk -l

Paso 8: montamos los sistemas de archivos

#mount /dev/sda1 /mnt

#mount /dev/sda2 /mnt

Paso 9: instalamos paquetes, por eso era fundamental tener conexión a internet

#pacstrap /mnt base linux linux-firmware nano vi vim grub networkmanager dhcpcd man-db man-pages texinfo

En este paso instalamos la base y el kernel, se puede agregar más paquetes, pero por ahora no agregamos otros, cabe resaltar aquí lo importante es el kernel, grub para el menu de inicio, luego el administrador de interfaces de red, la mayoría de GNU/Linux usan a NetworkManager como el servicio para administrar parámetros de red, lo necesitaremos; he agregado páginas man y editor de texto vi y vim, vi no funciona bien, vim será nuestro editor de texto por defecto, no me acostumbro a usar nano, es muy amigable nano, pero en muchos sistemas operativos unix-like vi es la base por defecto para editar texto.

Paso 10: configuramos el sistema

#genfstab -U /mnt >> /mnt/etc/fstab

Paso 11: nos cambiamos a root dentro del nuevo sistema

#arch-chroot /mnt

Paso 12:configuramos nuestra zona, soy de Perú 😀

#ln -sf /usr/share/zoneinfo/America/Lima /etc/localtime

#hwclock --systohc 

Paso 13: editamos /etc/locale.gen

#vim /etc/locale.gen

Buscamos la línea es_PE.UTF-8 y descomentamos, esc y :wq, según tu idioma puede ser diferente.

#locale-gen

#date

Ya está bien la hora en nuestro sistema, hora de Perú.

Paso 14: creamos dos archivos para hacer cambios permanentes de lenguaje y teclado

#touch /etc/locale.conf

#touch /etc/vconsole.conf

Escribimos en dichos archivos

#echo 'LANG=es_PE.UTF-8' > /etc/locale.conf

#echo 'KEYMAP=es' > /etc/vconsole.conf

Paso 15: nombre al anfitrión y escribimos la ipv4 estática en /etc/hosts

#echo 'server1.intranet.edu' > /etc/hostname

#vim /etc/hosts

escribimos ipv4 para localhost e ipv6 para localhost, también hacemos explícito nuestra ipv4 en nuestra interfaz

Paso 16: ingresamos contraseña para root y creamos un usuario en el grupo wheel, para que use sudo más adelante.

#passwd

#adduser -m -G wheel edgar 

El comando de arriba podría ser useradd, en el modo de boot efi, se usa useradd.

#passwd edgar

Hemos creado al usuario edgar con su directorio (-m)

Paso 17: instalamos grub y configuramos, ya lo agregamos, ahora necesita configurarlo en nuestra unidad sda

#grub-install --target=i386-pc /dev/sda

#grub-mkconfig -o /boot/grub/grub.cfg

Paso 18: salimos y reboot, debemos ver a grub, si es así ya esta funcional nuestro Arch Linux, debes retirar las unidades de inicio, USB o DVD.

#exit

#reboot now


Paso 19: ingresamos por primera vez a nuestro Arch Linux con nuestros usuarios.


Paso 20: iniciamos NetworkManager y configuramos parámetros de red, utilizaremos nmtui para ip estática. No tenemos IPv4, la interfaz se ve, pero no está configurada.

#systemctl enable --now NetworkManage

#ip addr

Ya por dhcp ha obtenido una ipv4, por eso era importante tener un servidor dhcp, los modem/router de tu proveedor siempre trae un servicio dhcp por cable.

Paso 21: tenemos ip por dhcp, cambiaremos a estático con nmtui

#nmtui




#reboot now

Paso 22: ya tenemos conexión a internet, pruba con ping y mira en /etc/resolv.conf

Paso 23: agregamos paquetes con pacman -S, xorg para levantar la gráfica

#pacman -S xorg

Paso 24: añadimos más paquetes como sudo, xfce4, xfce4-goodies entre otros

#pacman -Ss pulseaudio

-Ss es para buscar en repositorio

#pacman -S xfce4 xfce4-goodies

#pacman -S firefox vlc audacious sudo 

Paso 25: agregamos al gestor de login o ingreso, es lxdm

#pacman -S lxdm

Editamos su archivo para que inicie con xfce, /etc/lxdm/lxdm.conf, para iniciar xfce y lxdm está documentado en Arch Linux.

#vim /etc/lxdm/lxdm.conf

 


Habilitamos el  servicio lxdm en tiempo de inicio

#systemctl enable lxdm

Paso 26: agregamos más software

#pacman -S xdg-user-dirs pulseaudio papirus-icon-theme net-tools network-manager-applet

Paso 27: nuestro primer inicio con xfce

#reboot now



Arreglaremos ese usuario, debe aparecer nuestro nombre completo, editaremos el archivo /etc/passwd

#vim /etc/passwd

Pero sorpresa el teclado está en inglés, lo cambiamos asi

Eliminas el teclado inglés y pruebas en el emulador de terminal
 


#vim /etc/passwd

Agregamos nuestro full name


Cerramos sesión



Que elegancia ver nuestro nombre completo.

Para concluir creamos los directorios del usuario.

$xdg-user-dirs-update

 


Cambiamos los íconos y otros ajustes




Arch Linux está completo, queda añadir más software y poder disfrutar de GNU/Linux, si te ha gustado suscribirse a mi canal de Youtube y si puedes hacer una donación te estaré agredecido.


sábado, 20 de noviembre de 2021

Servidor Proxy transparente con Squid en Circle Linux 8, Rocky Linux 8, Alma Linux 8, Navy Linux 8, Oracle Linux 8, RHEL 8, CentOS 8

En alguna oportunidad se tiene la necesidad de mejorar el navegar en internet y para ello se puede utilizar un servidor Proxy con Squid, este tutorial es una actualización a un tutorial de hace mucho tiempo, se realizó un proxy en NetBSD, la configuración es similar en el archivo principal, squid.conf, lo que varía es en el firewall que se usa, en este caso utilizaremos el software nativo en derivados RHEL 8, FirewallD nos ayudará a redirigir el puerto entre otros detalles.

Explicar detalladamente los parámetros tomaría tiempo, se mostrará los pasos necesarios para hacer funcionar el servidor Proxy en modo Transparente al usuario, citaremos al final los sitios web de referencia para leer más acerca de Squid.

Cabe mencionar que nuestro servidor es un enrutador y puerta de enlace a la vez que también es un servidor proxy transparente a los clientes.

Paso 1: tener instalado un clon binario de RHEL 8, en este caso se ha utilizado Circle Linux, le damos la bienvenida a una distribución GNU/Linux que se une a la familia de dereivados RHEL, en mi canal de Youtube muestro la instalación completa, mira mi video. Se observa varias interfaces ethernet y en una interfaz tiene tres ipv4.

Paso 2: instalamos el equipamiento lógico necesario.

#dnf install squid

Paso 3: configuramos el archivo principal con el editor vi, la ruta es /etc/squid/squid.conf, ya nos muestra una configuración mínima, ajustamos a nuestro requerimiento.

#vi /etc/squid/squid.conf

Comentamos los segmentos de red que por defecto squid habilita en la parte de ACL y creamos nuestras propias reglas, todo lo referente a localnet debe ser comentado.


Como se observa tenemos 5 Reglas ACL, tres permiten utilizar proxy con squid, las otras dos reglas son para expresiones regulares a ser denegadas y dominios denegados, recordar que solamente se tratará con protocolo http.

Paso 4: permitir o denegar a nuestras ACLs

 

Prestar atención en donde se inserta nuestra configuración, como se observa estamos denegando expersiones regulares y dominios, aceptamos o permitimos el uso de proxy a tres segmentos de red, por último observar que se deniega a todo (ya estaba escrito por defecto).

Nota: los archivos expno y dono son archivos de texto donde se escribe las expresiones línea a línea, de igual manera los dominios.

Paso 5: escribimos otros parámetros, como http_port, utilizaremos dos puertos, uno es propio de squid 3128 y el 3129 lo utilizaremos para hacer transparente el proxy, ambas líneas son necesarias, si se quita una no funcionará; otros parámetros como cache_dir, cache_mem son auto explicativos.

Como observas estoy haciendo explícito una ipv4, con ello se evita que se usen otras ips en otras interfaces, recordar que nuestro servidor tiene tres interfaces ethernet y en una tiene 3 ipv4.

 
 

Paso 6: construimos los directorios con el comando (man squid).

#squid -z

Si todo ha salido bien presionas enter y ya está no hubo errores, ahora si iniciar el servicio

#systemctl enable squid

#systemctl start squid

Tiempo de utilizar a FirewallD para ser enrutador y gateway

Paso 7: utilizaremos las zonas external para el segmento de red de nuestro proveedor de internet, la interfaz es enp0s3; para los segmentos "internos" utilizaremos internal (enp0s8) y home (enp0s9), dichas zonas ya están preparadas en FirewallD.

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

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

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

Recordar que en la zona internal que tiene la interfaz enp0s8 hay tres ipv4, el objetivo es que dará acceso a tres segmentos de red utilizando la ipv4 que corresponda como puerta de enlace, interesante!

Paso 8: es tiempo de hacer por defecto una zona, en nuestro caso será la zona internal.

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

No necesita hacer --reload, en derivados RHEL incluido Fedora no es necesario. La zona external ya enmascara la interface, ya se hace NAT.

Paso 9: retomamos a squid y escribimos la reglas necesarias, en primer lugar haremos que en la zona internal esté presente el servicio squid.

#firewall-cmd --add-service=squid --zone=internal --permanent 

Paso 10: redirigimos el purto 80 (sitios web http) hacia el puerto 3129 definido en squid.conf

#firewall-cmd --add-forward-port=port=80:proto=tcp:toport=3129 --zone=internal --permanent

Ya debe funcionar 😀

Como mencionaba en algún escrito, el escenario es el siguiente:

Internet---(enp0s3)Circle Linux(enp0s8 y enp0s9)---Switch empresarial capa 2 de 24 puerto o más----Segmentos de red (clientes)

Se hace mención que es switch capa 2, entonces no trabaja a nivel de capa 3 (enrutamiento y direccionamiento ip), solamente utiliza direcciones físicas, puedes conectar muchas pcs a cualquier puerto del switch, el quien va a enrutar es nuestro servidor Circle Linux o cualquier otro derivado de RHEL 8. Se puede hacer más configuraciones, por el momento lo dejamos aquí, hace el papel de proxy caché para sitios web estáticos http y se restringe expresiones y dominios que usen protocolo http, no todos los sitios web utilizan protocolo https.

Sitios web de referencia:

https://www.alcancelibre.org/staticpages/index.php/19-0-como-squid-general

https://wiki.squid-cache.org/ConfigExamples/Intercept/LinuxRedirect

Pruebas de funcionamiento:

Zona internal

 

Puedes mirar los accesos en la ruta con tail -f  /var/log/squid/access.log (presionas ctrl+c para salir)

Zona home, sin restricciones


Gracias por visitar mi blog, todo procedimiento es propio del autor de éste blog.

lunes, 15 de noviembre de 2021

Múltiples o varias Ipv4 sobre una interfaz ethernet en Debian GNU/Linux 11

Algunas veces necesitamos asignar varias Ipv4 a una interfaz ethernet en nuestro futuro servidor Debian 11, tal vez estés realizando un enrutador y a la vez sea una puerta de enlace por donde salen varios segmentos de red, tenemos un equipo (que podría ser una PC) con dos interfaces ethernet, una para la red interna y otra de cara al modem/router de tu proveedor de internet, entonces lo que se conoce es que podemos asignar una Ipv4 a cada interfaz ethernet, entonces nos quedamos "cortos" si tenemos varios segmentos de red en nuestra red interna, ¿Cómo resolver? Mostraremos un "cómo" realizar con Debian GNU/Linux 11.

Paso 1: hacemos los preparativos para configurar los parámetros de red de forma correcta, para ello revisamos la documentación en el sitio web de Debian. Escribimos el nombre completo de nuestro equipo servidor, en nuestro caso se llama server01.intranet.edu, entonces editamos el archivo /etc/hostname con nano o vi.

Paso 2: escribimos en el archivo /etc/hosts la ip y el nombre completo con su alias, debe quedar, asi.

La documentación dice que si se tiene una ipv4 estática es recomendable que se reemplace 127.0.1.1, por ese motivo se ha comentado lo que la instalación ha escrito, la ipv4 192.168.1.5 es una de las ipv4, en este caso en la interfaz que conecta al modem/router del proveedor, en ese segmento de red que nos asignaron.

Paso 3: editamos el archivo principal donde se escriben las ipv4 en Debian 11, la ruta está en /etc/network/interfaces y procedemos a escribir todas las ipv4 que usaremos y también las Ipv4 extra a una interfaz.

Como se observa en la imagen de arriba, tenemos tres interfaces ethernet como son enp0s3, enp0s8 y enp0s9; y para asignar una ipv4 adicional a una interface según el método legacy en Debian se asigna escribiendo :0, :1, :2, etc. También cabe aclarar que se ha comentado allow-hotplug porque es para uso cuando por dhcp se asigna parámetros de red, en nuestro caso estamos usando ipv4 de manera estática, cuando se trata de servidor las ipv4 deben ser estáticas.

Paso 4: hay una línea que dice dns-nameservers, esa línea por defecto no es aceptada, para escribir servidores dns debemos escribir en /etc/resolv.conf, pero Debian nos facilita con un paquete para que podamos usar esa nomenclatura, el paquete es resolvconf, cuando se agrega ese paquete ya no se edita el archivo /etc/resolv.conf, automáticamente escribirá en dicho archivo cuando escribes dns-nameservers en /etc/network/interfaces, yo escribí dos servidores dns separados por un espacio.

#apt-get install resolvconf

Paso 5: reiniciar el servicio que administra las ipv4.

#systemctl restart networking.service

Paso 6: observamos las ips que hemos asignado, incluyendo a las ips adicionales, el comando para ver es

#ip addr

Puedes probar usando la herramienta ping a ips o a dominios, todo debe funcionar correctamente.

Nota: si estas cambiando o recién se va a configurar una interfaz, puedes utilizar los camandos ifdown y ifup, por ejemplo si por primera vez asignas una ipv4 a la interfaz enp0s9, escribes lo necesario en /etc/network/interfaces y activas la interfaz con

#ifup enp0s9

Si se desea desactivar se usa

#ifdown enp0s9

Espero que te haya gustado el tutorial.

Fuentes:

https://wiki.debian.org/NetworkConfiguration

https://www.debian.org/doc/manuals/debian-reference/ch05.en.html

martes, 9 de noviembre de 2021

VirtualBox 6.1 on Fedora 35

After Upgrade Fedora from 34 to 35 release you can see when you are starting VirtualBox... failed, the reason is the new kernel, then to use VirtualBox normally you need to choose previous kernel (when you see grub options), for example:

Currently I have the kernel on Fedora 35 Linux 5.14.16-301.fc35.x86_64, VirtualBox 6.1 does not work with this kernel.


Mayve you think: "run the commands and it will fix that", but it is not good idea in this case.

To resolve, in my case: I chose previous kernel from the grub, then I can use VirtualBox 6.1

Privious kernel Linux 5.14.16-201.fc34.x86_64, then it works! and I am using Fedora 35.

I hope that this tutorial helps you!

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...