NetworkManager vs wg-quick: kellele kuuluvad sinu WireGuard-marsruudid?
Kaks haldurit võivad mõlemad nõuda sama WireGuard-ühendust ja muudetud konfiguratsioon ei pruugi olla see, mis kehtib. Leia omanik marsruutide, reeglite ja liidese oleku järgi.
Muudate WireGuardi failis AllowedIPs-i, taaskäivitate tunnelit ja marsruutimistabel näeb välja täpselt nagu enne. Tavaline reaktsioon on tülikas marsruut kustutada ja edasi minna, mis toimib seni, kuni järgmine uuestiühendus selle tagasi paneb. Fail, mida muutsite, ei pruugi olla objekt, mis tekitas oleku, mida näete. Kaks haldurit võivad ühel masinal sama protokolli käitada ja ainult üks neist omab liidest igal hetkel.
Müüt: masinas on üks WireGuardi konfiguratsioon
wg-quick loeb faili asukohas /etc/wireguard/ ja ehitab liidese, kui selle üles tõstate. NetworkManager salvestab ühenduse profiili oma keyfile-vormingus ja kuvab selle aktiveerimisel, ning wg-quick-faili importimine kopeerib väärtused sellesse profiili, selle asemel et sellele viidata. Originaali hilisem muutmine ei muuda midagi, sest profiil ei loe seda enam. Seega võib sama partnerite ja võtmete loend eksisteerida kaks korda, kusjuures kehtib teine koopia.
Märk, mida tasub meeles pidada: muudatused, mis peavad vastu taaskäivitusele, aga mitte uuestiimportimisele, pärinevad ühest hoidlast, ja muudatused, mis taaskäivitusel kaovad, teisest.
Üks praktiline näide teeb jaotuse ilmseks. Võrrelge nmcli connection show marsruudiga systemctl status wg-quick@wg0, seejärel kontrollige, millise liidese küljes marsruudid tegelikult ripuvad. Kui teenus on surnud ja liides üleval, teeb töö profiil, mida iganes fail ütleb.
Müüt: marsruutimisreeglid on WireGuardi osa
Kerneli WireGuardi seade teab partnereid ja võtmeid ning ei tea poliitikapõhisest marsruutimisest midagi. Kõik ip rule kirjed ja lisatabelid, mida näete, paigaldas tööriist, mis liidese üles tõi. wg-quick võib lisada fwmarki ja eraldi tabeli ning sellele osutavad reeglid, samas kui NetworkManager paigaldab marsruudid oma ipv4-seadete kaudu ja jätab DNS-i sellele resolveri taustaprogrammile, mida süsteem kasutab. Sama tunnel, erinevad kõrvalmõjud.
Lugege ip rule ja ip route show table all enne millegi muutmist ning pange kirja, millises tabelis iga marsruut elab. Tabelinumber, mida te ei konfigureerinud, on tugev vihje selle loonud tööriista kohta.
Müüt: marsruudi kustutamine on parandus
Käitamise ajal kustutatud marsruut on marsruut, mille omanik järgmisel aktiveerimisel uuesti paigaldab, ja aktiveerimine võib toimuda ilma teieta: sülearvuti ärkamine, lingi tõrge, teenuse taaskäivitamine või NetworkManageri automaatühendus. Sellepärast naaseb sama marsruut ja sellepärast tundub ajutine lahendus ebausaldusväärne, mitte vale. Tuvastage esmalt haldur, seejärel muutke sisendit, mida see haldur tegelikult loeb.
Uuesti ühendamine ja asjaomase teenuse taaskäivitamine on katse, mis eristab tõelist parandust viisakalt näivast.
Valige üks omanik ja eemaldage teine
Valige haldur, mida teie juurutus toetab, ja seejärel keelake konkureeriv aktiveerimine selle dokumenteeritud juhtimisvahendi kaudu, selle asemel et loota, et see jääb tegevusetuks. Maskeeritud wg-quick-teenus või kustutatud NetworkManageri profiil on selge; mõlema lubatuks jätmine ja nende võiduajamine pole seda. Säilitage töötav juurdepääs enne millegi keelamist, sest liides, mis kannab teie kaugsessiooni, võib olla see, mille kohe eemaldate.
Pärast muudatust kontrollige kaasatud ja välistatud liiklust, seejärel DNS-i, seejärel taaskäivitage korra. Kui olek peab ühe halduriga taaskäivitusele vastu, on teil omanik, mitte juhus.
Üldreeglit tasub meeles pidada ka väljaspool WireGuardi: kui säte tuleb ikka ja jälle tagasi, lõpetage tulemuse kustutamine ja leidke protsess, mis seda pidevalt tekitab.