ZeroTier hacia una LAN: reglas de ruta de UFW, no un permiso de puerto
Permitir un puerto en la puerta de enlace no es lo mismo que reenviar a un host detrás de ella. Configure la ruta administrada, active el tránsito y elija una ruta de vuelta.
Llegar a una impresora de la LAN de la oficina a través de un miembro de ZeroTier suena a una sola regla, pero en realidad son tres decisiones en tres lugares distintos. La superposición debe saber dónde está la LAN, el host Linux debe estar dispuesto a reenviar paquetes y la LAN debe saber cómo enviar la respuesta de vuelta. Una regla de entrada que abre un puerto en la puerta de enlace no toca ninguna de esas cosas. Es la herramienta equivocada aplicada al host correcto.
Tres tareas, tres responsables
La ruta administrada pertenece a la configuración de la red de ZeroTier. Indica a los miembros que un prefijo es alcanzable a través de una dirección de miembro concreta.
El reenvío pertenece al núcleo de Linux y a quien posea la política de su cortafuegos. Decide si un paquete que llega por la superposición vuelve a salir por la interfaz física. Un host que no reenvía descartará el paquete en silencio después de aceptarlo. El emisor ve un tiempo de espera agotado y en el registro del servicio no aparece nada.
La ruta de vuelta pertenece a la LAN. Sus hosts y su enrutador deben saber que el prefijo de la superposición es alcanzable a través de la dirección LAN de su puerta de enlace, o algo tiene que traducir el tráfico para que la pregunta ni siquiera se plantee.
Cada una de ellas puede ser correcta mientras las demás fallan, y por eso una prueba que solo hace ping a la puerta de enlace no demuestra nada sobre el servicio que hay detrás.
Apunte la ruta administrada al miembro
Añada una ruta para el prefijo de LAN previsto a través de la dirección de superposición de la puerta de enlace, no de su dirección LAN. La dirección de superposición es la que otros miembros pueden alcanzar; la dirección LAN solo tiene sentido en el cable.
Los miembros deben aceptar las rutas administradas para que el diseño funcione, y sus propias redes locales no deben usar ya el prefijo que usted anuncia. Un portátil remoto que en casa está en 192.168.60.0/24 tampoco puede enrutar 192.168.60.0/24 a través de la superposición.
Mantenga el prefijo anunciado tan estrecho como permita la tarea. Anunciar un agregado mayor para influir en la preferencia también puede reclamar espacio de direcciones que usted no posee, y el conflicto resultante aparece en los dispositivos que se conectan a ambas redes. También puede hacer que un miembro prefiera una ruta que no lleva a ninguna parte. Mantenga la ruta honesta y deje que la política haga el resto.
Escriba el prefijo y la dirección del miembro en la misma nota que las reglas del cortafuegos, porque el fallo más habitual es una ruta que apunta al miembro equivocado.
Active el tránsito en el núcleo
Lea el valor de reenvío en ejecución antes de cambiar nada, y después haga permanente el ajuste mediante el mecanismo que su sistema ya utiliza, no mediante un comando puntual que desaparece al reiniciar.
Si UFW posee la política, sus reglas de ruta expresan el reenvío para un par de origen, destino e interfaz. Son distintas de las reglas de entrada que abren un servicio en la propia puerta de enlace:
sysctl net.ipv4.ip_forward
sudo ufw route allow in on zt3f2a1c9d out on eth0 proto tcp to 192.168.60.20 port 443
sudo ufw status verbose
El nombre de la interfaz es el dispositivo de superposición real en ese host, que puede leer con ip link; no es una cadena fija en todas las instalaciones. Si el host reenvía por defecto y UFW no está en el camino, la regla de ruta se ignorará y lo que importa son los ajustes del núcleo.
Elija cómo vuelven las respuestas
Con la preservación del origen, el servicio de la LAN ve la dirección de superposición real y responde a ella. Eso requiere una ruta en el host de la LAN o en su enrutador que apunte el prefijo de superposición a su puerta de enlace, y eso es un cambio fuera de la caja Linux.
Cuando esa ruta no se puede añadir, una traducción de origen delimitada hace que la petición parezca venir de la puerta de enlace en la LAN. Entonces las respuestas vuelven localmente y no hace falta cambiar el enrutamiento de la LAN, a cambio de perder el origen original en los registros del servicio.
Limite la traducción al origen de la superposición y al destino concreto de la LAN. Traducir todo lo que sale de la interfaz LAN es la versión amplia que después sorprende a cualquiera que lea las reglas, y además oculta tráfico que debería haber sido bloqueado.
Ninguna de las dos opciones concede acceso no solicitado desde la LAN hacia miembros arbitrarios de la superposición. Si eso se desea, es una regla aparte con su propia revisión.
Pruebe desde un miembro real
Conéctese desde otro miembro, no desde la puerta de enlace, y solicite un servicio permitido. Después pruebe un servicio que deba permanecer cerrado, y repita ambas pruebas tras una reconexión y tras un reinicio de la puerta de enlace.
Un miembro que informa de ONLINE, o un ping correcto a la dirección de superposición de la puerta de enlace, no valida la ruta, la regla de reenvío ni la ruta de vuelta:
zerotier-cli listnetworks
ip -4 route get 192.168.60.20
sudo ufw status numbered
El segundo comando muestra qué interfaz usaría el paquete para el host de la LAN, y el tercero muestra si la regla de ruta existe en la forma que usted pretendía. Si ambos parecen correctos y el servicio sigue agotando el tiempo, la ruta de vuelta es el sospechoso restante.