Blackhole-útvonal kontra VPN kill switch: mit tesz a kettő
A blackhole-útvonal elveti az egyező forgalmat, és hiba esetén zárt utat kényszerít ki. Hasonlítsa össze a hatókörét és a vakfoltjait egy csomagszűrésre épülő kill switch-csel.
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.
| Mechanism | What it blocks | What it misses | How failure looks |
|---|---|---|---|
| Blackhole route | Destinations matching the prefix and table | Other tables, other address families, traffic with a different route | Silent timeout |
| Firewall kill switch | Egress not bound to the tunnel interface | Rules that are too broad can break the endpoint or DHCP | Dropped packets with counters |
| WireGuard AllowedIPs | Destinations not routed into the interface | Traffic that never enters the interface at all | No 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/8A 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.