Páginas

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

martes, 17 de enero de 2023

Montar Directorios Usando SSHFS en FreeBSD 13.1

NFS Sistema de Archivos en Red FreeBSD
Montaje de Sistema de Archivos NFS Usando Autofs
Replicar, Recuperar Pool Root ZFS FreeBSD

Envío y recepción de datos ZFS

El comando zfs send crea una representación de flujo de datos de una instantánea que se graba en una salida estándar. De forma predeterminada, se crea un flujo de datos completo. Puede redirigir la salida a un archivo u otro sistema.

El comando zfs receive crea una instantánea cuyo contenido se especifica en el flujo de datos que figura en la entrada estándar. Si se recibe un flujo de datos completo, también se crea un sistema de archivos. Con estos comandos puede enviar y recibir datos de instantáneas ZFS y sistemas de archivos.

El hostname solaris será el cliente y tormenta el servidor. Ambos corren FreeBSD 13.1.

solaris:~/bsdfetch-main % ./bsdfetch


OS: FreeBSD
Release: 13.1-RELEASE-p3
Version: FreeBSD 13.1-RELEASE-p3 GENERIC
Host: solaris
Arch: amd64
Shell: csh
User: carlos
Packages: 1245
Uptime: 0d 0h 47m
RAM: 16221 MB
Loadavg: 0.17 0.17 0.20
CPU: Intel(R) Core(TM) i5-8350U CPU @ 1.70GHz
Cores: 8 of 8 processors online
 -> Core [1]: 39.0 °C
 -> Core [2]: 39.0 °C
 -> Core [3]: 39.0 °C
 -> Core [4]: 39.0 °C
 -> Core [5]: 40.0 °C
 -> Core [6]: 40.0 °C
 -> Core [7]: 41.0 °C
 -> Core [8]: 41.0 °C

Archivo config ssh (cliente)



 cat .ssh/config
Host tormenta
        HostName 192.168.88.160
        User carlos
        IdentityFile ~/.ssh/id_rsa
        Port 22422
        AddressFamily inet
        BindInterface em0

        CASignatureAlgorithms ssh-ed25519,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,sk-ssh-ed25519@openssh.com,sk-ecdsa-sha2-nistp256@openssh.com,rsa-sha2-512,rsa-sha2-256

        Ciphers  chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com

        CheckHostIP yes

Entrar vía ssh al servidor.



tormenta % ./bsdfetch


OS: FreeBSD
Release: 13.1-RELEASE-p3
Version: FreeBSD 13.1-RELEASE-p3 GENERIC
Host: tormenta
Arch: amd64
Shell: csh
User: carlos
Packages: 472
Uptime: 25d 23h 3m
RAM: 32084 MB
Loadavg: 0.40 0.28 0.20
CPU: Intel(R) Celeron(R) N5105 @ 2.00GHz
Cores: 4 of 4 processors online

tormenta:~ % uname -a


FreeBSD tormenta 13.1-RELEASE-p3 FreeBSD 13.1-RELEASE-p3 GENERIC amd64

solaris:~ % uname -a


FreeBSD solaris 13.1-RELEASE-p3 FreeBSD 13.1-RELEASE-p3 GENERIC amd64

Red cableada


#
::1                 localhost localhost.my.domain
127.0.0.1           localhost localhost.my.domain
192.168.88.247      synology  # nas synology
192.168.88.160      tormenta  # servidor freebsd
192.168.88.51       solaris   # cliente freebsd
192.168.88.200		raspberry # servidor dns
192.168.88.205		switch    # switch gestionado
192.168.88.43       macbook	  # cliente 
192.168.88.1		mikrotik  # router firewall
192.168.1.1			router2   # red 2 
...

Crear un conjunto de datos en solaris (cliente)


 zfs create -o mountpoint=/usr/tormentabck zroot/usr/tormentabck

Instalar sshfs (servidor)


 pkg search sshfs
fusefs-sshfs-3.7.3_1           Mount remote directories over ssh

 pkg install fusefs-sshfs

