Се поврзувате на VPN, извршувате route print и стандардната рута сега носи многу помала метрика отколку порано. Природниот заклучок е дека VPN-от ја зеде стандардната рута затоа што бројот ѝ е помал. Понекогаш токму тоа се случило. Често метриката воопшто не е одлучувачки фактор и нејзиното менување не менува ништо, зашто изборот е направен порано, со должината на префиксот или со правило на политиката.

Симптомот е реален: сообраќајот што порано излегуваше преку Wi-Fi адаптерот сега излегува преку тунелот, или обратно. Метриката е еден влез во пребарување што се извршува во фиксен редослед, и токму тој редослед треба да го прочитате пред да допрете број.

Со што бројот всушност се натпреварува

Првата споредба е конкретноста, не преференцијата. Рута за 10.20.0.0/16 победува 10.0.0.0/8, и двете победуваат 0.0.0.0/0, што и да кажат нивните метрики. VPN што инсталира стандардна рута со најмала метрика на машината сепак губи од секоја поконкретна рута што се совпаѓа со одредиштето, вклучително host-рутата што клиентот ја инсталира за својот сервер.

Затоа намалувањето на метриката на стандардна рута не може да присили директно поврзана подмрежа во тунелот. Ако ја сакате таа подмрежа внатре во VPN-от, додајте рута за префиксот или изберете ја табелата на тунелот со правило на политиката. Метриката е погрешна полуга за таа работа.

Check in this orderQuestionWhere you read it
1. Policy and tableWhich routing table does this traffic use?ip rule, client profile
2. Prefix lengthWhich matching route is most specific?route print, ip route
3. MetricWhich of the equally specific routes is preferred?route print, ip route
4. Interface stateIs the chosen next hop reachable?adapter status, link state

Linux ја одлучува табелата пред метриката

На Linux јадрото најпрво ја консултира базата на политики. ip rule ги наведува правилата и табелите што тие ги избираат, а ip route get 203.0.113.10 известува за табелата, рутата и изворната адреса што јадрото навистина би ги користело за тоа одредиште. Метрика во табела 100 никогаш не се натпреварува со рута во главната табела, зашто правилото ја избрало табелата пред да се спореди која било метрика.

Затоа рута може да изгледа исправна во ip route show table all а сепак да не носи сообраќај. Прочитајте го правилото што се совпадна, потоа табелата што ја избра, потоа споредете ги рутите внатре. Ако е избрана погрешната табела, никакво менување на метриката во другата табела нема да помогне.

Windows комбинира две метрики

Windows нема база на политики по стандард, но комбинира метрика на рута со метрика на интерфејс, а автоматската метрика на интерфејсот може да се менува со брзината на врската и состојбата на адаптерот. Затоа истата рута може да се однесува поинаку откако ќе се појави докинг станица или виртуелен адаптер. Find-NetRoute -RemoteIPAddress 203.0.113.10 известува за избраната изворна адреса, следниот хоп и интерфејсот, што е поблиску до вистинската одлука од суровата табела.

Читајте ги вредностите на рутата и интерфејсот заедно. Подигнувањето на метриката на интерфејсот може да го премести сообраќајот без ниту еден запис за рута да се промени, а VPN клиент што ги поседува своите рути ќе ги реинсталира при повторно поврзување и ќе ја отфрли вашата измена.

Држете ја крајната точка на тунелот надвор од тунелот

Секој тунел бара пат до својот сервер што не минува низ тунелот. Клиентите инсталираат host-рута за крајната точка преку физичкиот портал, и таа рута мора да остане поконкретна од стандардната рута што клиентот ја додава. Избришете ја, или дозволете тунелот да го добие пребарувањето за таа адреса, и инкапсулираните пакети ќе се обидат да влезат во тунелот што треба да го изградат. Врската паѓа или влегува во јамка.

Проверете ја таа host-рута пред и по секоја промена на метриката: треба да покажува на физичкиот следен хоп и да го преживее повторното поврзување. Ако клиентот ја поседува, менувајте го профилот или управуваната конфигурација наместо вредност во време на извршување што ќе биде презапишана.

Проверете ги двете адресни фамилии и контекстот на апликацијата

IPv4 и IPv6 се одделни одлуки со одделни табели. VPN може да носи IPv4 додека IPv6 продолжува да го користи локалниот рутер, и промената на метриката во едната фамилија не кажува ништо за другата. Проверете ги двете, потоа проверете го контекстот на апликацијата. Процес врзан за интерфејс, namespace на контејнер или VPN по апликација може да види друга табела од вашата школка.

Проверете со алатката што ја известува одлуката за вистинското одредиште, не со целиот список на табелата. Ако избраната рута е онаа што дизајнот ја предвидува, застанете. Метрика што не е најмалиот број на екранот не е дефект, а нејзиното присилување да биде најмала може да го скрши патот на крајната точка од кој зависи тунелот.

Поврзани статии