Дали хардверското NAT забрзување ги крши вашите VPN правила за рутирање?
Забрзувањето може да ја прескокне куката на која се потпира вашата политика, или само да го премести местото каде што се ажурираат бројачите. Раздвојте ги тие исходи пред да ги менувате поставките.
Вклучувањето на хардверско NAT забрзување може да го направи VPN поставувањето побрзо, а исто така може да предизвика политиката за рутирање да престане да се применува на некои пакети без никаква грешка. Кое од двете ќе се случи зависи од тоа што го прескокнува брзиот пат, а тоа се разликува помеѓу фирмверот, верзијата на јадрото и видот на забрзување што се користи. Менито со поставки ретко ви кажува кое штотуку сте го вклучиле.
Две тврдења заслужуваат раздвојување пред да се обвини забрзувачот: дека едно правило престанало да се применува и дека еден бројач престанал да се ажурира. Тоа не се исти набљудувања.
Три различни забрзувања се мешаат заедно
Офлоудот на препраќање, криптографското забрзување и офлоудот на податочниот канал на тунелот се одделни механизми кои често делат еден прекинувач. Офлоудот на препраќање им овозможува на воспоставените текови да прескокнат дел од нормалниот стек, криптографското забрзување го прави шифрирањето поевтино, а офлоудот на тунелот ја преместува инкапсулацијата во хардверот. Рутер што го забрзува обичниот рутиран сообраќај може да го остави сообраќајот на тунелот целосно на бавниот пат, што е резултат на перформансите, а не промена на политиката. Постои и обратното, каде сообраќајот на тунелот се офлоудира додека околната политика сѐ уште се оценува.
Linux flowtables се документираниот случај што најмногу вреди да се прочита, бидејќи воспоставените текови можат да му се предадат на брз пат. Нивното сметководство и ракување со состојбата тогаш се разликуваат од класичното препраќање, и затоа бројачите почнуваат да изгледаат чудно.
Бројач што престанал да се движи докажува малку
Бројачите на правила ги бројат пакетите што поминуваат низ правилото, а офлоудираниот тек може повеќе никогаш да не помине низ него по првиот пакет. Тоа создава бројач што замрзнува додека сообраќајот продолжува, и изгледа точно како заобиколување ако и верувате на бројката. Набљудувањето на бројачот сѐ уште е корисно како навестување дека текот ја напуштил броената патека. Остатокот од дијагнозата мора да дојде од тоа каде пакетите навистина одат.
Спротивниот заклучок пропаѓа исто толку лошо. Брзото преземање не покажува дека вашите правила за исклучоци и ракувањето со грешки сѐ уште важат, бидејќи вежба еден тек, а не политиката.
Три услови одлучуваат дали офлоудот ја крши политиката
Првиот услов е дали брзиот пат ја консултира куката од која зависи вашата политика, бидејќи политика изразена како ознаки и рути преживува почесто од онаа изградена на филтрирање по пакет. Вториот е дали фирмверот воопшто дозволува таква комбинација, бидејќи некои сборки автоматски го исклучуваат офлоудот кога е активен тунел или функција на огнен ѕид. Третиот е дали сообраќајот е подобен, бидејќи забрзувањето обично е врзано за воспоставени текови и може да ги исклучи фрагментираните или необичните пакети. Онаму каде сите три го фаворизираат забрзувањето, политиката сѐ уште се применува, а онаму каде првиот услов не успее, никакво дотерување не ја враќа.
Читајте ја документацијата на производителот за комбинацијата што ја извршувате, а не за моделот на рутерот општо. Верзиите на фирмверот тивко ги менуваат овие одговори.
Тестирајте ја политиката, а не пропусната моќ
Измерете што треба да гарантира политиката пред да измерите колку брзо оди. Командите подолу покажуваат дали е инсталирана flowtable, што гледа следењето на врските и од која адреса излегува клиентот. Споредете нова врска по промената, бидејќи воспоставената може да го задржи стариот пат.
nft list flowtables
conntrack -L | head -n 20
curl -sS --max-time 8 https://api.ipify.org; echo
ping -c 3 192.168.50.20
Записот во flowtable што го покрива сообраќајот на тунелот ви кажува дека брзиот пат е во игра, а табелата со врски покажува дали текот се следи како што очекувате. Проверката на адресата го потврдува излезот кога политиката се однесува на излезот на интернет, додека ping потврдува приватно одредиште што треба да остане достапно. Пуштете го истиот сет со исклучено, а потоа вклучено забрзување и споредете ги резултатите, а не времињата.
Запишете ја претходната поставка за експериментот да остане повратен. Општа инструкција да се исклучи офлоудот насекаде се смета за заобиколно решение, а не за наод.