Пытанне гучыць як адна праверка, а насамрэч гэта тры рашэнні. Які маршрут абярэ binding request, які адрас крыніцы ядро выбера для гэтага маршруту і ці нешта перапіша гэтую крыніцу па дарозе. Зменіце любы з трох — і адрас, які паведамляе STUN-сервер, змяніцца разам з ім. Таму сцвярджэнне, што VPN стаіць на роўтары, само па сабе амаль нічога не кажа.

Рашэнне абапіраецца на тры факты

Па-першае, маршрут: правілы палітыкі і табліца маршрутызацыі вырашаюць, ці запыт выйдзе праз тунель, ці праз звычайны WAN, а выключанае прызначэнне выбірае другі шлях нават пры ўзнятым тунелі. Па-другое, крыніца: ядро выбірае крыніцу для абранага маршруту, і гэты выбар залежыць ад пажаданай крыніцы маршруту і ад любога правіла, што супала. Па-трэцяе, трансляцыя: NAT па дарозе замяняе абраную крыніцу. Адбіты адрас — гэта здабытак усіх трох, а не ўласцівасць тунеля.

Зменіце адно з трох — і адказ зменіцца, хоць кожны кампанент у сваім часопісе па-ранейшаму выглядае здаровым. Гэта звычайная прычына, чаму такая дыягностыка заходзіць у тупік.

Запішыце тры факты для патоку, які тэстуеце, перад пачаткам. Інтэрфейсу, маршруту і правіла трансляцыі дастаткова, каб прадказаць вынік, і менавіта прадказанне робіць нечаканасць інфарматыўнай. Калі адзін з трох запоўніць не ўдаецца, гэтая прага і ёсць сапраўдная знаходка.

Прасочыце адзін binding request па шляху

STUN binding request просіць сервер паведаміць назіраны адрас транспарту крыніцы. Адказ апісвае шлях, які прайшоў запыт, а не пералік інтэрфейсаў на кліенцкай машыне. Два запыты двума шляхамі сумленна паведамяць два розныя адрасы.

Path takenSource the reflector seesWhat it means
Tunnel to a public exit that translatesThe exit's public addressThe reflector learns nothing about the LAN
Tunnel to a private reflector, translated to the tunnel address, no later translationThat tunnel addressAn internal identifier is disclosed to that reflector
Excluded flow over the ordinary WANThe WAN addressThe tunnel was not used at all

Чытайце гэтую табліцу як набор умоў, а не як меню пастаўшчыкоў. Сярэдні радок патрабуе, каб прыватны адбівальнік быў даступны пры ўласнай маршрутызацыі і peer-палітыцы тунеля; гэта канфігурацыйны факт, які можна праверыць, а не нешта, што прадугледжвае ўзровень уліковага запісу. Ніжні радок звычайна важны для палітыкі, бо гэты трафік павінен быў застацца ў тунелі. Паміж імі — звычайны выпадак, калі выхад транслюе, а адбівальнік бачыць толькі выхад.

Кандыдаты хоста і серверна-рэфлексіўныя кандыдаты паходзяць з розных механізмаў, таму спіс кандыдатаў не кажа, які шлях медыя насамрэч выкарысталі. Чытайце абраную пару, а не часопіс збору, калі хочаце ведаць, куды пайшла сесія.

Чым адрас тунеля роўтара не з'яўляецца

Адрас тунеля, прызначаны роўтару, належыць інтэрфейсу на роўтары. Браўзер на хосце ў LAN мае ўласныя адрасы інтэрфейсаў і не бачыць тунельны інтэрфейс роўтара наўпрост. Калі абыходзіцца з імі як з узаемазаменнымі, атрымліваюцца ўпэўненыя памылковыя адказы пра тое, што можа даведацца вэб-старонка.

Перасыланне — гэта тое, што іх звязвае. Запыт праходзіць праз роўтар як маршрутызаваны трафік, а яго крыніца — тое, што стварылі маршрутызацыя і трансляцыя.

Калі шлях тунелем захоўвае крыніцу LAN, прыватны адбівальнік можа даведацца гэты LAN-адрас, што з'яўляецца сапраўдным раскрыццём і адрозніваецца ад адраса тунеля. Калі шлях транслюе ў адрас тунеля, адбівальнік даведваецца замест гэтага адрас тунеля. Абодва вынікі сумяшчальныя з тым жа браўзерам на тым жа хосце, таму назіранне трэба прывязваць да канкрэтнага патоку. Спытайце ядро, якую крыніцу яно выкарыстала б, перш чым вінаваціць праграму.

Раскрыццё супраць абыходу: дзве знаходкі, дзве праўкі

Адбіты адрас тунеля раскрывае ўнутраны ідэнтыфікатар шляхам, які вы дазволілі. Запыт наўпрост праз WAN абыходзіць шлях, які вы хацелі патрабаваць. Першае — пытанне інфармацыі, другое — пытанне прымусу, і выпраўляюцца яны ў розных месцах. Калі зліць іх у адно слова, атрымаецца праўка, якая не вырашае ні аднаго з іх.

WebRTC робіць гэта прыкметнейшым, не робячы гэта няправільным, бо сабраць кандыдата — не тое ж самае, што выбраць яго.

ip route get 203.0.113.7 from 192.0.2.25
ip rule show

Выканайце запыт маршруту для кожнага дазволенага адраса адбівальніка з крыніцай, якая, па вашым чаканні, нясе гэты паток, потым выканайце яго зноў для выключаных дыяпазонаў, каб убачыць, што выбера рэзервовы варыянт. Параўнайце два адказы з палітыкай, якую запісалі. Калі яны разыходзяцца так, як вы не задумвалі, вы знайшлі пункт праўкі, нават не спрабуючы тлумачыць спіс кандыдатаў браўзера.

Падобныя артыкулы