Análisis de la tabla de rutas
Internet: Destination Gateway Flags Netif Expire 0.0.0.0/1 link#5 US wg0 default 192.168.88.1 UGS wlan0 10.14.0.2 link#2 UH lo0 85.204.70.87 192.168.88.1 UGHS wlan0 128.0.0.0/1 link#5 US wg0 192.168.88.0/24 link#3 U wlan0 192.168.88.51 link#2 UHS lo0
Ruta por defecto
Ruta por defecto (default) 192.168.88.1 por wlan0 Es la ruta genérica, pero no es la que se usa para la mayoría del tráfico.
Rutas VPN (Wireguard)
0.0.0.0/1 y 128.0.0.0/1 ambas apuntan a wg0
Estas dos rutas cubren todo el rango IPv4 (0.0.0.0/1 y 128.0.0.0/1 = 0.0.0.0/0).
Como son más específicas que default, todo el tráfico (execepciones) se envía por wg0, es decir, por la VPN
Excepción para el servidor VPN
85.204.70.87 va directamente por wlan0 (gateway local)
Esa IP es el endpoint de WireGuard de Surfshark. Sin esta ruta, el tráfico del túnel intetaría pasar por el propio túnel (bucle) y fallaría.
Red local
192.168.88.0/24 por wlan0. Así puedes acceder a tu router, impresoras, etc., sin pasar por la VPN.
IP propia (loopback)
192.168.88.51 y 10.14.0.2 están en lo0 como direcciones locales (para evitar enrutamiento externo).
¿Qué significa esto en la práctica?
Tu IP pública (la que ven los sitios web) es la de Surfshark, no la de tu router.
El tráfico de navegación (HTTP/HTTPS, DNS, etc.) pasa por el túnel WireGuard.
El tráfico local (a tu router, otros PCs en 192.168.88.x) no pasa por la VPN.
El servidor VPN se alcanza directamente por WiFi, sin pasar por el túnel (para evitar bucles).
Tailscale está presente pero no parece estar enrutando tráfico por defecto (quizás solo para acceso a otros nodos).
Destruir lagg0 y limpiar wlan0
sudo ifconfig lagg0 destroy sudo ifconfig wlan0 destroy
Crear wlan0 limpio con la configuración correcta
sudo ifconfig wlan0 create wlandev iwm0 country ES sudo ifconfig wlan0 up
Archivo /etc/wpa_supplicant
/etc/wpa_supplicant.conf written by wifimgr(8)
ctrl_interface=/var/run/wpa_supplicant
eapol_version=2
fast_reauth=1
network={
ssid="MikroTik-39F9C0"
psk=755862a5b1a4ef59e9e62590977a75f5317193637a8629dccb18c40e8638a68e
}
Iniciar wpa_supplicant (si no está corriendo)
sudo wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant.conf
Esperar a que se asocie (opcional, pero recomendado)
sleep 5 ifconfig wlan0 | grep status
Asignar IP fija y ruta por defecto
sudo ifconfig wlan0 inet 192.168.88.51 netmask 255.255.255.0 sudo route add default 192.168.88.1
Reiniciar WireGuard para que use la nueva interfaz
sudo wg-quick down wg0 && wg-quick up wg0 # 0 sudo service wireguard restart
Archivo /etc/pf.conf
/etc/pf.conf
ext_if="wlan0"
torrent="53541"
vpn_if="wg0"
wireguard="51820"
lan_net="192.168.88.0/24"
set block-policy return
set skip on lo
scrub in on $ext_if all fragment reassemble
table <jails> persist
nat on $ext_if from <jails> to any -> ($ext_if:0)
rdr-anchor "rdr/*"
block in all
antispoof for $ext_if inet
# Salida: todo el tráfico local permitido y trackeado
pass out quick keep state
# Entrada SSH
pass in quick inet proto tcp from $lan_net to any port ssh flags S/SA keep state
# Entrada VPN WireGuard (túnel Surfshark)
pass in quick on $vpn_if all keep state
pass out quick on $vpn_if all keep state
# Entrada qBittorrent
pass in quick on $ext_if inet proto { tcp } to port $torrent
# Entrada ICMP básico (diagnóstico)
pass in quick on $ext_if inet proto { icmp } all icmp-type { echoreq, unreach }
Verificar
¿La ruta por defecto apunta a wlan0 y las rutas VPN cubren el resto?
netstat -rn | grep -E "(default|wg0|wlan0)"
¿WireGuard está activo?
wg show interface: wg0 public key: pkpZvkWaVDd6DmEb3cl9DEvsnOKl9dvZVAP+KMJLZCs= private key: (hidden) listening port: 58461 peer: AsvLuvKKAGdc67aA/vHA3vb61S6YnDGx2Pd4aP4wal8= endpoint: 82.102.18.179:51820 allowed ips: 0.0.0.0/0 latest handshake: 1 minute, 14 seconds ago transfer: 1.39 MiB received, 1.51 MiB sent ping -c 8.8.8.8
Mostrar la IP pública (la IP de Surfshark)
curl -s ifconfig.meFreeBSD es genial!.
No hay comentarios:
Publicar un comentario