Які адрас крыніцы бачыць STUN з VPN на роўтары?
Маршрут, выбар крыніцы і трансляцыя вырашаюць адрас, які паведамляе адбівальнік. Тры факты, якія варта запісаць, потым адзін запыт, каб пацвердзіць, які шлях перамагае.
Пытанне гучыць як адна праверка, а насамрэч гэта тры рашэнні. Які маршрут абярэ binding request, які адрас крыніцы ядро выбера для гэтага маршруту і ці нешта перапіша гэтую крыніцу па дарозе. Зменіце любы з трох — і адрас, які паведамляе STUN-сервер, змяніцца разам з ім. Таму сцвярджэнне, што VPN стаіць на роўтары, само па сабе амаль нічога не кажа.
Рашэнне абапіраецца на тры факты
Па-першае, маршрут: правілы палітыкі і табліца маршрутызацыі вырашаюць, ці запыт выйдзе праз тунель, ці праз звычайны WAN, а выключанае прызначэнне выбірае другі шлях нават пры ўзнятым тунелі. Па-другое, крыніца: ядро выбірае крыніцу для абранага маршруту, і гэты выбар залежыць ад пажаданай крыніцы маршруту і ад любога правіла, што супала. Па-трэцяе, трансляцыя: NAT па дарозе замяняе абраную крыніцу. Адбіты адрас — гэта здабытак усіх трох, а не ўласцівасць тунеля.
Зменіце адно з трох — і адказ зменіцца, хоць кожны кампанент у сваім часопісе па-ранейшаму выглядае здаровым. Гэта звычайная прычына, чаму такая дыягностыка заходзіць у тупік.
Запішыце тры факты для патоку, які тэстуеце, перад пачаткам. Інтэрфейсу, маршруту і правіла трансляцыі дастаткова, каб прадказаць вынік, і менавіта прадказанне робіць нечаканасць інфарматыўнай. Калі адзін з трох запоўніць не ўдаецца, гэтая прага і ёсць сапраўдная знаходка.
Прасочыце адзін binding request па шляху
STUN binding request просіць сервер паведаміць назіраны адрас транспарту крыніцы. Адказ апісвае шлях, які прайшоў запыт, а не пералік інтэрфейсаў на кліенцкай машыне. Два запыты двума шляхамі сумленна паведамяць два розныя адрасы.
| Path taken | Source the reflector sees | What it means |
|---|---|---|
| Tunnel to a public exit that translates | The exit's public address | The reflector learns nothing about the LAN |
| Tunnel to a private reflector, translated to the tunnel address, no later translation | That tunnel address | An internal identifier is disclosed to that reflector |
| Excluded flow over the ordinary WAN | The WAN address | The 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Выканайце запыт маршруту для кожнага дазволенага адраса адбівальніка з крыніцай, якая, па вашым чаканні, нясе гэты паток, потым выканайце яго зноў для выключаных дыяпазонаў, каб убачыць, што выбера рэзервовы варыянт. Параўнайце два адказы з палітыкай, якую запісалі. Калі яны разыходзяцца так, як вы не задумвалі, вы знайшлі пункт праўкі, нават не спрабуючы тлумачыць спіс кандыдатаў браўзера.