Egy csomag elhagyja a laptopot, soha nem éri el a VPN-átjárót, és egyetlen tűzfal-számláló sem mozdul. Az útvonaltábla már eldöntötte a csomag sorsát: egy blackhole-bejegyzés illeszkedett rá, és a kernel eldobta, mielőtt bármely interfész látta volna. Ez a viselkedés akkor hasznos, ha egy cél zárt módon hibázik, de ez szűk hatókörű útválasztási művelet. Teljes kill switchként kezelni az a pont, ahol a tervek elromlanak.

Mit fed le valójában az eldobás művelet

Az útvonalkeresés kiválaszt egy táblát, majd a leghosszabb illeszkedő előtagot benne. A blackhole-útvonal normál bejegyzés, amelynek művelete az eldobás, ezért csak azokat a csomagokat érinti, amelyek a teljes döntés után ezt a bejegyzést választották volna. Módosítsa a táblát házirend-szabállyal, vagy adjon hozzá konkrétabb előtagot, és az eldobás már nem érvényes.

Ezért a blackhole hatóköre pontos és könnyen megfogalmazható: az előtagot fedi le, a táblában, arra a címcsaládra. Nem fedi le azt a célt, amelyet egy másik tábla nyerne meg, és nem fedi le az IPv6-ot csak azért, mert az IPv4-előtag eldobásra kerül.

ip route get megmutatja a döntést, mielőtt bármit telepítene, beleértve a táblát és az útvonal típusát. Ennek a kimenetnek az olvasása gyorsabb, mint egy sikertelen kérésből kikövetkeztetni, melyik szabály vagy előtag lépett életbe.

A blackhole nem ugyanaz, mint az unreachable vagy a prohibit

A Linux három eldobásjellegű útvonaltípust kínál, és ezek abban különböznek, mit lát a küldő. A blackhole válasz nélkül ejti a csomagot, így a kliens időtúllépést lát. Az unreachable útvonal ICMP unreachable üzenetet ad vissza, így a kapcsolat gyorsan meghiúsul hoszt- vagy hálózati hibával. A prohibit útvonal adminisztratív tiltás hibáját adja vissza, ami közelebb áll a szándékos házirend-elutasításhoz.

Válassza azt a viselkedést, amelyet az alkalmazásnak látnia kell. A csendes eldobás akkor megfelelő, ha nem akarja felfedni a házirendet, az azonnali hiba pedig jobb, ha a felhasználóknak meg kell érteniük, miért elérhetetlen egy cél. A típusok hálózaton belüli keverése olyan támogatási jegyeket szül, amelyek ugyanazt a házirendet három különböző hibaként írják le.

Ne feltételezze, hogy minden eldobási bejegyzés felcserélhető, amikor egy kapcsolatot diagnosztizál. A hibaszöveg, az időzítés és a csomagrögzítés eltér, és a táblában lévő útvonaltípus megmondja, melyiket nézi. Az ip-route kézikönyv felsorolja a típusokat és hiba esetén mutatott viselkedésüket.

Hogyan viszonyul a kill switchhez

A kill switch csomagszűrés: egy tűzfalszabály, amely eldobja a kimenő forgalmat, amely a bújtatáson kívülre menne. A blackhole-útvonal egy továbbítási döntés, amely korábban születik a veremben. Mindkettő megállíthatja a forgalmat, de mást látnak, és más eseteket hagynak ki.

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 lefedettség az, ahol az összehasonlítás számít. A tűzfal egyeztethet tulajdonost, portot vagy interfészt, és blokkolhat egy alkalmazást, miközben a végpont elérhető marad; egy útvonal ezt nem tudja. Fordítva, egy útvonal egy egész előtagot küldhet eldobásba anélkül, hogy bármilyen csomagszűrő betöltődne, ami minimális rendszeren hasznos.

A WireGuard AllowedIPs kriptokulcsos útválasztás, nem tűzfal. Eldönti, mely cél-előtagokat fogadja el az interfész, és a csak a bújtatás alhálózatát felsoroló profil egyszerűen a szokásos alapértelmezett útvonalra hagyja a többi célt. Ezért használnak a teljes bújtatású profilok 0.0.0.0/0-t, és ezért telepít a wg-quick is tűzfalszabályokat, amikor tud.

Tartsa a bújtatás végpontját az eldobáson kívül

A végpont külső címének elérhetőnek kell maradnia a fizikai interfészen keresztül. Az olyan eldobás, amely ezt a címet is elkapja, megakadályozza a kézfogás kimenetelét, és a bújtatás soha nem jön fel, ami VPN-hibának látszik, nem útválasztási házirendnek. Ellenőrizze a végpont útvonalát a változtatás előtt és után.

A felügyeleti hozzáférés ugyanabba a felülvizsgálatba tartozik. Ha az egyetlen út az útválasztóhoz vagy az ügyfélhez a bújtatás, egy túl széles eldobás kizárhat abból a gépből, amely lehetővé tenné az eltávolítását. Tartson fenn dokumentált sávon kívüli útvonalat, konzolt vagy időzített visszaállítást.

Az IPv6-nak saját bejegyzésre és saját felülvizsgálatra van szüksége. Az a terv, amely az IPv4-et blackhole-ba dobja, míg az IPv6-ot az alapértelmezett útvonalon hagyja, pontosan azt a forgalmat szivárogtatja, amelyet a házirend meg akart állítani, és a hiba csak IPv4-es tesztben láthatatlan.

Vezesse be időzítővel és visszaállítással

Alkalmazza az útvonalat rövid automatikus eltávolítással, hogy egy hiba ne maradjon fenn újraindítás után. Az alábbi parancsok dokumentációs tartományt használnak; cserélje ki arra az előtagra, amelyet a terve valóban eldob:

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

A második parancsnak jelentenie kell a blackhole-útvonalat és a táblát, ahonnan jött. A harmadik egy perc múlva ütemezi az eltávolítást, ami elég idő a házirend megerősítésére, és elég rövid ahhoz, hogy egy távoli hoszton történt hibából helyreálljon. A viselkedés megerősítése után tegye állandóvá a bejegyzést ugyanazzal a konfigurációkezeléssel, amely a többi útvonalat birtokolja.

Zárja le a változtatást az előtag, a tábla, a címcsalád és a visszaállítási módszer rögzítésével. Az eldobás szándékos kivétel az útválasztási tervben, és a következő mérnöknek tudnia kell, melyik forgalmat kellett volna megállítania, mielőtt eldönti, hogy még mindig oda tartozik-e.

Kapcsolódó cikkek