WireGuard: dy gjysmë rrugë kundrejt 0.0.0.0/0 në wg-quick
Dy intervalet /1 mbulojnë të njëjtat adresa si /0, por wg-quick i drejton ndryshe. Kontrolloni rregullat e politikës, shenjat dhe rrugën e pikës fundore përpara se të modifikoni.
Dy prefikset /1 mbulojnë saktësisht të njëjtat adresa IPv4 si një /0 i vetëm, dhe ky barazim vlen vetëm brenda listës së prefikseve të lejuara të partnerit. Ai pushon së vlefi në momentin kur mjeti i konfigurimit vendos si të drejtojë, sepse Linux wg-quick e trajton një prefiks të parazgjedhur si rast të veçantë dhe jo si aritmetikë. Dega e veçantë instalon një tabelë të dedikuar, dy rregulla politike, një shenjë soketi dhe cilësime të rrugës së kthimit që një çift gjysmë rrugësh nuk i merr kurrë. Prandaj, kur pas modifikimit një proxy ose një shfletues ndalon së punuari, prefikset janë pjesa më pak interesante e ndryshimit.
Lista e prefikseve nuk është e gjithë konfigurimi
AllowedIPs bën dy punë njëherësh, dhe vetëm njëra prej tyre ka të bëjë me mbulimin. Për vetë WireGuard lista është drejtim me çelës kriptografik: vendos cilat destinacione kriptohen drejt një partneri dhe cilat adresa burimi mund të përdorë ai partner. Për wg-quick e njëjta listë shërben edhe si specifikim rrugësh, dhe rruga që prodhon varet nga dega që lista përputh rastësisht. Prandaj mbulim identik në dy forma të ndryshme liste nuk thotë asgjë për një gjendje identike të hostit.
Konfigurimi i parazgjedhur e heq atë vendim nga duart tuaja, sepse Table është automatik si parazgjedhje dhe mjeti zgjedh vetë ku ulen rrugët. Një menaxher tjetër rrjeti, një mbështjellës shpërndarjeje ose një vlerë e personalizuar Table ndryshon përsëri rezultatin, dhe për këtë arsye një këshillë e shkruar për një host mund të duket e gabuar në atë tjetrin.
Çfarë shton dega e parazgjedhur përtej një rruge
Një hyrje /0 e dërgon wg-quick në rrugën e tij të parazgjedhur: një tabelë e veçantë drejtimi merr të parazgjedhurën, një rregull politike dërgon atje trafikun e pashenjuar, një rregull i dytë mban si autoritativë rrugët më specifike të tabelës kryesore, dhe ndërfaqja merr një shenjë firewalling në soketin e vet. Ajo shenjë është roja i lakut. Datagramet e kriptuara që mbajnë trafikun e tunelit dalin me shenjën e vendosur, që rregulli që drejton gjithçka tjetër në tunel të mos gëlltisë paketat e transportit të vetë tunelit.
Në vend të kësaj, një çift hyrjesh /1 ndjek rrugën e zakonshme. Dy rrugë ulen në tabelën e konfiguruar, dhe asnjë pjesë e makinerisë përreth nuk shfaqet, jo sepse është e panevojshme, por sepse ai kod nuk u ndoq kurrë.
Ku ndahen dy rregullimet
Diferenca shfaqet së pari si rekursion. Kur gjysmë rrugët janë në tabelën kryesore, adresa e transportit e vetë partnerit bie brenda një prefiksi tuneli, kështu që paketa që duhet të mbajë tunelin përputhet me një rrugë që tregon brenda tunelit. Diçka duhet ta përjashtojë: një rrugë hosti për pikën fundore aktuale, një shenjë e vendosur me dorë ose një rregull specifik i ndërfaqes. Një rrugë hosti funksionon derisa të ndryshojë adresa e pikës fundore, gjë që ndodh me pika fundore të bazuara në DNS, klientë nomadë dhe konfigurime me shumë partnerë.
Së dyti, gjithçka që arsyeton mbi shenjat ndryshon sjellje. Një proxy transparent që ridrejton lidhjet lokalisht krijon sokete të reja, shenjat dhe burimet e të cilave ndryshojnë nga rrjedha origjinale e klientit, dhe rregullat e politikës të prodhuara nga dega e parazgjedhur ishin pjesë e asaj që i ndau ato rrjedha. Leximi i lidhjes dalëse të vetë proxy-t është një ushtrim tjetër nga testimi nëse destinacioni origjinal është i arritshëm.
Lexoni rregullat dhe shenjat përpara modifikimit
Regjistroni gjendjen aktuale ndërsa tuneli është i shëndetshëm, pastaj përsëri pas ndryshimit, dhe krahasoni dy shkarkimet në vend që të arsyetoni nga skedari i konfigurimit. Përfshini rregullat e politikës, çdo tabelë, shenjën e ndërfaqes dhe pikat fundore të regjistruara.
ip rule show
ip -4 route show table all | grep -E 'default|wg1'
wg show wg1 fwmark
wg show wg1 endpoints
Nëse rreshti i parë i daljes ka humbur rregullin për trafikun e pashenjuar dhe tabela e dedikuar është bosh, dega e parazgjedhur nuk po ekzekutohet dhe asnjë aritmetikë prefiksesh nuk i rikthen efektet e saj. Një shenjë zero në një ndërfaqe që më parë mbante një të tillë është i njëjti sinjal, i dukshëm në një vlerë të vetme.
Ushtroni humbjen e tunelit përpara se ta publikoni
Nëse rregullimi me gjysmë rrugë është zgjedhja e qëllimshme, ai duhet t'i sigurojë shprehimisht pjesët që mungojnë: një rrugë pike fundore që i reziston ndryshimeve të adresës, sjelljen e synuar kur tuneli bie dhe trajtimin ekuivalent për IPv6. Shkruajini ato si kërkesa në vend që t'i zbuloni gjatë një ndërprerjeje. Pastaj ushtroni dështimin, sepse një tunel i plotë që bie në heshtje përsëri mbi lidhjen fizike është më keq se një që ndalon së punuari.
sudo ip -4 route add 198.51.100.20/32 via 192.0.2.1 dev eth0
ip -4 route get 198.51.100.20
sudo wg-quick down wg1
Kërkimi i rrugës duhet ta zgjidhë pikën fundore nga ndërfaqja fizike pa e kaluar tunelin, dhe ulja e ndërfaqes duhet ta lërë hostin në gjendjen që premtoi dizajni. Një proxy që punon pas zëvendësimit provon se gjendja e gjeneruar e hostit kishte rëndësi; nuk provon se parandalimi i lakut dhe sjellja në gjendje të fikur i mbijetuan modifikimit.