Белешка за split-tunnel што вели "канцеларискиот сообраќај оди преку VPN" документирала една одлука и имплицирала три други. На пакетно ниво табелата за рутирање избира интерфејс по адресата на дестинацијата; на ниво на имиња резолверот избира сервер по барањето, и тие две избори се прават независно. Затоа правилно документиран префикс уште може да даде машина што внатрешно име го решава во јавна адреса, или не решава ништо додека рутата изгледа совршено.

Два селектори, еден обид за врска

Кога апликацијата се поврзува со files.corp.example, се случуваат две пребарувања пред да постои пакет. Резолверот одлучува кој сервер ќе го добие барањето, користејќи домени за пребарување, домени за рутирање по врска или експлицитно правило во профилот. Потоа табелата за рутирање одлучува каде оди добиената адреса, користејќи го најдолгото совпаѓање на префикс со дестинацијата.

Ништо не ги поврзува тие две одлуки. Приватна зона може да одговори со 10.20.4.11, додека табелата за рутирање испраќа 10.20.0.0/16 во тунелот, и врската работи. Свртете било кое и тоа паѓа на начин што изгледа како другото: правилна DNS политика плус рута што недостига дава решено име и истек на време, додека правилна рута плус јавен резолвер дава адреса што чисто се рутира на погрешното место.

DNS со поделен хоризонт го прави ова поостро. Истото име може да врати приватна адреса од внатрешниот резолвер и јавна адреса од оној свртен кон интернет, па белешка што го запишува само префиксот не може да предвиди која адреса клиентот навистина ќе ја користи. Запишете ја патеката на резолверот или адресата е претпоставка.

Што испушта белешка само за рута

Запис само за рута е неупотреблив за најчестата грешка на split-tunnel: имињата. Корисникот пријавува дека внатрешната мрежа не се вчитува, тунелот е кренат и префиксот е присутен. Тој што ќе ја преземе пријавата нема запис кој резолвер требало да одговори, нема начин да разликува погрешна наставка за пребарување од блокиран сервер и нема основна линија за споредба.

Второто испуштање е списокот со исклучоци. Дизајнот на split-tunnel се дефинира исто толку со тоа што останува надвор од тунелот, колку со тоа што влегува во него, а исклучените опсези обично се првите што се кршат, бидејќи поспецифична локална рута или филтер на страната на клиентот може да ја надмине намерата без да го допре профилот.

Третото е далечната страна на тунелот. Рутата на клиентот само го става пакетот на жицата; портата уште треба да го препрати и да има повратен пат. Упатството на strongSwan за препраќање потсетува дека правилата за препраќање и огнен ѕид на портата се дел од функцијата, а не дел од водоводот што може да се претпостави.

Полињата што ја прават белешката извршна

Еден ред по тек, а тек е дестинација плус име плус сопственик. Ова се полињата што преживуваат контакт со вистински инцидент:

FieldWhy it has to be written down
Destination prefix and address familyThe route is per family; an IPv4 note says nothing about a AAAA answer
Selected tunnel or direct pathNames the decision, not the symptom
Private namespace and resolverWhich domain, which server, which search suffix
Public name pathConfirms public names do not accidentally use the private resolver
Where the rule livesClient profile, server push, OS policy or management tool
Owner and review dateNamespaces change owner more often than routes change

Редот "каде живее" е оној што луѓето го прескокнуваат. Префикс што го турка серверот, рута додадена од профил на клиент и рута внесена во школка се разликуваат по тоа кој може да ги смени и дали преживуваат повторно поврзување. Без тоа поле следниот инженер не може да каже кој од трите го гледа.

Еден тест по правило, не еден по тунел

Секој ред бара две безопасни проверки: една што ја вежба рутата и една што го вежба името. За рутата, побарајте нешто што мора да го премине тунелот и потврдете ја патеката наместо достапноста, на пример tracert -d 10.20.4.11 на Windows или ip route get 10.20.4.11 на Linux. За името, побарајте го приватното име и запишете кој сервер одговорил, користејќи resolvectl query files.corp.example или dig files.corp.example против резолверот што го наведува белешката.

Додадете и негативно очекување: што треба да се случи кога тунелот е исклучен. Исклучена апликација на уред со Android или iOS со вклучено блокирање без VPN може воопшто да нема поврзување, а десктоп клиент може да ја остави истата апликација да работи додека тунелот се поврзува повторно. Запишувањето на предвидениот одговор го претвора "VPN ми ја расипа апликацијата" во проверлив исказ.

Чувајте го записот со конфигурацијата

Зачувајте ја белешката до профилот што го опишува и верзионирајте ја со тој профил. Документ во вики што никој не го ажурира е гласина; табела во истото складиште како турнатите рути и политиката на резолверот може да се прегледа во истата промена.

Кога нешто ќе се скрши, споредете ја применетата рута и ефективниот резолвер со записот пред да додадете уште еден исклучок. Две од трите чести причини — старо правило за именски простор и помошен процес надвор од политиката на апликацијата — изгледаат точно како дефект на VPN и се невидливи ако белешката наведува само префикси.

Пред да ја прогласите белешката за готова, потврдете дека писмено одговара на ова: кој префикс, за кое семејство адреси; кој приватен именски простор, од кој резолвер е одговорен; кои имиња намерно остануваат јавни; каде е конфигурирано секое правило и кој го поседува; и таа една команда што ја докажува рутата и онаа што го докажува името. Ако нешто од ова недостига, следниот инцидент ќе биде дијагностициран од нула.

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