Kodėl /32 mazgo maršrutas išlaiko VPN galinį tašką pasiekiamą
Mazgo maršrutas pasirenka vieną adresą, ne potinklį. Jis gali išlaikyti tunelio galinį tašką pasiekiamą arba prisegti vieną išteklių, bet pasensta, kai adresai keičiasi.
Prisijungę atidarote maršrutizavimo lentelę ir randate vieną adresą, nukreiptą per tunelį, o aplink jį esantis potinklis vis dar eina į vietinį šliuzą. Šis įrašas yra mazgo maršrutas: vienas adresas, atitinkamas prefikso iš vienetų. Tai svarbu, nes maršrutizavimo sprendimai naudoja ilgiausią atitinkantį prefiksą, todėl /32 gali aplenkti /24 arba numatytąjį maršrutą nekeisdamas nė vieno jų. Ar tai kruopšti išimtis, ar būsimas sutrikimas, priklauso nuo to, kurį adresą jis įvardija ir kas jį prižiūri.
Vienas adresas, vienas įrašas lentelėje
IPv4 mazgo maršrutas turi /32 prefiksą, o IPv6 mazgo maršrutas – /128, tai reiškia, kad įrašas gali atitikti tiksliai vieną paskirties adresą. Niekas kitas lentelėje nejuda: apimantis potinklis ir numatytasis maršrutas lieka ten, kur buvo. Siauras įrašas laimi tam adresui todėl, kad jo prefiksas ilgesnis, o ne todėl, kad jis buvo pridėtas vėliau.
Ši savybė daro mazgo maršrutą gera išimtimi ir blogu įpročiu. Du /32 įrašai, įvardijantys paslaugos priekines duris, neapima antrojo jos adreso, jos IPv6 adreso ar adreso, į kurį ji persikels kitą mėnesį. Lentelė, pilna nepaaiškintų vieno adreso įrašų, paprastai reiškia, kad kažkas vis lopė aplink potinklio sprendimą, o ne priėmė jį. Pirmiausia perskaitykite prefikso ilgį, tada paklauskite, ką įrašas turėtų saugoti.
Skaitykite įrašą nuo kliento į išorę
Pradėkite nuo mašinos, kurioje yra problema, nes tas pats adresas gali būti maršrutizuojamas kitaip nešiojamajame kompiuteryje ir priešais jį esančiame šliuze. Paklauskite branduolio, kokį kelią jis pasirinktų tiksliai tam adresui, kurį naudoja programa, o ne skaitykite lentelę iš viršaus. Atsakyme yra sąsaja ir kita pakopa, kurie kartu yra sprendimas.
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
Pakartokite užklausą tai adresų šeimai, kurią programa iš tikrųjų pasirenka, nes klientas gali teikti pirmenybę IPv6 ir tyliai apeiti IPv4 išimtį. Palyginkite rezultatą prieš tunelio pakėlimą ir po jo bei išsaugokite abi išvestis. Šis palyginimas parodo, ar klientas įrašą pridėjo jungdamasis, ar jis jau buvo ten.
Nuolatinis įrašas ir vykdymo laiko įrašas nepavyksta skirtingai. Vykdymo laiko įrašas dingsta su sesija, o nuolatinis išlieka po perkrovimo ir toliau siunčia srautą į šliuzą, kurio nebėra.
Galinio taško išimtis ir rekursijos spąstai
VPN klientai paprastai įdiegia mazgo maršrutą į išorinį serverio adresą per pradinį šliuzą, prieš nukreipdami numatytąjį maršrutą. Be šio įrašo užšifruoti paketai būtų siunčiami į tunelį, kurį jie bando pastatyti, o ryšys suktųsi kilpoje, kol baigtųsi laikas.
Spąstai atsiranda, kai priimti tunelio potinkliai atsitiktinai apima tą galinio taško adresą, arba kai antras profilis vėliau prideda platesnį maršrutą. Tada galinio taško įrašas pralaimi ilgesniam prefiksui, o sesija sugriūva vos pradėjus praleisti srautą. Galinio taško adreso užrašymas šalia priimtų potinklių yra pigiausias būdas pastebėti susidūrimą prieš naudotojus. Tai taip pat paaiškina, kodėl tas pats profilis veikia iš vieno tinklo, o iš kito nepavyksta.
Patikrinkite kelią, kurį programa iš tikrųjų naudoja
Sėkmingas ping į mazgo vardą yra silpnas įrodymas, kai programa jungiasi prie kito adreso ar kitos šeimos. Patikrinkite tikslią adreso, šeimos, prievado ir sąsajos kombinaciją mašinoje, kuri vykdo klientą.
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
Jei kelias neteisingas, prieš ką nors redaguodami nuspręskite, ar reikalavimas yra tinklas, ar vienas adresas. Vieno adreso reikalavimas pateisina mazgo maršrutą su komentaru ir savininku; paslaugai su rotuojamais adresais reikia domenu pagrįsto maršrutizavimo arba sąžiningo potinklio sprendimo.
Pašalinkite įrašus, kurie nebeatitinka tikros paskirties, ir pažymėkite tuos, kuriuos paliekate. Nepaaiškintas /32 po trijų mėnesių neatpažįstamas nuo klaidos, o kitas žmogus jį ištrins nežinodamas, kas nuo jo priklausė.