Marsruutimistabeleid loetakse katkiseks alati, kui lüüsi veerg jääb tühjaks, kuigi rida on tavaliselt iseenesest täielik. Väli via ilmub ainult siis, kui kernel annab paketi üle järgmise hüppe aadressile; liidesega seotud marsruut jõuab oma sihtkohtadesse hoopis lingikihi lahenduse või punkt-punkti partneri kaudu. Veergude lugemine vasakult paremale ütleb, millises olukorras olete, ja see lugemine peaks toimuma enne, kui keegi vaikimisi marsruuti muudab. Enamik puuduva lüüsi kohta käivaid pileteid lõpeb selle eristuse juures.

Lugege marsruudirida veeru kaupa

Iga kirje algab sihtkohaga ja selle prefiksi pikkusega ning lisab seejärel muutjad fikseeritud sõnavaras: via, dev, proto, scope, src ja metric. Rida nagu 198.51.100.0/24 dev tun0 proto kernel scope link src 198.51.100.2 on tihe, kuid täielikult määratud. Selles ei puudu miski ja mingit ruuteri aadressi ei vihjata.

Huvitav osa on via puudumine. Ilma järgmise hüppeta lahendab kernel sihtkoha otse nimetatud liidesel, mis tunneli puhul tähendab kaadri üleandmist tunneliseadmele ja kapselduse edasise hooldamise jätmist sellele. proto kernel registreerib, et kirje paigaldati automaatselt aadressi määramisel, mitte administraatori sisestatuna. scope link ütleb, et sihtkoht on sellel lingil kättesaadav ilma ruuterist läbi minemata, ja src nimetab aadressi, mille kernel eelistab sobiva liikluse lähtekohana.

Nüüd lugege vaikimisi marsruuti samamoodi: default via 192.0.2.254 dev eth0 proto static metric 100. Siin on via olemas, sest pakett vajab tõesti järgmist hüpet, ja see hüpe peab ise olema eth0 kaudu kättesaadav. Need kaks rida ei ole üksteise variandid; need vastavad eri küsimustele selle kohta, kuhu liiklus läheb.

Kaks marsruudikuju, mida omavahel segi aetakse

Tunneli alamvõrgu marsruut ja vaikimisi marsruut näevad ekraanipildil sarnased välja ning käituvad täiesti erinevalt. Kasutage allolevat tabelit väljade lugemisabina ja kinnitage seejärel tegelikud numbrid masinal, mida silute, selle asemel et usaldada juhendist pärit näidet.

Piece of the lineWhat it settlesWhat it says nothing about
The destination and maskWhich packets are eligible to matchWhere those packets leave the host
via plus its addressWhich next hop receives them, and therefore that a router is involvedWhether that router is reachable or sane
devWhich interface carries the encapsulated or raw packetWhether the interface is up or has a carrier
proto and scopeWho installed the entry and how far the destination is considered to beWhether a firewall later drops the traffic

Mida tabel teile öelda ei saa, on kavatsus. Otsene marsruut privaatsesse vahemikku läbi tunneli on teadlik jaotatud tunneli kavand; sama kuju hostil, mis peaks saatma kõik VPN-i kaudu, on sümptom. Kavatsus elab konfiguratsioonis, mis kirje tekitas, seega vaadake tööriista, mis selle paigaldas, enne kui järeldate, et kernel tegi midagi valesti.

Samamoodi ei ole puuduv lüüs luba selle väljamõtlemiseks. Kui marsruut tõesti vajab järgmist hüpet, peab see hüpe olema kättesaadav liidesel, mis seda kannab, ja punkt-punkti tunneli puhul ei ole partneri aadress sama objekt kui kohalik aadress. Kohaliku tunneli aadressi kohtlemine Etherneti ruuterina on tavaline viis luua marsruut, mis näeb õige välja ja ei edasta midagi.

Küsige kernelilt, millist rida see tegelikult kasutab

Tabeli lugemine ei ole sama mis otsingu tegemine, sest kernel konsulteerib enne vastamist poliitikareeglite, mitme tabeli ja vahemällu salvestatud kirjetega. Tegeliku otsingu sooritav tegusõna on ip route get ja see trükib marsruudi, mille selliste omadustega pakett võtaks.

ip route get 203.0.113.37 from 198.51.100.2 iif tun0

Asendage sihtkoht, mis teid tõesti huvitab, seejärel lisage from või iif, kui liiklus on allika järgi valitud või edasi suunatud, sest tavaline kohalik otsing võib valida teistsuguse tee kui edasisuunatud klient. Vastus nimetab liidest, valitud lähteaadressi ja mis tahes järgmist hüpet, mis on samad andmed, millega pakett sel hetkel marsruuditaks.

Kui vastus teid üllatab, trükkige reeglid enne mis tahes muudatust: ip -4 rule show loetleb need prioriteedi järjekorras ja VPN-klient, mis paigaldab oma tabeli või märgitud pakettide reegli, ei ilmu põhitabelisse üldse. Kõigi tabelite loetlemine sulgeb selle lünga.

ip -4 route show table all | grep -E 'tun|default'

Kontrollige aluskihti, enne kui vaikimisi marsruudi asendate

Tunneli enda paketid peavad jõudma kaugesse lõpp-punkti ja nad teevad seda füüsilise liidese kaudu, kasutades marsruuti, mis oli olemas enne VPN-i käivitumist. Kogu vaikimisi marsruudi asendamine ilma selle lõpp-punkti kinnitamata saadab kapseldatud paketid tunnelisse, mille nad peaksid ehitama, ja ühendus variseb kokku. Kinnitage esmalt lõpp-punkti tee otsinguga ainult lõpp-punkti aadressi järgi.

Hoidke muudatust tehes kolm asja lahus: lõpp-punkti marsruut, mis peab jääma füüsilisele liidesele, privaatsed vahemikud, mis peaksid tunnelisse sisenema, ja vaikimisi marsruut, mis otsustab kõik muu. Eraldage need selles järjekorras, rakendage üks korraga ja käivitage otsing uuesti pärast igat sammu. Ebaõnnestunud ping tõestab hiljem iseenesest väga vähe, sest õigused, vastuste marsruutimine, DNS ja teenus ise asuvad kõik korrektse marsruudi allavoolu.

Kirjutage üles neli väärtust, mille rida teile enne muudatust andis: sihtkoht, järgmine hüpe või selle puudumine, seade ja valitud allikas. Kui hilisem muudatus mõnda neist nihutab, teate, millist otsust tegelikult muudeti, ja saate taastada ühe kirje, selle asemel et kogu tabelit oletada.

Seotud artiklid