User Tools

Site Tools


zerotier_vpn_to_lan_troubleshooting

This is an old revision of the document!


VPN no puede acceder a la LAN (srv05 como gateway Zerotier)

Contexto

El servidor `srv05` actúa como puente entre la red LAN local `192.168.88.0/24` y la red VPN de Zerotier `10.241.0.0/16`, usando la interfaz `ztkse3ixxp`.

El objetivo era permitir que nodos de la VPN accedan a dispositivos dentro de la LAN hogareña, como por ejemplo un Raspberry Pi.


Verificaciones básicas

  • ✅ `srv05` tiene IP `192.168.88.33` asignada a `lxcbr0`
  • ✅ `ztkse3ixxp` está UP y tiene una IP válida `10.241.x.x`
  • ✅ El Mikrotik tiene una ruta estática:
10.241.0.0/16 via 192.168.88.33
  • ✅ El Mikrotik permite forwarding en ambos sentidos:
10.241.0.0/16 <--> 192.168.88.0/24
  • ✅ Desde una máquina en la LAN se puede pingear a hosts de la VPN
  • ✅ El `iptables` de `srv05` tiene reglas de FORWARD adecuadas:
sudo iptables -L FORWARD -n -v --line-numbers

-A FORWARD -s 10.241.0.0/16 -d 192.168.88.0/24 -i ztkse3ixxp -o lxcbr0 -j ACCEPT
-A FORWARD -s 192.168.88.0/24 -d 10.241.0.0/16 -i lxcbr0 -o ztkse3ixxp -m state --state RELATED,ESTABLISHED -j ACCEPT

Problema detectado

Desde la VPN no se podía acceder a la LAN (el tráfico era dropeado en `srv05`). Se verificó el tráfico con:

sudo iptables -I FORWARD 1 -j LOG --log-prefix "FORWARD DROP: " --log-level 4
tail -f /var/log/syslog | grep "FORWARD DROP:"

Se encontró que el paquete llegaba por `ztkse3ixxp` y salía por `lxcbr0`, pero era dropeado.


Causa raíz

Existía una regla obsoleta en `iptables -t nat`:

-A POSTROUTING -s 10.241.0.0/16 -o lxcbr0 -j SNAT --to-source 192.168.88.84

Esa IP ya no estaba asignada a ninguna interfaz, lo que provocaba un SNAT inválido y rompía el tráfico.


Solución aplicada

  1. Se eliminó la regla inválida:
sudo iptables -t nat -L POSTROUTING -n --line-numbers
sudo iptables -t nat -D POSTROUTING <número de línea>
  1. Verificación posterior:
sudo iptables -t nat -S
  1. Se comprobó que el tráfico funciona incluso sin SNAT, dado que:
    • El Mikrotik enruta correctamente.
    • No se necesita ocultar el origen.
    • Es mejor para trazabilidad (los logs muestran la IP real del origen).

Comandos útiles para este troubleshooting

ip a                    # Ver interfaces y direcciones
ip r                    # Ver rutas
ip route get <IP>       # Ruta efectiva hacia un destino

sudo iptables -L FORWARD -v -n --line-numbers
sudo iptables -t nat -L POSTROUTING -n --line-numbers
sudo iptables -t nat -S
sudo iptables -S

Notas finales

Para mantener la configuración:

sudo apt install iptables-persistent
sudo iptables-save > /etc/iptables/rules.v4

Evitar tener múltiples reglas `SNAT` que afecten la misma subred y salida. Documentar cambios en el Mikrotik (rutas, firewall) para trazabilidad.


zerotier_vpn_to_lan_troubleshooting.1752161663.txt.gz · Last modified: 2025/07/10 15:34 by oso