Du ansluter, kör en ruttlista och ser ett subnät du aldrig hört talas om peka mot tunneln. Den raden säger en sak exakt och flera saker inte alls. Den registrerar hur den här maskinen vidarebefordrar paket till det prefixet, ingenting om vilka värdar som finns där, och ingenting om vad ditt konto kan nå. Att läsa den rätt tar en minut; att läsa den som en inventering tar mycket längre tid att avlära.

Läs tabellen som lokala instruktioner

En rutt är en vidarebefordringsinstruktion som den lokala kärnan håller: för detta prefix använd det här gränssnittet och detta nästa hopp. Prefixets längd avgör hur specifik instruktionen är, och den längsta matchningen vinner. Ingenting i den regeln nämner behörigheter, tjänstens hälsa eller fjärrtopologi.

Policyregler kan ingripa innan tabellen konsulteras, och därför kan en rutt finnas och ändå inte vara den som ett visst paket använder. Läs reglerna bredvid tabellen och fråga sedan kärnan vilken väg den skulle välja för en specifik destination. Svaret för en adress är värt mer än en sida med prefix, och det är det enda svaret som speglar de markeringar, namnutrymmen och gränssnittsbindningar som klienten har tillämpat.

Ett brett prefix är inte en katalog

Ett /16 som routas genom tunneln betyder inte sextontusen nåbara värdar, och en standardrutt betyder ännu mindre. Servern avgör vem som svarar, brandväggen avgör vad som tillåts, och kontot avgör vad som är auktoriserat.

En smal tabell har den omvända fällan: ett saknat prefix kan betyda att destinationen nås via en annan väg, eller helt enkelt att den inte är routad alls. De två fallen ser identiska ut tills du testar dem. Jämför tabellen med resursen du blev tillsagd att använda, inte med dina förväntningar på vad en VPN borde innehålla.

Var posterna kommer ifrån

Rutter kommer från minst fyra ställen: konfigurationsfilen, servern som skjuter in en rutt under anslutningsuppsättningen, en nätverkshanterare som äger gränssnittet, och en person som skriver ett kommando under en incident. Var och en har olika livslängd och olika ägare.

Den som skrevs under ett avbrott är den som försvinner vid omstart och inte syns i någons dokumentation. En rutt som servern skjuter in ändras när servern ändras, och därför dyker ett oförklarat nytt prefix ofta upp efter en gateway-uppdatering och inte efter en klientändring. Den ip-route-handboken dokumenterar syntaxen för tabellen och fälten om du behöver läsa flaggorna.

Kontrollera rutten mot tjänsteavtalet

Den användbara jämförelsen är mellan tabellen och tjänsten du blev lovad: namn, adressomfång, port och ägare. Skriv de fyra bredvid prefixet och luckorna blir synliga.

ip route show table all dev tun0
ip route get 10.20.5.9
ip rule show

Om prefixet finns och tjänsten ändå misslyckas har tabellen gjort sitt jobb och problemet ligger någon annanstans: namnmatchning, en brandvägg på andra sidan eller ett konto utan rätt grupp. Om prefixet saknas är frågan vem som borde ha levererat det, inte vad man ska skriva. Båda svaren namnger ett team att fråga härnäst, och det är den enda användbara utdata av att läsa en ruttabell. Skriv ner namnet innan du stänger terminalen.

Registrera före och efter för varje ändring, med datum och gränssnitt. En ruttabell är en ögonblicksbild av ett ögonblick på en maskin, och den blir först bevis när någon har skrivit ner när den togs.

Relaterade artiklar