De measte minsken lêze AllowedIPs as in tagongslist, de set adressen dy't ferbine mei in peer meie, hast as in firewallregel skreaun foar in tunnel. Dat is it net. It fjild is in rûtetabel dy't yn beide rjochtingen wurket: it kiest in peer foar in útgeand pakket en it kontrolearret de boarne fan in ynkommend. It lêzen as tagongslist smitet konfiguraasjes dy't ferkear rûtearje dat nimmen frege hat.

Ien fjild, twa lêzers: kar foar útgeand en kontrôle fan boarne

By in klant beslisse de foarheaksels hokker bestimmingen nei dy peer reizgje en hokker op it gewoane netwurk bliuwe. In ynfier foar 0.0.0.0/0 fangt dus elke IPv4-bestimming, en dêrom stjoert it ymportearjen fan in folslein tunnelprofyl gewoan surfen troch de fiere masine. Smelle ynfierings dogge it tsjinoerstelde: se rûtearje allinnich de netwurken dy't jo neamd hawwe en litte al it oare wêr't it wie. De seksje oer kryptokaairûtering yn 'e WireGuard-dokumintaasje neamt beide taken op ien plak: kar fan de útgeande peer en kontrôle fan de ynkommende boarne.

Op de tsjinner beskriuwt itselde fjild hokker boarneadressen elke peer brûke mei. It is in kryptografyske kontrôle en gjin pakketfilter: in pakket wêrfan de ynnere boarne net by de list fan de peer past, wurdt binnen WireGuard weilitten foardat hokker firewall op 'e host it sjocht. Beide taken diele ien list, en dêrom krekt gedraacht in list dy't earne oars weikommen is, him ferkeard op in plak dêr't jo net oan tocht hiene.

It klantblok is it plak dêr't it measte fan dizze betizing begjint. In splitst tunnel neamt de fiere netwurken, en in folsleine tunnel is itselde fjild mei in standertfoarheaksel:

[Peer]
# split tunnel: only these networks
AllowedIPs = 10.77.0.0/24, 192.168.30.0/24

[Peer]
# full tunnel: everything, both families
AllowedIPs = 0.0.0.0/0, ::/0

Beide foarmen binne op harsels folslein, en it binne alternativen yn stee fan stappen. De earste stjoert allinnich dy twa netwurken troch de tunnel; de twadde stjoert elke bestimming, wêrby't de ynfier ::/0 IPv6 tafoeget oan 'e standert IPv4. Hokker jo ek kieze, dy foarheaksels binne de hiele rûtebeslissing foar dy peer sadree't wg-quick begjint mei it ynstallearjen fan rûtes.

De hub hat in oare list nedich

In hub listet it tunneladres fan elke klant as hostfoarheaksel, plus elk netwurk dat wier efter dy klant leit. It kopiearjen fan 'e brede list fan in klant nei elke hub-peer fertelt de hub dat in protte peers deselde adressen as boarne hawwe meie, en dat is gjin adresplan. It fjild Endpoint heart by in hiel oare laach: it neamt it bûtenadres en de poarte fan 'e peer, nea in bestimming binnen de tunnel.

[Peer]
# laptop: tunnel address 10.77.0.2, office LAN behind it
AllowedIPs = 10.77.0.2/32, 192.168.30.0/24

It hostfoarheaksel draacht it tunneladres en it netwurkfoarheaksel draacht wat efter de klant sit, en beide binne nedich. Sûnder it hostfoarheaksel kin de hub it eigen ferkear fan 'e klant net werombringe, en sûnder it netwurkfoarheaksel bliuwt it LAN dêrefter ûnberikber; in peer sûnder eat dêrefter krijt allinnich it hostfoarheaksel.

It oerslaan fan rûte-ynstallaasje lit in gat

wg-quick, de helper dy't in ynterface út in konfiguraasjebestân omheech bringt, ynstallearret ynterfaceadressen en rûtes as ûnderdiel fan dat wurk. Table = off ynstelle fertelt de helper om it rûtewurk oer te slaan, wat gjin ferfangings ynstallearret en it privee netwurk net berikber makket. As automatyske rûtes it wurk al dogge, is it neamen fan 'e foarheaksels dy't jo nedich hawwe de dúdlikere konfiguraasje. Rûtebehear útskeakelje en de ferfanging net skreaun litte is gjin ûntwerp, it is in weilitte.

It basisark wg gedraacht him oars: it konfigurearret de ynterface en rekket nea rûtes oan, dus in opset dy't direkt dêrop boud is, hat syn eigen rûte-opdrachten nedich. Ynstruksjes skreaun foar ien ark kinne ferkeard lykje as se mei it oare folge wurde. In slagge ping is ek swak bewiis, om't it ien paad testet yn stee fan elk applikaasjepaad dat jo nedich hawwe.

DNS en IPv6 wurde apart besletten

Kontrolearje it DNS-tsjinneradres dat de tunnel oankundiget, en befêstigje dat der in rûte nei dat adres bestiet fia de foarheaksels dy't jo keazen hawwe. In resolverynstelling makket de resolver net berikber, en it ferneukjen fan in tunnel kin de rûte dy't dêrhinne late stil weihelje. Undersykje IPv6 ek op himsels, want in krekte IPv4-splitsing seit neat oer in standertrûte IPv6 dy't noch nei de fysike ferbining wiist. Trije aparte beslissingen kinne tagelyk feroarje as jo ien peerblok bewurkje.

Iepenje dan ien privee boarne en ien gewoane webside fanút in bekende startkonfiguraasje. As de boarne antwurdet en surfen noch altyd fia de lokale ferbining giet, docht de splitsing wat jo fregen. As surfen itselde momint brekt, hat de tunnel de standertrûte nommen en is de foarheakselist it plak om te sykjen.

Relatearre artikelen