Браузер HTTPS бетін жүктеп жатқанын, SSH клиенті басқа серверге жетіп жатқанын және шешуші сұраққа жауап беріп жатқанын елестетіңіз — бәрі бір OpenVPN сессиясы арқылы. Физикалық интерфейсте бір әңгіме көресіз; туннельдің ішінде үшеуін көресіз. Екі көрініс те дұрыс, және неге екенін білу пайдалы түсірілім мен шатастыратын түсірілімнің айырмашылығы. Бір ішкі ағынды сокеттен сымға дейін бақылаңыз, сонда қабаттылық дерексіз болудан қалады.

Бір сыртқы әңгіме, көп ішкі ағын

Әрбір қолданба өз сокетін ашады, ал ядро оған бес элементтен тұратын жиынды береді: бастау адресі, бастау порты, межелі адрес, межелі порт және протокол. Бұл жиындар кез келген туннель қосылмай тұрып-ақ бар. Содан кейін маршруттау олардың барлығы туннель құрылғысы арқылы шығады деп шешеді, сондықтан OpenVPN-ке берілген пакет әлі де ішінде бастапқы тақырыпшаларды алып жүреді. OpenVPN сол ішкі пакетті шифрлайды және нәтижені серіктеспен бір сыртқы UDP немесе TCP әңгімесіне орайды. Сондықтан сыртқы әңгіме біреу, ал оның ішіндегі ағындар қолданбалар ашқанша көп.

Ештеңе құламайды. Ішкі жиындар шетінен шетіне дейін сақталады, сондықтан алыс жақ әлі де үш ағынды ажырата алады.

Өзгеріссіз қалатын порт

Тұрақты болып қалатын нәрсе — сыртқы жиын: сіздің адресіңіз, клиент байланыстырған жергілікті порт, серіктес адресі және конфигурацияланған қызмет порты. Дәл осы жиынды жолдағы брандмауэр немесе NAT рұқсат етуі керек, және дәл соны жоғарғы буындағы түсірілім көрсетеді. Ол қайта қосылғаннан немесе желі ауысқаннан кейін өзгеретін жиын да, өйткені клиент басқа жергілікті портты байланыстыруы мүмкін. Бір туннель мәңгілік бір тұрақты бастау портын білдірмейді.

Ішкі порттар — шеткі нүктелерге маңызды нәрсе. HTTPS ағыны сыртқы тасымал оператор конфигурациялаған портта отырса да, туннельдің ішінде межелі 443 портын сақтайды. Қолданбаның шеткі нүктелері сыртқы порт туралы ешқашан білмейді.

Алыс жақта декапсуляция нені өзгертеді

Серіктесте сыртқы қабат шешіледі, ал қалғаны — ішкі пакет. Одан әрі қайта бағыттау мен рұқсат саясаты ішкі межеге және протоколға қолданылады. Веб-сервер әлі де HTTPS қосылымын қабылдайды, SSH демоны әлі де SSH қабылдайды, ал шешуші әлі де сұрақ қабылдайды.

Сондықтан сыртқы тасымалға рұқсат беретін ереже ішкі қызметке рұқсат берумен бірдей емес. Біріншісі жолды сипаттайды; екіншісі өкілеттікті сипаттайды.

Сыртқы TCP — бір ағын, бір қосылым емес

Сыртқы тасымал UDP болғанда, әрбір ішкі ағынның тағдыры тәуелсіз: жоғалған датаграмма өзін қайта жібергенге дейін бір тасымалдауға әсер етеді. Сыртқы тасымал TCP болғанда, барлық ішкі ағындар бір сенімді байт ағынын бөліседі.

Дәл осы ортақ ағын — адамдар байқамайтын бөлік. Қалпына келу бір рет, бәрі үшін болады, сондықтан бір жоғалған сегмент ішінде мультиплекстелген әрбір қолданбаның трафигін кешіктіреді. Шеткі нүктелерде әлі де көп қосылым, ал сымда бір қосылым бар, және кезек басының әсері дәл сымда өмір сүреді. Тыңдап тұрған порттар саны бұл туралы ештеңе айтпайды, сондықтан порттарды санау туннель өнімділігі туралы ойлаудың нашар тәсілі.

Өз конфигурацияңызды дәл сипаттаңыз

Машина бәрін бір порт арқылы жібереді деудің орнына, таңдалған ішкі трафикті және оны тасымалдайтын нақты сыртқы тасымалды атаңыз. Жергілікті қызметтер, екінші туннель және басқа адрес тобы осы әңгімеге ешқашан кірмейтін ағындар жасайды. Жоғарғы буындағы түсірілім сыртқы жиынды көрсетеді; туннель ішіндегі түсірілім ішкі жиындарды көрсетеді.

Екеуін де алыңыз және уақыт белгілерін қатар қойыңыз. Қай қолданбаның қай ішкі ағынды жасағанын дәлелдеу керек болса, хосттағы сокет кестесі жақсырақ құрал, өйткені ол порттарды процестерге тікелей байланыстырады. Содан кейін байқаған сыртқы жиынды және байқаған сәтті жазып қойыңыз, өйткені қайта қосылғаннан кейінгі келесі түсірілім заңды түрде басқа сандарды көрсетуі мүмкін.

Қатысты мақалалар