Permitir acceso a través de ssh. Habilitar ssh en solaris (cliente)


 sysrc ssh_enable=YES

Tener el mismo usuario en ambos sistemas

Crear conjunto de datos en el cliente


 solaris: # zfs create zroot/usr/tormentabck

Montar directorio en el servidor


[tormenta:~] carlos@pts/0 % sudo sshfs -o allow_other \
carlos@192.168.88.51:/usr/tormentabck /mnt/solaris

Realizar comprobación


[tormenta:~] carlos@pts/0 % mount
 --> /dev/fuse on /mnt/solaris (fusefs.sshfs)
 ...

Crear una instantánea recursiva en el servidor


 [tormenta:~] zfs snapshot -r zroot@tormenta_120123

Enviar el conjunto de datos al cliente (solaris)


 [tormenta:~] zfs send -Rv zroot@tormenta_120123 | gzip > \
 /mnt/solaris/zroot.tormenta.snap1.gz

Llegados a este punto tenemos una copia del sistema completo del servidor en el cliente.


 [tormenta:~] % ls -l /mnt/solaris
 total 64934092
 -rw-r--r--  1 carlos  carlos  66492508708 Jan 12 21:51 zroot.tormenta.snap1.gz

Desmontar el directorio


sudo umount /mnt/solaris/

En la maquina cliente (donde físicamente está el fichero)


ls -l /usr/tormentabck/
total 64954481
-rw-r--r--  1 carlos  carlos  66492508708 Jan 12 21:51 zroot.tormenta.snap1.gz

FreeBSD es genial!.

lunes, 31 de agosto de 2020

Router o2 Modo Bridge PPPoE Client Mikrotik

Después de poner el router Mitrastar HGU GPT-2541GNAC de o2 en modo bridge siguiendo la guía de macjosan vamos a configurar el Mikrotik (RouterOS) como router principal. 


Los routers Mikrotik traen una configuración por defecto donde la interfaz ether1 es la WAN y el resto de interfaces en un bridge que será nuestra LAN, además incluye reglas de firewall que permiten empezar a utilizar al salir de la caja. 


Diagrama de bloques del Router hAP ac2





Este dispositivo ya tiene un bridge configurado y los Ports del mismo: ether2, ether3, ether4, ether5, wlan1 y wlan2,  una IP Address para la LAN (bridge_LAN) del rango 192.168.88.0/24, y un DHCP Server activo que provee de direcciones IP automáticas a los dispositivos de la red. La hora debe estar bien configurada.




Nuestro Mikrotik estará expuesto directamente a Internet por lo que lo más recomendable es que el firewall sea configurado en modo “denegar todo”, permitir solo lo que nos interesa, impedir escáners de puertos, conectar vía remota sólo utilizando una VPN, impedir ataques DoS y DDos, crear blacklist automáticas de intentos de conexión (si tuviéramos puertos expuestos a Internet), Implementar el envío de email automatizado con la configuración .src y .backup de nuestro router. Permitir el uso de Winbox solo desde nuestra LAN. Crear un usuario privilegiado con full permisos y luego (no al revés), deshabitar el usuario por defecto Admin. Utilizar contraseñas fuertes. Impedir el acceso via web a nuestro Mikrotik (puerto 80), desactivar (en IP Service List) el puerto 21, api-ssl (8728), api (8728) y el acceso por telnet (23).



Dicho esto y teniendo el router HGU de o2 en modo bridge empezamos con la configuración del PPPoE Client en nuestro router Mikortik. En el puerto ether1, que es el puerto WAN por defecto del Mikrotik, conectamos un cable desde la interfaz Eth1 del HGU.


Nos vamos al Mikrotik y abrimos el Winbox para crear la interfaz PPPoE Client en la interfaz ether1 (renombrada como ether1_WAN), En la pestaña Dial Out el nombre del 

Service (opcional), 

User: adslppp@telefonicanetpa

Password: adslpppa




