In pakket ferlit in laptop, berikt nea de VPN-gateway, en gjin firewall-teller beweecht. De ruttetabel hat it lot fan it pakket al beslist: in blackhole-ynskriuwing past dêrby en de kernel smiet it fuort foar't ien ynterface it seach. Dat gedrach is nuttich as in bestimming sletten mislearje moat, mar it is in routingaksje mei in smel berik. It behannelje as in folsleine kill-switch is wêr't ûntwerpen misgeane.

Wat de smyt-aksje eins treft

In ruttosoersyk kiest in tabel, dan it langste passende foarheaksel dêryn. In blackhole-route is in gewoane yskriuwing wêrfan de aksje smite is, dus it beynfloedet allinnich pakketten dy't dy yskriuwing keazen hiene nei de hiele beslissing. Feroarje de tabel mei in beliedsregel, of foegje in spesifiker foarheaksel ta, en it smiten jildt net mear.

Dêrom is it berik fan in blackhole krekt en maklik te neamen: it dekt it foarheaksel, yn 'e tabel, foar dy adresfamylje. It dekt gjin bestimming dy't in oare tabel winne soe, en it dekt IPv6 net allinnich om't it IPv4-foarheaksel fuortsmiten wurdt.

ip route get toant de beslissing foar't jo wat útbringe, ynklusyf de tabel en it ruttetype. Dat útfier lêze is flugger as út in mislearre fersyk ôfliede hokker regel of foarheaksel wurke.

Blackhole is net itselde as unreachable of prohibit

Linux biedt trije ruttetypen dy't op smiten lykje, en se ferskille yn wat de stjoerder sjocht. In blackhole lit it pakket falle sûnder antwurd, dus de kliïnt sjocht in tiidferstriken. In unreachable-route jout in ICMP unreachable-berjocht werom, dus de ferbining mislearret fluch mei in host- of netwurkflater. In prohibit-route jout in flater fan bestjoerlike ferbieding werom, wat tichter by in bewuste beliedswegering leit.

Kies it gedrach dat jo de applikaasje sjen litte wolle. Stil smiten is passend as jo it belied net iepenbierje wolle, en in fuortendaliks flater is better as brûkers begripe moatte wêrom't in bestimming net berikber is. It mingen fan de typen oer in netwurk leveret stipekaarten op dy't itselde belied as trije ferskillende steuringen beskriuwe.

Nim net oan dat elke smyt-ynskriuwing útwikselber is as jo in ferbining diagnostearje. De flatertekst, de tiid en de pakketopname ferskille, en it ruttetype yn 'e tabel fertelt jo hokker jo besjogge. De ip-route-hantlieding listet de typen en har flatersgedrach op.

Hoe't it him ferhâldt ta in kill-switch

In kill-switch is pakketfiltering: in firewallregel dy't útgongferkear fuortsmit dat bûten de tunnel gean soe. In blackhole-route is in troerstjoerbeslissing dy't earder yn 'e steapel nommen wurdt. Beide kinne ferkear stopje, mar se sjogge ferskillende dingen en misse ferskillende gefallen.

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

Berik is wêr't de fergeliking ta docht. In firewall kin eigner, poarte of ynterface oerienkomme en in applikaasje blokkearje wylst it einpunt berikber bliuwt; in route kin dat net. Oarsom kin in route in hiel foarheaksel nei smiten stjoere sûnder dat ien pakketfilter laden is, wat nuttich is op in minimaal systeem.

AllowedIPs fan WireGuard is kryptokaai-routing, gjin firewall. It beslút hokker bestimmingsfoarheaksels yn 'e ynterface akseptearre wurde, en in profyl dat allinnich it tunnel-subnet listet lit oare bestimmingen gewoan oan 'e gewoane standertroute oer. Dêrom brûke folsleine-tunnelprofylen 0.0.0.0/0 en dêrom ynstallearret wg-quick ek firewallregels as it kin.

Hâld it einpunt fan 'e tunnel bûten it smiten

It bûtenadres fan it einpunt moat berikber bliuwe fia de fysike ynterface. In smiten dat dat adres ek fangt, foarkomt dat de hânskudding fuortgiet, en de tunnel komt nea omheech, wat as in VPN-flater liket ynstee fan in routingbelied. Kontrolearje de route nei it einpunt foar en nei de feroaring.

Bestjoerlike tagong heart by deselde resinsje. As it iennichste paad nei de router of de kliïnt de tunnel is, kin in te breed smiten jo bûten de masine slute dy't jo it ferwiderje litte soe. Hâld in dokumintearre bûtenbânroute, in konsole of in tiidbûn weromrol by de hân.

IPv6 hat syn eigen yskriuwing en syn eigen resinsje nedich. In ûntwerp dat IPv4 yn in blackhole smyt wylst IPv6 op 'e standertroute bliuwt, lekt krekt it ferkear dat it belied stopje woe, en de flater is ûnsichtber yn in test mei allinnich IPv4.

Bring it yn mei in timer en in weromrol

Pas de route ta mei in koarte automatyske ferwidering sadat in flater net oer in werstart hinne bliuwt. De kommando's hjirûnder brûke in dokumintaasjeberik; ferfange it troch it foarheaksel dat jo ûntwerp eins fuortsmit:

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

It twadde kommando moat de blackhole-route en de tabel dêr't er wei kaam rapportearje. It tredde plandet ferwidering oer ien minút, dat is genôch tiid om it belied te befêstigjen en koart genôch om fan in flater op in ôfstân-host te herstellen. As it gedrach befêstige is, meitsje de yskriuwing duorsum fia deselde konfiguraasjebehear dat de oare routes besit.

Slút de feroaring ôf troch it foarheaksel, de tabel, de adresfamylje en de weromrolmetoade fêst te lizzen. In smiten is in bewuste útsûndering yn it routingûntwerp, en de folgjende yngenieur moat witte hokker ferkear it stopje moast foar't er beslút oft it der noch heart.

Relatearre artikelen