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

Эреже эмнени бекемдейт жана DNS эмнени кайтарат

Split tunnel эрежеси — багыттар тууралуу статикалык билдирүү, адатта префикс, маршрут же даректер тизмеси түрүндө туюнтулат. Ал жөнөтүү учурунда пакеттин багытына каршы бааланат. Хост аты — жашоо убактысы жана кэши бар даректер жыйындысын кайтарган издөө, ал эми жооп resolver, суроонун түрү жана мүнөт боюнча айырмаланышы мүмкүн.

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

Дал келүү бузулуучу үч жол

Ачык учур — көчүп кеткен кызмат: оператор ага жаңы дарек берди, DNS ээрчиди, ал эми өзгөчөлүк ээрчиген жок. Экинчиси — эреже эч качан камтыбаган дарек үй-бүлөсү, бул ат IPv4 үчүн гана болгон өзгөчөлүк этибарга албаган AAAA жазууларын кайтара баштаганда болот. Үчүнчүсү — resolver айырмасы: ички жана ачык көрүнүш бир атка ар кандай дарек кайтарышы мүмкүн, ошондуктан колдонмоңуз колдонгон дарек сиз сынаган дарек эмес.

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

Колдонмо чындап колдонгон багытты окуңуз

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

getent ahosts api.example.com
dig +short api.example.com A
dig +short api.example.com AAAA
ss -tnp | grep -F api
ip route get 203.0.113.40

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

Симптомду эмес, механизмди оңдоңуз

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

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

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

Максаттын эки жарымын текшериңиз

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

curl -sv --max-time 5 https://api.example.com/ -o /dev/null 2>&1 | grep -E 'Trying|Connected to'
curl -sS --max-time 5 https://public.example/ -o /dev/null -w '%{http_code}\n'

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

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