Dodali ste metriku ruti u profilu, ponovo se povezali, a saobraćaj i dalje izlazi kroz pogrešan interfejs. Broj je rijetko problem. Metrika samo poreda kandidate koje operativni sistem već poredi, a specifičniji prefiks ili ranija tabela politika odlučuje prije nego što se bilo koja metrika pročita.

Prvo prođite kroz profil, zatim instaliranu tabelu, pa pravila odabira. Taj redoslijed odgovara načinu na koji klijent gradi rutu i sprječava vas da podešavate vrijednost koja nikad ne ulazi u poređenje.

Pročitajte liniju rute po redu polja

Klijent zajednice OpenVPN 2.6 prihvata četiri polja u IPv4 route liniji: mrežu, mrežnu masku, gejtvej i opcionu metriku. Pozicija gejtveja je mjesto gdje ide posebna ključna riječ vpn_gateway. Ona označava sljedeći skok na VPN strani za ovu vezu, a ne broj ruting tabele i ne vaš fizički ruter. Propustite to i ostatak linije čita se s pogrešnom predstavom o tome šta radi. referenca mrežnih opcija dokumentuje sva četiri polja.

Za privatno odredište linija može glasiti:

route-metric 50
route 172.20.0.0 255.255.0.0 vpn_gateway 30

Eksplicitno 30 važi za tu rutu, a 50 ostaje zadano za svaku drugu rutu u profilu koja izostavlja broj. Čitanje linije s lijeva na desno dovoljno je da se vidi koja vrijednost gdje važi.

route-metric je zadana vrijednost, a ne rang

route-metric postavlja rezervnu vrijednost za rute koje ne nose vlastiti broj. On ne podiže rutu iznad bilo čega drugog i ne mijenja redoslijed ruta instaliranih s eksplicitnim metrikama.

Ta razlika je važna kada profil miješa oba oblika. Jedna route-metric linija pri vrhu izgleda autoritativno i lako je okriviti, dok ruta koja stvarno nosi saobraćaj može nositi vlastitu metriku tri reda niže.

Ako želite da jedna ruta preferira putanju, stavite broj na tu rutu. Ako želite dosljednu zadanu vrijednost kroz generisani profil, koristite route-metric i ostavite pojedinačne linije na miru. Miješanje to dvoje bez razloga je način na koji profil završi s rutom koju niko ne može objasniti.

Provjerite šta je klijent instalirao

Nakon što se ponovno povezivanje završi, pitajte jezgro, a ne profil.

ip route show navodi rute koje je klijent dodao, a ip route get 172.20.5.10 odgovara na korisnije pitanje: koju bi rutu ovo odredište stvarno koristilo i s kojom izvornom adresom. Ako odredište nema u tabeli, klijent ga nije instalirao.

Lokalna direktiva, serverski push ili drugi mrežni menadžer mogu dodati ili ukloniti isti prefiks, a posljednji pisac pobjeđuje. Držite rutu krajnje točke na oku dok radite, jer vezi treba putanja do udaljenog servera koja ne ide kroz tunel koji gradi.

Zašto manja metrika i dalje gubi

Metrike porede rute prema istom odredištu. One ne čine široki prefiks specifičnijim. Kada je redirect-gateway def1 u igri, klijent instalira 0.0.0.0/1 i 128.0.0.0/1, a ta dva prefiksa pokrivaju cijeli IPv4 prostor specifičnije od 0.0.0.0/0. Metrika 1 na zadanoj ruti ih ne nadjačava.

Ista logika važi za svaki par koji se preklapa. /24 pobjeđuje /16 za adresu unutar njega bez obzira na pridružene brojeve, jer pretraga prvo bira najspecifičnije podudaranje i tek onda poredi metrike među jednakima.

Ovo je dio koji izgleda kao greška u metrici, a nije. Provjerite dužinu prefiksa na oba kandidata prije nego što promijenite bilo koji broj.

Pravila politike rade prije tabele

Na Linuxu ip rule odlučuje koja se ruting tabela konsultuje. Pravila se ocjenjuju po prioritetu, pa ranija tabela može vratiti rutu prije nego što se glavna tabela uopće pročita. Metrika unutar main ne može nadjačati podudaranje u tabeli koja je konsultovana prva.

Koristite ip rule show i zatim upitajte konkretnu tabelu, na primjer ip route show table 100, da vidite šta bi to pravilo vratilo. Ako je VPN klijent ili kontejnersko okruženje dodalo pravilo, odgovor može biti tamo, a ne u tabeli koju ste čitali. Izvorna adresa je takođe važna, jer pravilo može odgovarati izvoru i različito riješiti isto odredište za tunelski saobraćaj i LAN saobraćaj.

Provjerite odredište, a ne rangiranje

Test koji završava raspravu je jedan upit hostu unutar predviđene podmreže, plus provjera izvorne adrese koju je jezgro odabralo. Ako taj par odgovara dizajnu, metrika radi svoj posao čak i kada lista ne izgleda kao čisto rangiranje.

Ostavite IPv6 i DNS izvan ove provjere. Njih konfigurišu druge direktive i rješavaju drugi mehanizmi, a ispravna IPv4 ruta ne govori ništa ni o jednom. Mijenjajte jedan sloj po put i ponovo pokrenite upit.

Povezani članci