WireGuard AllowedIPs: die roete wat NetworkManager nooit bygevoeg het nie
’n Geldige WireGuard-profiel kan sy handdruk voltooi en steeds niks stuur nie. Vergelyk die kerntabel met AllowedIPs en gee dan die roetepaard een eienaar.
Die handdrukteller word opgedateer, die koppelvlak hou sy adres, en ’n ping na die ander kant gaan nêrens heen nie. Daardie kombinasie verwar mense, want ’n werkende handdruk voel soos bewys dat die tonnel gereed is. Dit is nie so nie: ’n tonnel kan ten volle onderhandel wees en steeds geen roete hê wat verkeer daarin stuur nie, en dit is twee afsonderlike take wat deur twee afsonderlike stukke toestand uitgevoer word. Die oplossing hang heeltemal daarvan af watter van die twee ontbreek, so die eerste stap is om dit uit te vind.
wg-quick doen albei sonder dat iemand dit vra. NetworkManager se ingeboude WireGuard-ondersteuning installeer ook by verstek peer-roetes, wat die verdagtes beperk tot ’n gedeaktiveerde opsie, ’n ander roetertabel of ’n konfigurasie wat deur iets anders ingevoer is.
Bevestig die tonnel voordat jy die roete agtervolg
wg show druk die koppelvlak, die peer, die eindpunt en die ouderdom van die jongste handdruk, en ip addr show bevestig dat die adres daar is. ’n Onlangse handdruk beteken die sleutels, die eindpunt en die UDP-pad werk. Wat ook al stukkend is, sit stroomaf daarvan: roetering, filtering of naamoplossing.
Vra die kernel dan wat hy met ’n werklike bestemming sou doen eerder as met ’n hipotetiese een: ip route get 10.42.7.9. Die antwoord noem die uitgaande koppelvlak en die bronadres wat die pakket sou dra. Wanneer dit die fisiese adapter noem, betree die pakket nooit die tonnel nie, maak nie saak hoe gesond die handdruk lyk nie.
AllowedIPs is ’n filter en ’n roetelys
Die voorvoegsels in AllowedIPs doen twee take. Hulle kies watter peer ’n uitgaande bestemming dra, en hulle valideer die bronadres van inkomende pakkette, wat die cryptokey-roetegrens is. In wg-quick dryf hulle ook outomatiese roete-installasie, en daardie ekstra gedrag is waarom dieselfde konfigurasie in ’n terminale werk en nie in ’n lessenaarkliënt nie.
In die geval agter hierdie artikel is die profiel deur ’n derdeparty-invoegtoepassing ingevoer eerder as deur die ingeboude ondersteuning, en die koppelvlak het sonder die voorvoegselroete opgekom. Om die tabel te lys wys dit dadelik: ip route show bevat net die gekoppelde roete vir die koppelvlakadres, en niks vir die afgeleë reeks nie.
Vra of peer-roetes hoegenaamd geaktiveer is
Lees die instelling voordat jy enigiets verander: nmcli -f wireguard.peer-routes,ipv4.route-table connection show work-wg. Wanneer peer-routes no lees, is die ondersteunde herstel nmcli connection modify work-wg wireguard.peer-routes yes, gevolg deur ’n herverbinding. Om eerder ’n statiese roete by te voeg werk tot die volgende aktivering en verdwyn dan stilweg. Daardie verdwyning is die teken: ’n roete wat elke oggend as ’n raaisel terugkeer, word nie deur die profiel geïnstalleer nie.
As die opsie al geaktiveer is, kyk of die voorvoegsel in ’n ander tabel woon met ip route show table all | grep 10. ’n Roete in ’n nie-hooftabel ontbreek nie, dit is bloot onsigbaar vir ’n opsoek wat net die hooftabel raadpleeg. Maak die beleidsroetering reg eerder as om ’n duplikaatinskrywing bo-op te stapel.
Voeg die voorvoegsel by die verbinding, nie by die lopende stelsel nie
In die verbindingsredigeerder hou die WireGuard-bladsy die peer en sy AllowedIPs, en die IPv4-bladsy hou bykomende roetes. ’n Roete wat daar bygevoeg word, oorleef herverbindings want dit hoort by die profiel. Op die opdragreël is die ekwivalent om ’n roete by die verbinding te voeg met die leë-poortvorm, en dan die verbinding af en op te sikluseer sodat die verandering toegepas word.
Kies die nouste voorvoegsel wat die hosts dek wat jy nodig het. Om die verskaffer se voorbeeld /8 te kopieer kan plaaslike reekse insluk wat toevallig daarbinne sit, en die gevolglike foute lyk soos ’n stukkende tonnel eerder as ’n te wye roete.
Split-tunneling word deur die voorvoegsellys beslis
Daar is geen split-tonnel-skakelaar nie; die voorvoegsellys is die besluit. ’n Peer met een reeks vir die kantoor-LAN en een vir ’n laboratoriumnetwerk stuur presies daardie bestemmings deur die tonnel en laat alles anders alleen. ’n Enkele host het ’n /32 nodig, en oorvleuelende reekse by twee terreine het hostvoorvoegsels nodig totdat iemand ’n subnet hernommer.
Om te kies om niks deur die tonnel te stuur neem dieselfde besluit tot sy uiterste: ’n minimale lys laat die skakel op terwyl gewone verkeer sy gewone pad volg. Skryf die bedoeling neer, want die volgende leser sal die kort lys anders as ’n versuim beskou en dit behulpsaam verleng.
Een eienaar vir die roetertabel
wg-quick en NetworkManager glo albei dat hulle die koppelvlak se roetes besit. Voer ’n konfigurasie in wat vir wg-quick geskryf is en begin dan ook die wg-quick-diens, en jy kry gedupliseerde of botsende inskrywings waarvan die gedrag afhang van watter een laas gehardloop het. Kies ’n enkele eienaar en verwyder die ander: as NetworkManager die verbinding bestuur, deaktiveer die wg-quick-eenheid vir daardie koppelvlak, en voeg nooit ’n tweede profiel vir dieselfde toestel by nie.
Wanneer die splitsing ’n fisiese adapter eerder as ’n bestemming moet volg, het jy na beleidsroetering beweeg, en beleidsroetering het ook ’n enkele outeur nodig. Verifieer deur ip route get te herhaal en dan ’n host binne die afgeleë voorvoegsel te bereik met iets wat die bronadres druk wat dit gekies het. Kontroleer IPv6 en DNS afsonderlik as die profiel enige van die twee dra.