Zakaj pot do gostitelja /32 ohranja končno točko VPN dosegljivo
Pot do gostitelja izbere en naslov, ne podomrežja. Lahko ohrani končno točko tunela dosegljivo ali pripne en vir, a se postara, ko se naslovi spreminjajo.
Po povezavi odprete usmerjevalno tabelo in najdete en naslov, usmerjen skozi tunel, medtem ko podomrežje okoli njega še vedno gre na lokalna vrata. Ta vnos je pot do gostitelja: en naslov, ki se ujema s predpono samih enic. Pomembno je, ker odločitve usmerjanja uporabljajo najdaljšo ujemajočo se predpono, zato lahko /32 preglasi /24 ali privzeto pot, ne da bi spremenil katero od njiju. Ali je to skrbna izjema ali prihodnja prekinitev, je odvisno od tega, kateri naslov poimenuje in kdo jo vzdržuje.
En naslov, en vnos v tabeli
Pot do gostitelja IPv4 nosi predpono /32, pot do gostitelja IPv6 pa /128, kar pomeni, da se vnos lahko ujema natanko z enim ciljnim naslovom. Nič drugega v tabeli se ne premakne: podomrežje, ki jo pokriva, in privzeta pot ostaneta tam, kjer sta bili. Ozek vnos zmaga za ta naslov zato, ker je njegova predpona daljša, ne zato, ker je bil dodan pozneje.
Ta lastnost naredi pot do gostitelja dobro izjemo in slabo navado. Dva vnosa /32, ki poimenujeta vhodna vrata storitve, ne pokrijeta njenega drugega naslova, njenega naslova IPv6 ali naslova, na katerega se preseli naslednji mesec. Tabela, polna nerazloženih vnosov z enim naslovom, običajno pomeni, da je nekdo nenehno krpal okoli odločitve o podomrežju, namesto da bi jo sprejel. Najprej preberite dolžino predpone in nato vprašajte, pred čim naj vnos ščiti.
Berite vnos od odjemalca navzven
Začnite pri stroju s težavo, ker je isti naslov lahko usmerjen drugače na prenosniku in na prehodu pred njim. Vprašajte jedro, katero pot bi izbralo za točen naslov, ki ga uporablja aplikacija, namesto da berete tabelo od zgoraj. Odgovor vključuje vmesnik in naslednji skok, ki skupaj tvorita odločitev.
ip route get 203.0.113.25
ip -6 route get 2001:db8:4::25
ip route show | grep -F 203.0.113.25
Find-NetRoute -RemoteIPAddress 203.0.113.25
Ponovite poizvedbo za družino naslovov, ki jo aplikacija dejansko izbere, saj lahko odjemalec daje prednost IPv6 in tiho obide izjemo IPv4. Primerjajte rezultat pred dvigom tunela in po njem ter shranite oba izhoda. Ta primerjava pokaže, ali je odjemalec vnos dodal ob povezavi ali je bil tam že prej.
Trajni vnos in vnos med izvajanjem odpovedujeta različno. Vnos med izvajanjem izgine s sejo, trajni pa preživi ponovni zagon in še naprej pošilja promet prehodu, ki ne obstaja več.
Izjema končne točke in past rekurzije
Odjemalci VPN običajno namestijo pot do gostitelja na zunanji naslov strežnika prek izvirnega prehoda, preden preusmerijo privzeto pot. Brez tega vnosa bi se šifrirani paketi pošiljali v tunel, ki ga poskušajo zgraditi, in povezava bi se vrtela v zanki, dokler ne bi potekel čas.
Past se pojavi, ko sprejeta podomrežja tunela slučajno vključujejo ta naslov končne točke, ali ko drugi profil pozneje doda širšo pot. Takrat vnos končne točke izgubi proti daljši predponi in seja se sesuje takoj, ko začne prepuščati promet. Zapis naslova končne točke ob sprejetih podomrežjih je najcenejši način, da trk opazite pred uporabniki. Pojasnjuje tudi, zakaj isti profil deluje iz enega omrežja in ne uspe iz drugega.
Preverite pot, ki jo aplikacija res uporablja
Uspešen ping na ime gostitelja je šibek dokaz, ko se aplikacija povezuje z drugim naslovom ali drugo družino. Preverite natančno kombinacijo naslova, družine, vrat in vmesnika na stroju, ki izvaja odjemalca.
ip route get 203.0.113.25
sudo nft list ruleset | grep -A 4 'chain output'
curl -sS --max-time 8 -o /dev/null -w '%{remote_ip}
' https://app.example.net
Če je pot napačna, se odločite, ali je zahteva omrežje ali en naslov, preden karkoli uredite. Zahteva po enem naslovu upravičuje pot do gostitelja s komentarjem in lastnikom; storitev z vrtečimi se naslovi potrebuje usmerjanje na podlagi domene ali pošteno odločitev o podomrežju.
Odstranite vnose, ki ne ustrezajo več resničnemu cilju, in zabeležite tiste, ki jih obdržite. Nerazložen /32 se tri mesece pozneje ne razlikuje od napake in naslednja oseba ga bo izbrisala, ne da bi vedela, kaj je bilo od njega odvisno.