Сурамдар машинадан чыгат, VPN өнөктөшү жооп берет, ал эми жооп сокетке эч качан жетпейт. Туннель көтөрүлгөн, өнөктөштүн журналдары пакеттин жөнөтүлгөнүн көрсөтөт, ал эми колдонмодо бул тынчтыкты түшүндүргөн эч нерсе жок. Linux'то күнөөлүүлөрдүн бири — кайтарым жолду чыпкалоо: кирүүчү IPv4 пакети, эгер булак текшерүү ядро ошол булак үчүн күткөн маршрутка туура келбесе, четке кагылышы мүмкүн. Аны тартип менен карап чыгуу себеппи же кокустукпу экенин айтып берет. Ал ошондой эле жок болгон маршрутту оңдоо үчүн коопсуздук көзөмөлүн өчүрүүдөн кармайт.

Булак текшерүү эмнени чечет

Ядро пакеттин булак дареги келген интерфейс үчүн ынандырарлыкпы экенин маршруттоо таблицасынан ошол булакка кайтуучу маршрутту издел текшерет. Эгер кайтарым маршрут башка жерди көрсөтсө, пакет кандайдыр бир дубал-коргоо эрежеси же колдонмо сокети аны көрө электе эле ыргытылышы мүмкүн. Бул текшерүү айрым жасалмалоо үлгүлөрүн кыйындатуу үчүн бар, ошондуктан асимметриялык жана саясат менен маршрутталган долбоорлор ага кабылышат, ал эми ошол эле тармактагы ар бир кадимки клиент жакшы иштейт. Кадимки клиенттерде симметриялык маршруттоо бар, текшерүү дал ушунү болжолдойт.

Маанилүү сөз — ынандырарлык. Пакет толугу менен мыйзамдуу болуп, текшерүүдөн өтпөй калышы мүмкүн, анткени мыйзамдуулук текшерилбейт.

Иш жүзүндөгү режимди окуңуз, бир талааны эмес

Үч режим бар: өчүрүлгөн, катуу жана жумшак. Катуу жумшакка караганда башка маршрут күтүүсүн коёт, ал эми глобалдык жөндөө интерфейс боюнча жөндөөлөр менен аракеттенишет, ошондуктан бир файлды окуу иш жүзүндө күчүндө болгон нерсени туура эмес сүрөттөшү мүмкүн. Экөөнү тең окуңуз жана аларды жоопту кабыл алган интерфейсте окуңуз, демейки маршруттун интерфейсинде эмес.

sysctl net.ipv4.conf.all.rp_filter
sysctl net.ipv4.conf.<iface>.rp_filter
ip route get <source-of-the-reply>

Үчүнчү саптагы маршрут издөө — адамдар өткөрүп жибере турган бөлүк. Ал ядро булак тууралуу эмне деп ойлой турганын айтат, жана бул дал текшерүүнүн кириши.

Текшерүүнү өзгөртүүдөн мурун дал келбестикти табыңыз

Жооп эмне үчүн ошол интерфейске келерин жана анын кайтарым маршруту башкача болушу керекпи экенин аныктаңыз. Сурамдарды бир жол менен жиберип, жоопторду экинчи жол менен кайтарган саясат эрежеси мыйзамдуу долбоор, жана катуу текшерүү дал ушундай долбоорду четке кагат. Саясат маршруттоосунда колдонулган белгилер бул жерде да маанилүү болушу мүмкүн, анткени алар кайтарым издөө эмнени кайтарарын өзгөртөт.

Эгер кайтарым маршрут жөн гана жок болсо, аны кошуу текшерүүнү өчүрүүнүн ордуна себепти оңдойт. Жок маршрут, дубал-коргоонун баш тартуусу жана туура эмес трафик тандоочу баары бирдей көрүнүүчү симптомду жаратат, жана алардын бир гана булак текшерүүгө тиешелүү.

Булак текшерүүлөрүн биринчи реакция катары глобалдык түрдө өчүрбөңүз. Бул так диагностиканы кийин эстеп калууга туура келе турган кенен жүрүм-турум өзгөрүүсүнө алмаштырат.

Коргой алган тандоолуу оңдоо

Эгер тар оңдоо чынында эле керек болсо, аны муктаж болгон интерфейс менен чектеңиз, эмне үчүн экенин жазыңыз жана ал кайра жүктөөдөн кийин сакталышы үчүн ошол интерфейске таандык конфигурацияга салыңыз. Андан кийин ийгиликсиз болгон так агымды ошол эле булактан ошол эле багытка кайра текшериңиз, ыңгайлуу нерсеге ping жасоонун ордуна.

Дагы эле четке кагылышы керек болгон учурду кошуңуз. Эгер ал учур азыр ийгиликтүү болсо, оңдоо оңдогуңуз келген бир жолдон көбүрөөк алсыратты.

IPv4 жана IPv6'ны өзүнчө кармаңыз

Тааныш көрүнгөн sysctl ар бир дарек үй-бүлөсү үчүн саясат эмес. IPv6'нын өз жүрүм-туруму жана өз жөндөөлөрү бар, жана машина бир үй-бүлөдө катуу, экинчисинде жумшак болушу мүмкүн, белгилүү бир багыт ийгиликсиз болмоюнча эч ким байкабайт. Жүктөм экөөнү тең колдонсо, экөөнү тең текшериңиз.

Режимди, интерфейсти, маршрут издөөнүн чыгышын жана өзгөрүүнүн себебин бир жерге жазыңыз. Кийинки адам жөндөөнү табат жана эч кандай түшүндүрмө таппайт, анан аны алып салат же тиешелүү эмес жерге көчүрөт.

Тектеш макалалар