Ја поврзувате тунелот, извршувате ip route, и оригиналната стандардна порта е таму и понатаму. Следната мисла е дека клиентот не ја презел рутата, па ја бришете стандардната рачно и целосно ја губите врската. Тој запис треба да остане. Со redirect-gateway def1 OpenVPN инсталира две поспецифични рути што ја надминуваат обичната стандардна наместо да ја заменат. Старата порта останува и престанува да го носи сообраќајот што го тестиравте.

Што всушност прави def1

Знаменцето додава 0.0.0.0/1 и 128.0.0.0/1, двете насочени кон тунелот. 0.0.0.0/1 покрива секоја адреса чиј прв октет е од 0 до 127, а 128.0.0.0/1 покрива од 128 до 255, така што секоја IPv4 дестинација има поспецифично совпаѓање од старата стандардна. Која рута победува го одредува должината на префиксот, а не метриката.

Оставањето на оригиналната стандардна на место е намерно. Клиентот не мора да памети што заменил и не ја препишува рутата што ја носи неговата сопствена врска со VPN серверот. При исклучување ги отстранува двете половински рути и табелата се враќа во претходната состојба.

Зошто /1, а не /0

Рутирањето го избира најдолгиот соодветен префикс, не најниската метрика, па /1 победува /0 без разлика што вели метриката на стандардната. Двете половини постојат затоа што една /1 покрива само половина од просторот; кога е присутна само 0.0.0.0/1, сето она што е од 128.0.0.0 нагоре продолжува да ја следи старата стандардна, што го создава збунувачкиот симптом каде некои страници работат, а други не.

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

Прочитајте вистинска табела за рутирање

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

default via 192.168.50.1 dev wlan0
0.0.0.0/1 via 10.8.0.1 dev tun0
128.0.0.0/1 via 10.8.0.1 dev tun0

Важен е односот: две конкретни половини над една општа стандардна. Линијата на старата порта останува затоа што ништо не ја заменило.

Проверете која рута навистина ја зема пакетот

Поспецифични рути можат да победат и понатаму: рута за приватен опсег, локална подмрежа или сопствената адреса на VPN серверот е подолга од /1. Тунелот бара надворешна патека до неговиот сервер, а враќањето на таа врска назад во тунелот веднаш би го скршило. На Linux прашајте го јадрото наместо да ја читате табелата со око: ip route get со дестинацијата што ве интересира ја печати избраната рута, интерфејсот и изворот. Ако е конфигурирано рутирање базирано на политики, прегледајте ги и правилата, бидејќи правило може да избере друга табела пред да се погледне главната.

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

Што не покрива def1

Два IPv4 записи не кажуваат ништо за IPv6: домаќин со IPv6 поврзување продолжува да ја користи својата стандардна додека нешто тоа семејство не го пренасочи одделно, поради што во двојно-стек мрежа дел од сообраќајот изгледа како да го заобиколува тунелот. Другите клиенти и мрежните менаџери го спроведуваат рутирањето на целосен тунел поинаку и нивните табели нема да се совпаднат. Опишаното однесување на def1 овде припаѓа на документираното знаменце на OpenVPN, а не на секој VPN на машината.

Прекинувачот за итни случаи одговара на друго прашање: што прави машината кога тунелот ќе падне. Приоритетот на рутите одредува каде оди сообраќајот додека тунелот е активен; не одредува што прави потоа огнениот ѕид. Редослед на работа: прочитајте ја табелата, потврдете дека постојат двете половини, извршете ip route get за дестинацијата што не успева, проверете ги правилата на политиката, потоа одделно погледнете IPv6. Оставете ја старата стандардна таму каде што е.

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