Un paquete sae dun portátil, nunca chega á pasarela VPN e ningún contador do cortalumes se move. A táboa de rutas xa decidira o destino do paquete: unha entrada blackhole coincidiu con el e o núcleo descartouno antes de que o vise calquera interface. Ese comportamento é útil cando un destino debe fallar pechado, pero é unha acción de encamiñamento cun alcance estreito. Tratalo como un interruptor de emerxencia completo é onde fallan os deseños.

Que coincide realmente coa acción de descartar

Unha consulta de ruta escolle unha táboa e logo o prefixo coincidente máis longo dentro dela. Unha ruta blackhole é unha entrada normal cuxa acción é descartar, así que só afecta os paquetes que terían escollido esa entrada despois de toda a decisión. Cambie a táboa cunha regra de política ou engada un prefixo máis específico, e o descarte xa non se aplica.

Por iso o alcance dun blackhole é exacto e fácil de enunciar: cobre o prefixo, na táboa, para esa familia de enderezos. Non cobre un destino que gañaría outra táboa, e non cobre IPv6 só porque se descarte o prefixo IPv4.

ip route get mostra a decisión antes de despregar nada, incluída a táboa e o tipo de ruta. Ler esa saída é máis rápido que deducir dunha solicitude fallida que regra ou prefixo actuou.

Blackhole non é o mesmo que unreachable ou prohibit

Linux ofrece tres tipos de ruta parecidos ao descarte, e difiren no que observa o emisor. Un blackhole descarta o paquete sen resposta, así que o cliente ve un tempo de espera esgotado. Unha ruta unreachable devolve unha mensaxe ICMP unreachable, así que a conexión falla axiña cun erro de host ou de rede. Unha ruta prohibit devolve un erro de prohibición administrativa, que se achega máis a un rexeitamento deliberado da política.

Escolla o comportamento que quere que vexa a aplicación. Un descarte silencioso é axeitado cando non quere revelar a política, e un erro inmediato é mellor cando os usuarios necesitan entender por que un destino non está dispoñible. Mesturar os tipos nunha rede xera tickets de soporte que describen a mesma política como tres avarías distintas.

Non supoña que toda entrada de descarte é intercambiable cando diagnostica unha conexión. O texto do erro, o momento e a captura de paquetes difiren, e o tipo de ruta na táboa dille cal está mirando. O manual de ip-route enumera os tipos e o seu comportamento ante erros.

Como se compara cun interruptor de emerxencia

Un interruptor de emerxencia é filtrado de paquetes: unha regra do cortalumes que descarta o tráfico de saída que sairía fóra do túnel. Unha ruta blackhole é unha decisión de reenvío tomada antes na pila. Ambas poden deter o tráfico, pero ven cousas distintas e fallan en casos distintos.

MechanismWhat it blocksWhat it missesHow failure looks
Blackhole routeDestinations matching the prefix and tableOther tables, other address families, traffic with a different routeSilent timeout
Firewall kill switchEgress not bound to the tunnel interfaceRules that are too broad can break the endpoint or DHCPDropped packets with counters
WireGuard AllowedIPsDestinations not routed into the interfaceTraffic that never enters the interface at allNo tunnel route, direct egress

A cobertura é onde importa a comparación. Un cortalumes pode coincidir co propietario, o porto ou a interface e pode bloquear unha aplicación mentres o punto final segue sendo accesible; unha ruta non. Á inversa, unha ruta pode enviar un prefixo enteiro a un descarte sen que se cargue ningún filtro de paquetes, o que resulta útil nun sistema mínimo.

AllowedIPs de WireGuard é encamiñamento por clave criptográfica, non un cortalumes. Decide que prefixos de destino se aceptan na interface, e un perfil que só enumera a subrede do túnel deixa os demais destinos á ruta predeterminada normal. Por iso os perfís de túnel completo usan 0.0.0.0/0 e por iso wg-quick tamén instala regras de cortalumes cando pode.

Manteña o punto final do túnel fóra do descarte

O enderezo exterior do punto final debe seguir sendo accesible pola interface física. Un descarte que tamén captura ese enderezo impide que o saúdo inicial saia, e o túnel nunca se levanta, o que parece un fallo de VPN máis que unha política de encamiñamento. Comprobe a ruta cara ao punto final antes e despois do cambio.

O acceso de xestión pertence á mesma revisión. Se o único camiño cara ao router ou ao cliente é o túnel, un descarte demasiado amplo pode deixalo fóra da máquina que lle permitiría quitalo. Manteña unha ruta fóra de banda documentada, unha consola ou unha reversión programada.

IPv6 necesita a súa propia entrada e a súa propia revisión. Un deseño que descarta IPv4 nun blackhole e deixa IPv6 na ruta predeterminada filtra exactamente o tráfico que a política pretendía deter, e o erro é invisible nunha proba só de IPv4.

Implanteo cun temporizador e unha reversión

Aplique a ruta cunha eliminación automática breve para que un erro non persista tras un reinicio. Os comandos seguintes usan un rango de documentación; substitúao polo prefixo que o seu deseño descarta realmente:

sudo ip route replace blackhole 10.0.0.0/8
ip route get 10.1.2.3
sudo systemd-run --on-active=60 /sbin/ip route del blackhole 10.0.0.0/8

O segundo comando debería informar da ruta blackhole e da táboa da que provén. O terceiro programa a eliminación dentro dun minuto, que é tempo suficiente para confirmar a política e o bastante curto para recuperarse dun erro nun host remoto. Unha vez confirmado o comportamento, faga a entrada persistente mediante a mesma xestión de configuración que posúe as outras rutas.

Pecha o cambio rexistrando o prefixo, a táboa, a familia de enderezos e o método de reversión. Un descarte é unha excepción deliberada no deseño de encamiñamento, e o seguinte enxeñeiro necesita saber que tráfico debía deter antes de decidir se aínda pertence.

Artigos relacionados