Неге сіздің split tunnel ережесі қызметке сәйкес келуін тоқтатты
Ереже префиксті бекітеді, ал қызмет көшіп кетті. Қолданба шын мәнінде қолданатын межелі орынды оқып, содан кейін ерекшелікті кеңейтудің орнына механизмді жөндеңіз.
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 өз конфигурациясын кездейсоқ елемеді деген қорытындыға келуіне жол бермейді.