Приступ радној станици иза NAT-а без прослеђивања порта
Радна станица без улазног порта ипак је доступна кроз чвориште, релеј или брокер апликација. Упоредите шта сваки дизајн гарантује пре него што изаберете један.
Две крајње тачке иза NAT-а оператера и закључани канцеларијски рутер не остављају ниједан улазни порт за прослеђивање, а рефлекс је ипак затражити га. Боље питање је која страна може да зове напоље и којој доступној услузи је дозвољено да носи саобраћај. Четири дизајна одговарају на то питање различито и не успевају на различите начине када је пут блокиран. Избор међу њима је поређење гаранција, а не назива протокола.
Четири дизајна, четири различита обећања
Табела испод је кратка верзија. Читајте средњу колону као обећање које можете тестирати, а десну колону као обећање које нико није дао.
| Design | Who initiates | Promise you get | Promise you do not get |
|---|---|---|---|
| Routed VPN hub | Both ends, outbound to the hub | A routed path to permitted prefixes | Access to services no policy allows |
| Peer traversal with ICE | Both peers to a rendezvous service | A path tested between the two peers | A direct path through every NAT |
| TURN relay | Client outbound to a relay | Transport that survives symmetric NAT | Peer discovery or a usable directory |
| Application broker | Workstation outbound to a broker | One audited application session | Subnet-wide reachability |
Који ред важи зависи од задатка, а не од склоности. Једна сесија удаљене радне површине, једна административна шкољка и приступ целој приватној подмрежи су три захтева којима не треба иста улазна тачка, чак и када случајно укључују исти рачунар.
Чвориште мења ко зове напоље, а не шта је дозвољено
У дизајну са рутираним чвориштем удаљени преносни рачунар и радна станица, или мрежни пролаз испред ње, сваки отварају излазни тунел ка услузи до које обоје могу да дођу. Ништа не прихвата непозвану везу на рутеру радне станице, и управо зато овај дизајн преживљава NAT и ради и када локација нема статичну адресу. Затим чвориште рутира саобраћај између две унутрашње адресе према сопственој политици.
Цена је да чвориште мора да постоји, да буде доступно са обе стране и да га неко води. Филтрирање излазног саобраћаја мора да дозволи транспорт, а мрежа која га блокира осујетиће дизајн иако прослеђивање порта није било потребно.
Суптилан део је да су доступност и ауторизација одвојене одлуке донете на различитим местима. Рута у префикс не говори ништа о томе коју услугу на радној станици идентитет сме да користи, а правило заштитног зида које дозвољава тунел не говори ништа о томе да ли налог може да се пријави. Подесите обоје, тестирајте обоје и задржите одлуку о ауторизацији код система који поседује ресурс, а не код табеле рутирања.
Пробијање ради само када га имплементирају оба стека
Пробијање између равноправних чворова је способност одређеног система, а не подешавање које побољшава VPN. Interactive Connectivity Establishment прикупља неколико кандидатских адреса и тестира парове док један не проради: кандидати домаћина на локалним интерфејсима, серверски рефлексивни кандидати изграђени од онога што NAT открива и релејни кандидати додељени на релеју. Сама приватна адреса није пут, јер друга страна не може да рутира до ње.
Релејни случај вреди разумети пре него што се одбаци. RFC 8656 описује TURN као протокол у коме клијент тражи од сервера релејну транспортну адресу, а сервер прослеђује саобраћај између тог клијента и његових равноправних чворова. Дакле, релеј носи податке, што се битно разликује од именика који само помаже крајњим тачкама да се сретну. Размена релејне адресе са другом страном је корак координације који апликација мора да изведе.
Оно што не можете да обећате јесте директан пут. Симетрични NAT и неки корпоративни заштитни зидови побеђују бушење рупа, и када се то догоди, систем се или враћа на релеј или не успева. Такође не можете да закључите да две преведене крајње тачке никада неће моћи да разговарају; подржан стек са релејном резервом постоји управо зато што оне често могу. Одлучите да ли је важнија доступност или директност, а затим проверите коју је пут распоређивање заиста изабрало уместо да претпоставите повољан случај.
Брокер је ужи од мреже
Када је захтев једна апликација, брокер апликација или обрнута веза коју покрене радна станица могу бити најмањи одговор. Радна станица зове напоље до брокера, брокер аутентификује удаљеног корисника и преноси се само та апликацијска сесија. Никакав пут до подмреже радне станице не настаје, па компромитација удаљене сесије не наслеђује пут до сваког уређаја поред.
Та ускост има цену: свака додатна апликација треба сопствену интеграцију, а све што апликација претпоставља о локалној мрежи, као дељење датотека које отвори на оближњем серверу, можда неће бити доступно. Брокери такође концентришу политику и евидентирање на једном месту, што је корисно док то место не постане прекид.
Упоредите границе поверења, а затим тестирајте пут
Чвориште које завршава тунеле може да чита саобраћај који рутира. Релеј може да носи независно заштићену размену када апликација шифрује од краја до краја, а брокер обично завршава сесију коју представља. Утврдите где заштита заиста престаје пре него што одлучите да су два дизајна еквивалентна јер су оба шифрована.
Затим проверите до чега радна станица заиста достиже напоље, јер сваки дизајн горе зависи од тога. Извршите ово на радној станици, замењујући име домаћина које намеравате да користите.
ss -lntup
nc -vz hub.example.com 443
curl -sS -o /dev/null -w "%{http_code}\n" https://hub.example.com
Прихватите дизајн тек када предвиђена удаљена операција успе под дозвољеним идентитетом, неодобрени идентитет буде одбијен и понашање када директни или релејни пут није доступан буде познато и документовано. Укључите поновно повезивање и уобичајени контекст покретања радне станице, јер сесија која је почела у канцеларији преко LAN-а не тестира ништа од онога од чега зависи удаљени приступ.