Унутраная праграма развязваецца на хасту Windows у момант падключэння VPN, а гасцявая сістэма Ubuntu за NAT у VirtualBox усё яшчэ не можа яе знайсці. У гасцявой сістэмы свой рэзалвер, і адаптар NAT можа апрацоўваць DNS не адным спосабам. Замена рэзалвера гасцявой сістэмы на публічны сервер робіць звычайныя сайты працоўнымі, а прыватныя імёны — неразвязальнымі, што пераносіць праблему ў іншае месца замест яе рашэння. Выканайце чатыры праверкі па чарзе і спыніцеся на першай, якая не вытрымае.

Пацвердзіце, які рэжым адаптара вы адладжваеце

Толькі адаптар у звычайным рэжыме NAT паводзіць сябе так, як апісана ў гэтым артыкуле. Маставы адаптар знаходзіцца ў фізічнай сетцы са сваёй ідэнтычнасцю, сетка NAT — гэта названы віртуальны камутатар са сваімі наладамі DHCP і DNS, а кліент VPN унутры гасцявой сістэмы дадае цалкам другі рэзалвер. Пацвердзіце рэжым перад чытаннем далей, бо рамонт адрозніваецца ў кожным з гэтых выпадкаў.

Адна віртуальная машына можа мець два адаптары ў розных рэжымах, і пацярпелы не заўсёды першы.

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

Прасачыце за адным імем праз рэзалвер гасцявой сістэмы

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

Унутры гасцявой сістэмы паглядзіце, на што рэзалвер фактычна настроены. У гасцявой сістэме Ubuntu з systemd-resolved стан па кожным злучэнні паказвае серверы, якія прыйшлі, а файл resolv.conf можа змяшчаць толькі адрас-заглушку, што правільна, а не падазрона. Файл, адрэдагаваны ўручную, або асобны кліент шыфраванага DNS могуць накіроўваць запыты цалкам у іншае месца. Запішыце тое, што выявілі, перад змяненнем.

resolvectl status
resolvectl query app.internal.example

Тут аддзяліце развязанне ад дасяжнасці. Адрас, які прыйшоў, пакуль служба застаецца недасяжнай, — гэта пытанне маршруту або палітыкі, а не DNS.

Паспрабуйце рэжым рэзалвера хаста на гэтым адаптары

Опцыі NAT DNS у VirtualBox апісваюць розныя механізмы, і розніца мае значэнне, калі ўласны рэзалвер хаста змяняецца разам з тунелем. DNS-проксі перасылае запыты гасцявой сістэмы на серверы, якія яму перадалі. Рэжым рэзалвера хаста перахоплівае запыты і выклікае DNS API хаста, і гэта той рэжым, які ідзе за рэзалверам Windows, пераналаджаным кліентам VPN.

Уключыце няправільны механізм, і каманда ўсё яшчэ пройдзе, а паводзіны не зменяцца, што з'яўляецца блытаным спосабам страціць паўдня.

VBoxManage modifyvm "work-ubuntu" --natdnshostresolver1 on

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

Паўтарыце тыя ж тэсты праз перападключэнне VPN

Паўтарыце абодва запыты ў гасцявой сістэме, затым адкрыйце сапраўдную праграму і дайце ёй самастойна праверыць сертыфікат. Тэст толькі па адрасе карысны для ізаляцыі развязання імёнаў і не раўназначны працоўнай сесіі TLS, таму не спыняйцеся на ping. Затым у дазволеным акне адключыце і зноў падключыце тунель хаста і паўтарыце яшчэ раз. Паводзіны, якія трымаюцца толькі на першым злучэнні пасля загрузкі, — гэта праблема жыццёвага цыклу, пра якую трэба паведаміць, а не DNS-загадка, за якой трэба ганяцца з іншым рэзалверам.

Працоўнае публічнае развязанне не даказвае, што прыватныя запыты засталіся на шляху, якога патрабуе ваша палітыка.

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

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