Configuración para conectar clientes a un servidor FreeBSD via Zerotier y SSH
Instalación y configuración de Zerotier en el servidor FreeBSD
Instalación y puesta en marcha de Zerotier
pkg install net/zerotier sysrc zerotier_enable=YES service zerotier start
Unirse a la Red Zerotier (192.168.192.0-24):
zerotier-cli join <Network ID>
Reemplaza <Network ID> con el ID de tu red Zerotier (puedes verlo en Zerotier central).
Autorizar el servidor en Zerotier, aparecerá en la lista de miembros con su ID
Asigna una IP fija al servidor en la red Zerotier (por ej: 192.168.192.133).
Configuración del cortafuegos PF en el servidor FreeBSD
Habilitar IP Forwarding (Reenvío de paquetes):
echo "net.inet.ip.forwarding=1" >> /etc/sysctl.conf
Aplicar los cambios:
sysctl net.inet.ip.forwarding=1 net.inet.ip.forwarding: 1
Reglas PF (/etc/pf.conf)
# Macros wan_if = "re0" # Interfaz conectada al MikroTik (LAN) lan_net = "192.168.88.0/24" # Red local zt_if = "zt1ocu1pr8e2sac" # Interfaz ZeroTier zt_net = "192.168.192.0/24" # Red ZeroTier # Opciones generales set block-policy drop set skip on { lo0, $zt_if } # ZeroTier no necesita filtrado estricto scrub in all fragment reassemble # Reglas predeterminadas block all pass out quick keep state # Permitir tráfico entre redes LAN y ZeroTier pass quick from $lan_net to $zt_net pass quick from $zt_net to $lan_net # Permitir servicios desde la LAN (Samba, NFSv4, SSH) pass in on $wan_if proto { tcp, udp } from $lan_net to any port { 139, \ 445, 111, 2049, 22 } # Permitir SSH desde ZeroTier (clientes externos) pass in on $zt_if proto tcp from $zt_net to ($wan_if) port 22 # Reglas para ZeroTier (puerto UDP 9993 y comunicación entre peers) pass in on $zt_if proto udp from any to any port 9993 # Permitir ICMP (pings y mensajes de error) pass in inet proto icmp all icmp-type { echoreq, unreach }
Configuración de clientes Zerotier:
Instalar Zerotier en los dispositivos cliente
Unirlos a la red Zerotier
zerotier-cli join <Network ID> o mediante la app
Autoriza los clientes en Zerotier y asígnales IPs fijas si es necesario
Acceso SSH al servidor
Conectarse desde un cliente usando la IP de Zerotier del servidor
ssh usuario@192.168.192.133
Ruta estática entre la red local (192.168.88.0/24) y Zerotier (192.168.192.0/24)
¿Por qué es necesaria?
Los clientes en Zerotier (192.168.192.0/24) no saben como llegar a la red local del servidor (192.168.88.0/24) por defecto.
La ruta estática indica a Zerotier que el servidor actúa como puerta de enlace para la red local.
Configuración en Zerotier Central:
Ir a su red en Zerotier
En Advanced > Managed Routes,
añadir:
- Destination: 192.168.88.0/24 - Via: 192.168.192.133 (IP Zerotier del servidor)
Explicación Técnica
Zerotier como VPN Layer 2:
Crea una red virtual donde todos los dispositivos aparecen como si estuvieran en la misma LAN, evitando la necesidad de port forwarding
Ruta estática:
Dirige el tráfico desde Zerotier hacia la red local a través del servidor, que actúa como router.
Verificaión:
Desde un cliente Zerotier, por ej: desactivo la conexión wifi de mi teléfono móvil y activo los datos para conectarme desde una red externa:
ssh usuario@192.168.192.133
En el servidor
tcpdump -i zt1ocu1pr8e2sac
Optimizar ZeroTier:
- En /usr/local/etc/zerotier-one/zerotier-one.conf, configura allowManaged y allowGlobal para controlar el acceso a rutas:
{ "settings": { "allowManaged": true, "allowGlobal": false } }
Diagrama de Flujo
Esta configuración garantiza que solo los servicios necesarios estén expuestos, y la comunicación entre redes se realice de manera segura y controlada.
FreeBSD es genial!.
No hay comentarios:
Publicar un comentario