Hvorfor en /32-vertsrute holder VPN-endepunktet tilgjengelig
En vertsrute velger én adresse, ikke et subnett. Den kan holde et tunnelepndepunkt tilgjengelig eller feste én ressurs, men blir utdatert når adressene endres.
Du åpner rutingtabellen etter tilkobling og finner én enkelt adresse som rutes gjennom tunnelen, mens subnettet rundt fortsatt går til den lokale gatewayen. Den oppføringen er en vertsrute: én adresse, matchet av et prefiks med bare enere. Det betyr noe fordi rutingbeslutninger bruker det lengste matchende prefikset, så en /32 kan overstyre en /24 eller en standardrute uten å endre noen av dem. Om det er et nøye gjennomtenkt unntak eller et framtidig avbrudd avhenger av hvilken adresse den navngir og hvem som vedlikeholder den.
Én adresse, én oppføring i tabellen
En IPv4-vertsrute har et /32-prefiks og en IPv6-vertsrute har /128, som betyr at oppføringen kan matche nøyaktig én destinasjonsadresse. Ingenting annet i tabellen flytter seg: subnettet som dekker den og standardruten blir der de var. Den smale oppføringen vinner for den adressen fordi prefikset er lengre, ikke fordi den ble lagt til senere.
Den egenskapen gjør en vertsrute til et godt unntak og en dårlig vane. To /32-oppføringer som navngir inngangsdøren til en tjeneste dekker ikke dens andre adresse, dens IPv6-adresse eller adressen den flytter til neste måned. En tabell full av uforklarte enkeltadresseoppføringer betyr vanligvis at noen fortsatte å lappe rundt en subnettbeslutning i stedet for å ta den. Les prefikslengden først, og spør deretter hva oppføringen skal beskytte.
Les oppføringen fra klienten og utover
Start på maskinen med problemet, fordi samme adresse kan rutes ulikt på en bærbar PC og på gatewayen foran den. Spør kjernen hvilken vei den ville velge for den nøyaktige adressen programmet bruker, i stedet for å lese tabellen ovenfra. Svaret inkluderer grensesnittet og neste hopp, som sammen er beslutningen.
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ørringen for den adressefamilien programmet faktisk velger, siden en klient kan foretrekke IPv6 og stille omgå et IPv4-unntak. Sammenlign resultatet før og etter at tunnelen kommer opp, og ta vare på begge utskriftene. Den sammenligningen viser om klienten la til oppføringen ved tilkobling eller om den allerede var der.
En permanent oppføring og en kjøretidsoppføring feiler ulikt. Kjøretidsoppføringen forsvinner med økten, mens den permanente overlever en omstart og fortsetter å sende trafikk til en gateway som ikke finnes lenger.
Endepunktunntaket og rekursjonsfellen
VPN-klienter installerer vanligvis en vertsrute til serverens ytre adresse via den opprinnelige gatewayen før de omdirigerer standardruten. Uten den oppføringen ville de krypterte pakkene blitt sendt inn i tunnelen de prøver å bygge, og tilkoblingen ville gått i loop til den timet ut.
Fellen dukker opp når tunnelens aksepterte subnett tilfeldigvis inkluderer den endepunktadressen, eller når en annen profil senere legger til en bredere rute. Da taper endepunktoppføringen mot et lengre prefiks, og økten kollapser så snart den begynner å føre trafikk. Å skrive endepunktadressen ved siden av de aksepterte subnettene er den billigste måten å oppdage kollisjonen før brukerne. Det forklarer også hvorfor samme profil virker fra ett nettverk og feiler fra et annet.
Verifiser veien programmet virkelig bruker
En vellykket ping til vertsnavnet er svakt bevis når programmet kobler til en annen adresse eller en annen familie. Verifiser den nøyaktige kombinasjonen av adresse, familie, port og grensesnitt, fra maskinen som kjører 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 veien feil, avgjør om kravet er et nettverk eller én adresse før du redigerer noe. Et krav om én adresse rettferdiggjør en vertsrute med en kommentar og en eier; en tjeneste med roterende adresser trenger domenebasert ruting eller en ærlig subnettbeslutning.
Fjern oppføringer som ikke lenger svarer til en reell destinasjon, og noter dem du beholder. En uforklart /32 kan tre måneder senere ikke skilles fra en feil, og neste person sletter den uten å vite hva som avhang av den.