Avaat reititystaulukon yhteyden jälkeen ja löydät yhden osoitteen, joka reititetään tunnelin kautta, kun taas sen ympärillä oleva aliverkko menee edelleen paikalliselle yhdyskäytävälle. Tämä merkintä on isäntäreitti: yksi osoite, jota vastaa kaikkien ykkösten etuliite. Sillä on väliä, koska reitityspäätökset käyttävät pisintä täsmäävää etuliitettä, joten /32 voi syrjäyttää /24:n tai oletusreitin muuttamatta kumpaakaan. Onko kyse huolellisesta poikkeuksesta vai tulevasta katkoksesta, riippuu siitä, minkä osoitteen se nimeää ja kuka sitä ylläpitää.

Yksi osoite, yksi merkintä taulukossa

IPv4-isäntäreitti kantaa /32-etuliitettä ja IPv6-isäntäreitti /128:aa, mikä tarkoittaa, että merkintä voi täsmätä täsmälleen yhteen kohdeosoitteeseen. Mikään muu taulukossa ei liiku: kattava aliverkko ja oletusreitti pysyvät siellä, missä olivat. Kapea merkintä voittaa kyseisen osoitteen osalta siksi, että sen etuliite on pidempi, ei siksi, että se lisättiin myöhemmin.

Tämä ominaisuus tekee isäntäreitistä hyvän poikkeuksen ja huonon tavan. Kaksi /32-merkintää, jotka nimeävät palvelun etuoven, eivät kata sen toista osoitetta, sen IPv6-osoitetta eivätkä osoitetta, johon se muuttaa ensi kuussa. Taulukko täynnä selittämättömiä yhden osoitteen merkintöjä tarkoittaa yleensä, että joku paikkasi jatkuvasti aliverkkopäätöksen ympäriltä sen sijaan että olisi tehnyt sen. Lue ensin etuliitteen pituus ja kysy sitten, miltä merkinnän on tarkoitus suojata.

Lue merkintä asiakkaasta ulospäin

Aloita koneelta, jossa ongelma on, koska sama osoite voidaan reitittää eri tavalla kannettavassa ja sen edessä olevalla yhdyskäytävällä. Kysy ytimeltä, minkä polun se valitsisi täsmälleen sille osoitteelle, jota sovellus käyttää, sen sijaan että lukisit taulukkoa ylhäältä. Vastaus sisältää rajapinnan ja seuraavan hypyn, jotka yhdessä ovat päätös.

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

Toista kysely sille osoiteperheelle, jonka sovellus todella valitsee, sillä asiakas voi suosia IPv6:ta ja ohittaa hiljaa IPv4-poikkeuksen. Vertaa tulosta ennen tunnelin nousua ja sen jälkeen ja säilytä molemmat tulosteet. Tämä vertailu osoittaa, lisäsikö asiakas merkinnän yhteyden aikana vai oliko se jo siellä.

Pysyvä merkintä ja ajonaikainen merkintä epäonnistuvat eri tavoin. Ajonaikainen katoaa istunnon mukana, kun taas pysyvä selviää uudelleenkäynnistyksestä ja lähettää edelleen liikennettä yhdyskäytävälle, jota ei enää ole.

Päätepisteen poikkeus ja rekursion ansa

VPN-asiakkaat asentavat yleensä isäntäreitin palvelimen ulkoiseen osoitteeseen alkuperäisen yhdyskäytävän kautta ennen oletusreitin uudelleenohjausta. Ilman tätä merkintää salatut paketit lähetettäisiin tunnelin sisään, jota ne yrittävät rakentaa, ja yhteys kiertäisi silmukassa, kunnes aikakatkaisu tulisi.

Ansa syntyy, kun tunnelin hyväksytyt aliverkot sattuvat sisältämään tuon päätepisteosoitteen, tai kun toinen profiili lisää myöhemmin laajemman reitin. Silloin päätepisteen merkintä häviää pidemmälle etuliitteelle ja istunto romahtaa heti kun se alkaa välittää liikennettä. Päätepisteosoitteen kirjoittaminen hyväksyttyjen aliverkkojen viereen on halvin tapa huomata törmäys ennen käyttäjiä. Se myös selittää, miksi sama profiili toimii yhdestä verkosta ja epäonnistuu toisesta.

Varmista polku, jota sovellus todella käyttää

Onnistunut ping isäntänimeen on heikko todiste, kun sovellus yhdistää toiseen osoitteeseen tai toiseen perheeseen. Varmista osoitteen, perheen, portin ja rajapinnan tarkka yhdistelmä koneelta, joka suorittaa asiakasta.

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

Jos polku on väärä, päätä ennen minkään muokkaamista, onko vaatimus verkko vai yksi osoite. Yhden osoitteen vaatimus oikeuttaa isäntäreitin kommentilla ja omistajalla; palvelu, jonka osoitteet vaihtuvat, tarvitsee verkkotunnuspohjaisen reitityksen tai rehellisen aliverkkopäätöksen.

Poista merkinnät, jotka eivät enää vastaa todellista kohdetta, ja merkitse ne, jotka pidät. Selittämätön /32 on kolme kuukautta myöhemmin mahdoton erottaa virheestä, ja seuraava henkilö poistaa sen tietämättä, mitä siitä riippui.

Aiheeseen liittyvät artikkelit