Проверете дали разделен тунел работи: един IP резултат не е тест
Запишете кои потоци трябва да използват тунела и кои да останат директни, след което проверете двете страни, разделянето на DNS и случая на отказ.
Една единствена страница в браузъра, която показва IP адрес, не доказва почти нищо за разделен тунел. Видимият адрес може да е правилният по грешна причина, а изключен поток никога не се упражнява от нея. Запишете очаквания резултат преди теста: кое приложение или местоназначение трябва да използва тунела, кое трябва да остане директно и какво трябва да спре, когато тунелът се провали. Без този план всяко правдоподобно число изглежда като успех.
Мифът: една справка за адрес доказва покритие
Проверката на IP отговаря на един въпрос: какво вижда външният свят от едно приложение в един момент. Тя не казва нищо за вътрешен префикс, втори профил на браузъра или име, което трябва да се разрешава частно. Не казва нищо и за отказа, а това е половината от дизайна на разделен тунел, която се чупи в производство.
Страница с адреса също не може да покаже маршрута, резолвера или политиката при отказ. Отнасяйте се към нея като към едно наблюдение, а не като към присъда.
Упражнете включен и изключен поток
Изпратете безобидна заявка от приложението, което трябва да бъде включено, или към префикса, който очаквате да минава през тунела, и запишете източника, местоназначението, семейството адреси и наблюдавания път. Направете същото за поток, който трябва да остане директен. Изключената страна е тази, която хората пропускат, и тя е единственото доказателство, че разделянето е умишлено, а не случайно. Помощен процес може да носи отделна идентичност на политиката, затова тествайте в процеса, който притежава сокета.
flow: Firefox to intranet.example:443, IPv4, source 10.8.0.6, tunneled
flow: Firefox to 1.1.1.1, IPv4, source 192.0.2.20, direct
Затова тест в грешното приложение може да покаже обратното на това, което дизайнът цели. Запишете четирите полета за двете страни, преди да направите какъвто и да е извод.
Добавете DNS и случая на отказ
Попитайте системния резолвер и резолвера, който използва приложението, и след това сравнете тези отговори с адреса на изхода, който сайтът съобщава. Двата слоя могат да се разминават умишлено, а една справка в браузъра не упражнява политиката на операционната система. Обвивката прави сравнението повторимо: Прекъснете тунела умишлено, след което направете заявка, която браузърът не е кеширал; страница, сервирана от кеша, не ви казва нищо за посоката на резервния път. Записвайте какво действително се е случило, а не какво е предвиждал дизайнът.
curl -s https://ifconfig.me
nslookup intranet.example
Разделен тунел, който се проваля затворен, и такъв, който се проваля отворен, изглеждат еднакво, докато не прекъснете тунела умишлено. Запишете какво поведение сте наблюдавали, а не какво сте очаквали.
Повторете след промяната на състоянието
Повторете същите наблюдения след повторно свързване, смяна на мрежата и подходящо обновяване на приложението. Запазено изключение може да продължи да сочи към път или идентичност на приложение, които вече не съществуват, и дизайнът тихо спира да съответства на документацията си. Тези три събития са местата, където разделените тунели се откланят, и всяко от тях е евтино за повторно тестване. Тест, който се изпълнява само веднъж при внедряването, описва конфигурация, която вече не съществува.
Ако резултатът се различава, намерете собственика на правилото и етапа на обработка, преди да промените няколко настройки наведнъж. Промяната на пет неща и наблюдението на един резултат не е диагностика, а нова конфигурация.
Какво трябва да установи резултатът
Свържете наблюденията с политиката и версията на клиента, които действително сте тествали. Целта е да покажете, че това внедряване отговаря на покритието, което твърди, а не че всяко бъдещо приложение ще бъде частно. Това е по-тясно твърдение и именно него можете действително да подкрепите с доказателства. Запишете твърдението, версията и резултатите по четирите полета в журнала на промените.
Тогава следващият проверител може да каже дали се е променил дизайнът, или тестът. Разделен тунел е проверен, когато двете страни, разделянето на резолвера и поведението при отказ съответстват на това, което сте записали в началото. Един IP резултат не потвърждава нито едно от тях.