Kvifor ei /32-vertsrute held VPN-endepunktet tilgjengeleg
Ei vertsrute vel éi adresse, ikkje eit subnett. Ho kan halde eit tunnelepndepunkt tilgjengeleg eller feste éin ressurs, men vert utdatert når adressene endrar seg.
Du opnar rutingtabellen etter tilkopling og finn éi einaste adresse som vert ruta gjennom tunnelen, medan subnettet rundt framleis går til den lokale gatewayen. Den oppføringa er ei vertsrute: éi adresse, matcha av eit prefiks med berre einarar. Det har noko å seie fordi rutingavgjerder brukar det lengste matchende prefikset, så ein /32 kan overstyre ein /24 eller ei standardrute utan å endre nokon av dei. Om det er eit nøye gjennomtenkt unntak eller eit framtidig avbrot, kjem an på kva adresse ho nemner og kven som vedlikeheld ho.
Éi adresse, éi oppføring i tabellen
Ei IPv4-vertsrute har eit /32-prefiks og ei IPv6-vertsrute har /128, noko som tyder at oppføringa kan matche nøyaktig éi måladdresse. Ingenting anna i tabellen flyttar seg: subnettet som dekkjer ho og standardruta blir der dei var. Den smale oppføringa vinn for den adressa fordi prefikset hennar er lengre, ikkje fordi ho vart lagd til seinare.
Den eigenskapen gjer ei vertsrute til eit godt unntak og ein dårleg vane. To /32-oppføringar som nemner inngangsdøra til ein teneste dekkjer ikkje den andre adressa hennar, IPv6-adressa hennar eller adressa ho flyttar til neste månad. Ein tabell full av uforklarte einskildadresse-oppføringar tyder vanlegvis at nokon heldt fram med å lappe rundt eit subnettavgjerd i staden for å ta ho. Les prefikslengda fyrst, og spør deretter kva oppføringa skal verne.
Les oppføringa frå klienten og utover
Start på maskinen med problemet, fordi same adresse kan ruttast ulikt på ein berbar PC og på gatewayen framfor han. Spør kjernen kva veg han ville velje for den nøyaktige adressa programmet brukar, i staden for å lese tabellen ovanfrå. Svaret omfattar grensesnittet og neste hopp, som saman er avgjerda.
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
Gjenta spørjinga for den adressefamilien programmet faktisk vel, sidan ein klient kan føretrekkje IPv6 og stille omgå eit IPv4-unntak. Samanlikn resultatet før og etter at tunnelen kjem opp, og ta vare på begge utskriftene. Den samanlikninga viser om klienten la til oppføringa ved tilkopling eller om ho allereie var der.
Ei permanent oppføring og ei køyretidsoppføring feilar ulikt. Køyretidsoppføringa forsvinn med økta, medan den permanente overlever ein omstart og held fram med å sende trafikk til ein gateway som ikkje finst lenger.
Endepunktunntaket og rekursjonsfella
VPN-klientar installerer vanlegvis ei vertsrute til den ytre adressa til serveren via den opphavlege gatewayen før dei omdirigerer standardruta. Utan den oppføringa ville dei krypterte pakkane bli sende inn i tunnelen dei prøver å byggje, og tilkoplinga ville gå i loop til ho tima ut.
Fella dukkar opp når dei aksepterte subnetta til tunnelen tilfeldigvis omfattar den endepunktadressa, eller når ein annan profil seinare legg til ei breiare rute. Då tapar endepunktoppføringa mot eit lengre prefiks, og økta kollapsar så snart ho byrjar å føre trafikk. Å skrive endepunktadressa ved sida av dei aksepterte subnetta er den billegaste måten å oppdage kollisjonen før brukarane. Det forklarar òg kvifor same profil verkar frå eitt nettverk og feilar frå eit anna.
Stadfest vegen programmet verkeleg brukar
Ein vellukka ping til vertsnamnet er svakt prov når programmet koplar til ei anna adresse eller ein annan familie. Stadfest den nøyaktige kombinasjonen av adresse, familie, port og grensesnitt, frå maskinen som køyrer klienten.
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
Er vegen feil, avgjer om kravet er eit nettverk eller éi adresse før du redigerer noko. Eit krav om éi adresse rettferdiggjer ei vertsrute med ein kommentar og ein eigar; ein teneste med roterande adresser treng domenebasert ruting eller eit ærleg subnettavgjerd.
Fjern oppføringar som ikkje lenger svarar til ein reell destinasjon, og noter dei du held på. Ein uforklart /32 kan tre månader seinare ikkje skiljast frå ein feil, og neste person slettar han utan å vite kva som avhang av han.