Mostrando las entradas con la etiqueta NetBSD. Mostrar todas las entradas
Mostrando las entradas con la etiqueta NetBSD. Mostrar todas las entradas

martes, 20 de abril de 2021

Router y Gateway con NPF en NetBSD / Nat (IPv4 Masquerading)

 Leyendo en el portal de NetBSD sobre Firewalls observamos que nos recomienda que usemos NPF y que los Firewalls como PF y IPFilter ya están obsoletos en sus versiones que se incluyen en la base, aunque hasta hace pocos días se observaba que IPFilter aún estaba en los tutoriales que existen en la página web de NetBSD para realizar simple NAT, pero oh sorpresa ahora ya no está disponible y simplemente se observa un enlace hacia la web de NPF donde no es muy explícito el cómo realizar NAT utilizando IPv4.

En este apunte nosotros realizaremos una configuración simple que hace que NetBSD 9.1 funcione como enrutador utilizando el Firewall NPF.

NPF ya está incluido en la base del sistema operativo NetBSD y solamente necesitamos habilitar el "servicio"

Paso 1. leemos cuidadosamente el archivo /etc/defaults/rc.conf, por ejemplo:

#more /etc/defaults/rc.conf

Para ubicar al archivo escribes /npf= y presionar enter, nos llevará a la línea que contiene dichos caracteres, para salir de la lectura del archivo presionamos la tecla q

Paso 2. habilitamos el demonio:

#echo 'npf=YES' >> /etc/rc.conf

Paso 3. buscamos ayuda en los archivos con el siguiente comando:

#find / -iname npf

Observamos que existe un directorio con algunos ejemplos que podrían ayudar y el archivo que me ha guiado es /usr/share/examples/npf/soho_gw-npf.conf

Paso 4. creamos el archivo y ingresamos los parámetros necesarios, ojo que no existe reglas estrictas, por ahora se permite el todo, la función será demostrar que realiza NAT.

#touch /etc/npf.conf

con vi editas el texto en dicho archivo

#vi /etc/npf.conf

#interfaces

$ext_if="wm0"

$ext_v4=inet4(wm0)

$int1_if="wm1"

$int2_if="wm2"

#Dos segmentos LAN, two private networks

$localnet = { 192.168.2.0/24, 192.168.3.0/24 }

#Nat

map $ext_if dynamic $localnet -> $ext_v4

#Default group

group default {

        pass in all

        pass out all

}

 Donde observamos que se indica cuales son nuestras interfaces (que en nuestro caso son tres, una externa de cara a internet y dos interfaces para nuestras redes LAN), las interfaces wm1 y wm2 son las que salen a internet o a otras redes de datos utilizando una IP que está en wm0.

Es necesario crear un grupo, se podría crear grupos external, internal; por ahora no se crea, reiterando que npf requiere que haya un grupo por lo menos. La regla que hace NAT es evidente y se hace explícito que es para IPv4.

Las líneas que empiezan con caracter # son comentarios, en los archivos.

Iniciamos el "servicio" o demonio:

#/etc/rc.d/npf start 

Debe aparecer el mensaje "enabling npf" y no mostrar errores. Puedes para el servicio cambiando start por stop.

Paso 5. Activar el reenvío de paquetes o forwarding.

En el archivo sysctl.conf se tiene que hacer explícito el forwarding para que en tiempo de inicio o boot time lea y se ponga a 1. Para que no sea necesario reiniciar el servidor se escribe el siguiente comando:

#sysctl -w net.inet.ip.forwarding=1

Paso 6. es hora de probar que los clientes ya salen a otras redes, con sus puertas de enlace respectivas. En nuestro caso la puerta de enlace para la red LAN 1 es 192.168.2.5 (es la ip de wm1) y 192.168.3.5 (es la ip de wm2), ya funciona (it works!)

En mi canal de Youtube mostraré el video funcionando, El video.

Nota: gracias a las reglas que permite todo en el grupo default funciona, pass in all y pass out all, sino se escribe esas simples reglas así tengas la línea Nat no va a funcionar.

martes, 8 de noviembre de 2016

miércoles, 4 de mayo de 2016

NetBSD 7.0 con Xfce y en Español

Hola amigos, aquí otra vez trayendo unos bits más, esta vez vamos a echar una mirada a NetBSD, muchos dicen que este gran sistema operativo es para aquellos que son de la vieja escuela jeje, cierto NetBSD es otro de los grandes y que sigue actualmente activo, comunidad amigable, de perfil bajo, pero son de la vieja escuela jaja, este sistema operativo según comentan es el más antiguo de los BSD, osea de los Unix-Like, lo he usado en servicios y pues cada vez esta más amigable, para servidores es una joya, pruébalo y veras que es cierto.

NetBSD es una joya, por eso hice este pequeño tutorial para aquellos que se interesen en usarlo, mucho por averiguar y hacerlo muy funcional, aquí solo les muestro unos pequeños bits, espero lo disfrutes y comencemos.

1. La instalación se toma por defecto, NetBSD tiene cada vez un asistente tipo ncurses muy amigable, es cuestion de seguir las instrucciones, POR CIERTO TIENE IDIOMA EN CASTELLANO para idioma de instalación, si desean que haga un tutorial de la instalación, decirlo en los comentarios.

