WireGuard noklusējuma maršruta cilpa: atrodiet galapunkta ceļu
Noklusējuma maršruts sūta paša tuneļa šifrētās paketes atpakaļ tajā pašā. Izlasiet galapunkta ceļu, pievienojiet vienu resursdatora maršrutu, pēc tam pārbaudiet un atvelciet.
Saskarne paceļas, partnera konfigurācija izskatās pareiza, un neviens rokasspiediens nekad netiek pabeigts. Noklusējuma maršruta pievienošana caur tuneli ir solis, kas to bieži izraisa: tā pati maršrutu tabula tagad nosaka, kur jāiet paša tuneļa šifrētajām pakatēm, un tās sniegtā atbilde ved atpakaļ tunelī. Nekas nevar pārnest ārējo paketi, kas pārnestu iekšējo, tāpēc savienojums apstājas pirms sākšanās. Labojums ir mazs, bet tam ir secība, un pārbaude ir svarīgāka par rediģēšanu.
Apstipriniet cilpu pirms maršruta maiņas
Izlasiet partnera pašreizējo galapunkta adresi un pēc tam pajautājiet maršrutēšanas stekam, kur aizietu pakete uz šo adresi. Ja atbilde nosauc tuneļa saskarni, cilpa ir apstiprināta un turpmāka diagnostika nav nepieciešama. Saglabājiet abas izvades izmaiņu žurnālā, pirms kaut kam pieskaraties, jo salīdzinājums pēc labojuma ir tās pašas divas komandas. Cilpa nav smalka, tiklīdz to ierauga; grūtības ir tajā, ka saskarne izskatās vesela, kamēr tas notiek.
sudo wg show wg1 endpoints
ip route get 198.51.100.20
ip rule show
Iekļaujiet politikas noteikumus šajā ierakstā. Noklusējuma maršruts, kas galvenajā tabulā izskatās pareizs, joprojām var zaudēt noteikumam, kas atzīmētai vai neatzīmētai plūsmai izvēlas citu tabulu, un cilpa atkal parādīsies ar šķietami kārtīgu maršrutu tabulu.
Lasiet galapunkta ceļu, nevis tuneļa ceļu
Galapunkta ceļš ir maršruts, pa kuru šifrētās datagrammas nokļūst partnera publiskajā adresē, un tam jāpaliek ārpus tuneļa, kamēr vien tunelis pastāv. Tuneļa ceļš ir viss, ko partnerim ir atļauts pārnest. Šie divi ceļi dala vienu maršrutu tabulu, un tieši tāpēc viens visu aptverošs ieraksts var tos sabrukt vienu otrā. Tuneļa plūsmas atdalīšana no paša tuneļa transporta ir visa projektēšanas problēma, un katrs atbalstītais rīks to risina kaut kur nedaudz savādāk.
Pārbaudiet abas adrešu saimes atsevišķi, ja saskarne pārnes abas. Strādājoša IPv4 izslēgšana neko nepasaka par to, vai IPv6 galapunkts joprojām ir sasniedzams, un jaukta konfigurācija var šķist strādājoša, līdz tiek izvēlēta partnera IPv6 adrese.
Atjaunojiet galapunkta ceļu ar vienu konsekventu izmaiņu
Pastāv divas atbalstītas pieejas, un to sajaukšana ir veids, kā strādājoša iestatīšana kļūst neparedzama. Pirmā ir ļaut rīkam, kuram pieder saskarne, pārvaldīt visu tuneli: wg-quick ir īpaša apstrāde noklusējuma partnera diapazonam, kas instalē atsevišķu tabulu, politikas noteikumus un ligzdas atzīmi, kas tur ārējās paketes ārpus tuneļa. Atstājiet šo mehānismu neskartu, nevis atkārtojiet pusi no tā ar roku. Iestatīšana, kas sajauc manuāli pievienotu noklusējumu ar pārvaldnieku, kurš jau instalē atzīmes un noteikumus, mēdz neizdoties pēc atkārtotas savienošanas, kad pārvaldnieks pārraksta stāvokli, ko manuālais solis bija pieņēmis.
Otrā ir manuāla konstrukcija, kurā galapunkts iegūst skaidru resursdatora maršrutu caur fizisko vārteju. Pievienojiet šo maršrutu pirms noklusējuma, aizstājiet, nevis pievienojiet, lai novecojis ieraksts nevarētu uzvarēt, un pēc tam apstipriniet meklēšanu.
sudo ip route replace 198.51.100.20/32 via 192.0.2.1 dev eth0
ip route get 198.51.100.20
sudo ip route add default dev wg1
Pārbaudiet un pēc tam saglabājiet atgriešanās ceļu
Uz priekšu ejošs rokasspiediena laikspiedols ir pirmais pierādījums, un tas ir spēcīgāks par saskarni, kas vienkārši pastāv. Turpiniet ar lietojumprogrammas testu caur tuneli, pēc tam apzināti izslēdziet saskarni un apstipriniet, ka resursdators atgriežas lietojamā stāvoklī, nevis tur noklusējuma maršrutu, kas rāda uz nekurieni. Šo pēdējo soli cilvēki izlaiž, un tas nosaka, vai restartēšana atstās mašīnu bez savienojuma.
sudo wg show wg1 latest-handshakes
sudo wg-quick down wg1
ip route show default
ip route get 198.51.100.20
Pirms visa tā saglabājiet pašreizējo maršrutēšanas stāvokli un pārliecinieties, ka ir iekļuves ceļš, kas nav atkarīgs no tuneļa: konsole, ārpusjoslas pārvaldības adrese vai kolēģis uz vietas. Attālinātu mašīnu, kas zaudē noklusējuma maršrutu, nevar atgūt pa savienojumu, kuru tā tikko zaudēja, un drošākais rokasgrāmatas solis ir tas, kas veikts pirms pirmās komandas.