Cron на секои десет минути рестартира сосема здрав VPN, а истата задача остава мртов VPN да работи цела недела. Двете грешки доаѓаат од тоа што «работи» се третира како еден факт, а тој е најмалку четири. Уред може да биде административно овозможен, правилно рутиран, целосно шифриран и сѐ уште да не пренесува ништо корисно. Прво одделете ги набљудувањата, и проверката речиси сама ќе се напише.

Знаменцата на врската го опишуваат уредот, не патеката

Проверката што сите ја копираат бара хардверска адреса од сами нули. Тој трик кај некои драјвери одделува вистински интерфејс од замена, а кај останатите не докажува ништо, бидејќи tun уредот воопшто нема MAC за пријавување. ip -brief link show tun0 наместо тоа дава знаменца: UP значи дека администратор го овозможил уредот, а LOWER_UP значи дека драјверот ја смета врската за употреблива. Читани заедно, тие велат дека уредот постои и не е административно исклучен. Ниту едно од нив не вели дека пакетот има каде да оди.

OpenVPN го создава својот tun уред пред рутите да се инсталираат, па знаменцата можат да изгледаат совршено додека ништо не е рутирано. Третирајте ги како предуслов, никогаш како одговор.

Прашајте каде би одел пакетот

Пребарувањето на рута одговара на прашањето на кое знаменцата не можат. ip route get 10.8.0.1 from 10.8.0.2 го именува интерфејсот, изворната адреса и табелата што јадрото би ја користело, а тоа е токму она против што треба да се провери поделен тунел. Без изворната адреса прашувате нешто друго, а со рутирање по политики одговорот може да се разликува по извор. Ова е најевтиниот чесен тест, бидејќи се советува со истите правила што ќе ги користи вашиот сообраќај.

За WireGuard, додајте го ракувањето. wg show печати временска ознака на последното ракување по партнер, а ознака што престанала да напредува значи дека партнерот го нема, што и да кажат знаменцата на интерфејсот. Конфигуриран интерфејс без скорешно ракување е еден од најчестите лажни позитиви во домашното следење.

Табелата 220 ја раскажува приказната на IPsec

strongSwan инсталира рути за договорените селектори во табелата 220 кога инсталацијата на рути е овозможена. ip route list table 220 затоа го одделува договореното од рутираното: празна табела покрај вчитана врска значи дека IKE и CHILD SA се кренале додека никаков сообраќај не се насочува кон нив. Проверете ip xfrm state покрај неа, бидејќи ги наведува инсталираните безбедносни асоцијации и нивните крајни точки.

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

Состојбата на менаџерот и состојбата на демонот се различни списоци

NetworkManager ги наведува само врските што ги поседува. nmcli -t -f NAME,TYPE connection show --active не враќа ништо за тунел започнат директно од wg-quick или од OpenVPN демон.

Таа разлика е важна кога скриптата треба да одлучи од кој од двата менаџери да праша. Изберете го оној што навистина го поседува тунелот на овој домаќин и игнорирајте го молкот на другиот. Ако постојат и двата, одлучете кој е меродавен и исклучете го вториот, бидејќи два менаџери што ги препишуваат рутите на еден интерфејс создаваат дефекти што никој не може да ги репродуцира. Записот што недостасува е информација за менаџерот, не за тунелот.

Условете го следниот чекор со проверката што му е потребна

Анкетирањето на UDP порта не докажува ништо за подготвеноста, бидејќи UDP нема ракување и nc -u успева веднаш штом пакетот излезе. Проверете што следниот чекор навистина троши: TCP врска до препратената порта, барање до домаќин внатре во тунелот, име што се решава само таму. Ограничете го чекањето со временско ограничување и број обиди, и гласно откажете кога ќе истечат.

Куките се подобри од анкетирањето кога клиентот ги нуди. --up и --down скриптите на OpenVPN се извршуваат откако интерфејсот ќе ја смени состојбата, што целосно ја отстранува трката, но тие работат со привилегиите што демонот ги задржал. Ако OpenVPN се спуштил на непривилегирана сметка преку user и group, куката работи како таа сметка. Рестартирањето на системска служба тогаш бара sudo за да ја дозволи токму таа наредба. Предајте го повторувањето на менаџерот на служби, а не на cron циклус: ограничената политика за рестартирање со граница на стартувања открива скршен тунел, додека неограничен циклус го крие неодредено.

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