2. Lo único que no tiene es teclado latinoamericano, solo veo el español, en fin, pero sigamos, usaremos el gestor de paquetes binarios pkgin, si señor, se acuerdan de yum (ahora dnf) en derivados RHEL? recuerdan a apt en derivados Debian? PKGIN es el equivalente, usaremos ello para ahorrar tiempo, hay software que es grande y añadir con el método tradicional tomaría mucho tiempo, asi que mejor directo usar a pkgin.

3. Nos autenticamos como root y procedemos a ver si hay conexión, de hecho que si, porque al instalar el asistente nos muestra opciones para agregar el gestor de paquetes binarios, crear usuario, contraseña de root, y otros detalles más, aqui comenzaremos suponiendo que ya se instaló de forma satisfactoria y comenzamos a construir la interfaz gráfica.

#ping -c 3 googlemail.com
El comando debe responder y si es asi procedemos:
#pkgin update
#pkgin search tdb
Este paquete es muy importante ya que por alguna razón sino añades primero créeme que no funcionará thunar el gestor de archivos de Xfce, pero vaya aqui te ahorramos el tiempo de que leas el log.

Ya leíste que es tdb, ahora añadir.
#pkgin install tdb
#pkgin install xfce4 xfce4-extras
El último comando añade al entorno Xfce, no preocupes por XORG, el ya lo maneja internamente, espera y se curioso de cada mensaje que leas, al final debes ver warnings, pero cero error.
#pkgin install fam
Sigue leyendo las indicaciones.

4. Ahora vamos a copiar los scripts de los demonios:

# cp /usr/pkg/share/examples/rc.d/famd /etc/rc.d
# cp /usr/pkg/share/examples/rc.d/dbus /etc/rc.d
# cp /usr/pkg/share/examples/rc.d/hal /etc/rc.d

Escribimos en rc.conf para que inicien en tiempo de arranque:

# echo 'rpcbind=YES' >> /etc/rc.conf
# echo 'famd=YES' >> /etc/rc.conf
# echo 'dbus=YES' >> /etc/rc.conf
# echo 'hal=YES' >> /etc/rc.conf

O abres con vi a rc.conf y escribes rpcbind=YES y asi, en cada línea.

Podrías inicar los demonios con:
# /etc/rc.d/rpcbind start
# /etc/rc.d/famd start
# /etc/rc.d/dbus start
# /etc/rc.d/hal start

Pero vaya qué te parece si lo hacemos todo y le hacemos un reboot despues :)

5. Ahora es tiempo de cambiarnos de usuario a NUESTRO_USUARIO

$ls -la
Con el comando anterior miramos y "pillamos" dos archivos que nos interesan, créeme que estoy guíandome del tutorial FreeBSD que hice, el objetivo de tocar estos dos archivos (.profile y .xinitrc) es traducir nuestro entorno Xfce al español, y vaya tenemos que crear uno .xinitrc, el .profile ya existe, solo agrega estas líneas y créeme que después vas a tener traducido al español.

$locale -a | grep es_ES
Con ese comando vez que es correcto lo que vas a escribir:
Usaremos a vi en todo momento como nustro editor de archivos, vi el grande :), si vi esta en todos los sistemas operativos que he mirado, sea un GNU/Linux o un BSD :)
$vi .profile

Abres el archivo y ubicas en un sitio limpio, añades esto:

LANG=es_ES.ISO8859-15; export LANG
MM_CHARSET=ISO-8859-15; export MM_CHARSET

Yo lo tengo así:


Vayamos por el segundo archivo el .xinitrc, no existe, lo creas:
$touch .xinitrc
$vi .xinitrc
Añades esto:

exec xfce4-session
LANG=es_ES.ISO8859-15; export LANG
setenv LANG es_ES.ISO8859-15

La primera línea es para inicar xfce, osea usar startx desde consola.
Así lo tengo:
Pues vaya ya casi terminamos.

Ahora que te parece si agregamos un paquete que nos ayuda a crear las carpetas que conocemos, si igual que FreeBSD jeje.

Nos cambiamos a root (su -)
#pkgin install xdg-user-dirs
Para saber que es dale un pkgin search xdg-user-dirs y lees.

Nos cambiamos a nuestro usuario con su TU_USUSARIO
$xdg-user-dirs-update
$ls
Ya esta todo, ahora un reboot :)

Cuando ya tengas el login, pues introduce tu usuario y su contraseña. AHORA STARTX :)

Advertencia: esta prueba fue hecha en una máquina virtual, si tiene más cosas que decirnos y colaborar para mejorar, bienvenido, juntos encontremos fallas y tratemos de solucionar algunas cosas.
Hasta el momento ha funcionado bien, algun congelamiento cuando se abre youtube y se reproduce un video, en fin, probemos en una máquina real.

$startx



Actualización: fué probada en otro entorno y no hubo cuelgues, se traduce completamente al español.
Cabe resaltar que se necesita correr el comando xdg-user-dirs-update, antes o después de inicar la gráfica.
También resaltamos que es necesario agregar teclado "es" al entorno xfce, por defecto está en teclado inglés, debes cambiar, el paquete xfce4-extras ya agregó soporte para cambiar graficamente el teclado, proceder del mismo modo que en el tutorial de FreeBSD.



Of course it runs NetBSD jejeje


Packet Tracer 9 en fedora 44

 1. INTRODUCCIÓN Y CONTEXTO -------------------------- Cisco distribuye oficialmente Packet Tracer para Linux únicamente en formato  paquete...