Routetabellen wurde as brutsen lêzen sa gau't de gateway-kolom leech bliuwt, wylst de rigel meastentiids op himsels folslein is. It fjild via ferskynt allinne as de kernel it pakket oerdraacht oan in adres fan 'e folgjende hop; in rûte dy't oan in ynterface ferbûn is, berikt syn bestimmingen ynstee troch resolúsje op 'e keppelingslaach of troch in punt-nei-punt-pear. De kolommen fan links nei rjochts lêze fertelt jo yn hokker gefal jo sitte, en dy lêzing moat barre foardat immen in standertrûte bewurket. De measte kaarten oer in ûntbrekkende gateway einigje by dit ûnderskie.

Lês in rûterigel kolom foar kolom

Elke ynfier begjint mei de bestimming en de lingte fan har foarheaksel, en foeget dan wizigers ta yn in fêste wurdskat: via, dev, proto, scope, src en metric. In rigel lykas 198.51.100.0/24 dev tun0 proto kernel scope link src 198.51.100.2 is ticht, mar folslein beskaat. Der ûntbrekt neat oan, en gjin routeradres wurdt ymplisearre.

It ôfwêzich wêzen fan via is it nijsgjirrige part. Sûnder folgjende hop makket de kernel de bestimming direkt op 'e neamde ynterface klear, wat foar in tunnel betsjut dat it frame oan it tunnelapparaat jûn wurdt en de ynkapseling it dêrwei oernimme lit. proto kernel registrearret dat de ynfier automatysk ynstallearre waard doe't in adres tawiisd waard, net troch in behearder typt. scope link seit dat de bestimming op dy keppeling te berikken is sûnder troch in router te gean, en src neamt it adres dat de kernel as boarne foar passend ferkear foarkar jout.

Lês no in standertrûte op deselde wize: default via 192.0.2.254 dev eth0 proto static metric 100. Hjir is via oanwêzich om't it pakket wol in folgjende hop nedich hat, en dy hop moat sels op eth0 te berikken wêze. De twa rigels binne gjin farianten fan elkoar; se beantwurdzje ferskillende fragen oer wêr't it ferkear hinne giet.

Twa rûtefoarmen dy't mei elkoar ferbjustere wurde

In tunnel-subnetrûte en in standertrûte lykje op in skermprint itselde en gedrage har hiel oars. Brûk de tabel hjirûnder as lêshulp foar de fjilden, en befêstigje dan de werklike sifers op 'e masine dy't jo debugge, yn stee fan in foarbyld út in hânlieding te fertrouwen.

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

Wat de tabel jo net fertelle kin, is bedoeling. In direkte rûte nei in privaat berik troch in tunnel is in bewust ûntwerp fan in split-tunnel; deselde foarm op in host dy't alles troch de VPN stjoere moat, is in symptoom. Bedoeling libbet yn 'e konfiguraasje dy't de ynfier makke hat, dus sjoch nei it ark dat it ynstallearre hat foardat jo konkludearje dat de kernel eat ferkeard die.

Likegoed is in ûntbrekkende gateway gjin tastimming om ien te betinken. As in rûte wier in folgjende hop nedich hat, moat dy hop te berikken wêze op 'e ynterface dy't him draacht, en foar in punt-nei-punt-tunnel is it adres fan 'e pear net itselde objekt as it lokale adres. It lokale tunneladres as in Ethernet-router behannelje is in gewoane manier om in rûte te meitsjen dy't korrekt liket en neat trochstjoert.

Freegje de kernel hokker rigel it echt brûke sil

De tabel lêze is net itselde as de syktocht útfiere, om't de kernel beliedsregels, ferskate tabellen en cache-de-ynfieringen rieplachtet foardat er antwurdet. It tiidwurd dat de echte syktocht útfiert is ip route get, en it prints de rûte dy't in pakket mei dy eigenskippen nimme soe.

ip route get 203.0.113.37 from 198.51.100.2 iif tun0

Ferfange troch de bestimming dêr't jo echt om jouwe, en foegje dan from of iif ta as it ferkear op boarne selektearre of trochstjoerd wurdt, om't in gewoane lokale syktocht in oar paad kieze kin as in trochstjoerde klant. It antwurd neamt de ynterface, it keazen boarne-adres en elke folgjende hop, wat deselde ynformaasje is dêr't in pakket op dat stuit mei rûte wurde soe.

As it antwurd jo ferrast, printsje dan de regels foardat jo eat feroarje: ip -4 rule show listet se yn prioriteitsfolchoarder op, en in VPN-klant dy't syn eigen tabel of in regel foar markearre pakketten ynstallearret, sil hielendal net yn 'e haadtabel ferskine. Alle tabellen listje slút dat gat.

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

Kontrolearje de ûnderlaach foardat jo de standertrûte ferfange

De eigen pakketten fan 'e tunnel moatte it fiere einpunt berikke, en se dogge dat fia de fysike ynterface mei de rûte dy't bestie foardat de VPN omheech kaam. De hiele standertrûte ferfange sûnder dat einpunt fêst te setten stjoert de ynkapsele pakketten yn 'e tunnel dy't se boud hawwe moatte, en de ferbining stoart yn. Befêstigje earst it paad nei it einpunt mei in syktocht op allinnich it einpuntadres.

Hâld trije dingen apart as jo de feroaring meitsje: de einpuntrûte dy't op 'e fysike ynterface bliuwe moat, de private berikken dy't de tunnel yn moatte, en de standert dy't al it oare beslútd. Brek se yn dy folchoarder útinoar, pas ien tagelyk ta, en ferrin de syktocht nei elke stap. In mislearre ping dêrnei bewiist op himsels heul lyts, om't tastimmingen, antwurd-routing, DNS en de tsjinst sels allegear streamôf fan in korrekte rûte sitte.

Skriuw de fjouwer wearden op dy't de rigel jo foar de bewurking joech: bestimming, folgjende hop of it ûntbrekken dêrfan, apparaat en keazen boarne. As in lettere feroaring ien fan har ferpleatst, witte jo hokker beslissing eins feroare is, en kinne jo ien ynfier weromsette yn stee fan oer de hiele tabel te rieden.

Relatearre artikelen