Marcamos Use Peer DNS si queremos utilizar los DNS del proveedor

Marcamos Add Default Route para que nos cree automáticamente la ruta por defecto (todo lo que no sepas donde enviarlo envíalo por aquí), que podemos ver en Route list.

DAS - dinámica, activa estática

DAC - dinámica, activa conectada



Enmascaramiento NAT


En IP - Firewall - Nat la interfaz de salida a Internet (Out. Interface), es la pppoe-out1 y la pestaña Action debe quedar en masquerade y hacer NAT (Traducción de Direcciones de Red). De lo contrario no podremos salir a Internet.




En IP address poremos ver la IP Pública y la ip de la red LAN.



Comprobamos que tenemos conexión a Internet



Mikrotik es genial!.

jueves, 21 de mayo de 2020

Limitar Ancho de Banda y Priorizar Trafico Mikrotik

Necesitamos hacer doble encolamiento. Una cola para el manejo de ancho de banda y otra para priorización de tráfico. Las colas se implementan en un solo lugar. No se puede hacer en el Queue Tree, simultáneamente, en un router administrador con múltiples clientes.

Vamos a usar Simple Queue para el manejo de ancho de banda por usuario.

A partir de RouterOS 6 el número de colas no es relevante, el acceso a las colas no es secuencial sino por hashing. De manera que, podemos tener cientos de colas, que pueden ser creadas manualmente, dinámicamente o utilizando scripts. Eficiente en equipos multicore (3011, 4011, CCR, etc.).

Para la priorización de servicios usaremos Queue Tree

Planes

. 3M/512k
. 4M/1M
. Doble velocidad por las noches

Crear Queue Types.
Queue List - Queue Types

Serán 4 Queue types una para cada velocidad
1. 3M
2. 512k
3. 4M
4. 1M

También vamos a crear 4 Queue types adicionales para la doble velocidad. 6M 1M 8M 2M.

Colas de bajada (DOWN)
Clasifier: Dst. Address

Colas de subida (UP)
Clasifier: Src. Address







Generar Simple Queues para asignar el ancho de banda a cada uno de los clientes, ejemplo.



Priorizar Tráfico

. ICMP
. WEB HTTP/HTTPS
. VoIP
. DNS

IP Firewall MANGLE

Marcar tráfico ICMP



Marcar conexión

Primero marcamos la conexión
No-mark para asegurarnos de que lo que vamos a marcar no tiene una marca previa.

Marcar paquetes ICMP

Marcar los paquetes que van a pasar por esa conexión



Marcar tráfico Web HTTP/HTTPS



Marcar paquetes Web



Nuevo Protocolo QUIC Google un híbrido entre tcp y udp utiliz el IP protocolo 17.

Marcar tráfico QUIC



Marcar paquetes QUIC



VoIP telefonía IP. Lo que hace es enviar audio en paquetes IP. La mayoría utiliza un rango de puertos. También podemos utilizar la utilidad Torch para averiguarlo. 5060-5082 y 10000-20000.

Marcado de tráfico VoIP



Marcado de paquetes



Marcar el resto del tráfico



Marcado de paquetes




De esta manera podemos priorizar tráfico, por ejemplo, para bajar la latencia en los juegos. Recuerde que podemos utilizar Torch para monitorear a que puertos se conecta la aplicación y que protocolos está utilizando. A partir de esa información puede generar un par de reglas para marcar la conexión y marcar el paquete.

Mangle es una estructura pasiva dentro de RouterOS. De manera que no estamos realizando ninguna acción sobre esas conexiones. Estas marcas serán utilizada por otra estructura del Router.

Al hablar de QoS la esctructura es HTB o queue tree. Vamos a hacer uso de esos paquetes para dar prioridad.


Las prioridades van desde 1-8 siendo 1 la mayor prioridad.

La suma de los limit A no puede ser mayor que el valor del padre, en este caso 100M.








El proceso para priorizar tráfico DNS es el mismo.





OpenBSD es genial!.