Кеңседегі LAN-да ішкі атау бірден жауап береді. VPN қосылған сәтте ол жұмысын тоқтатады, қолданба таймаут туралы хабарлайды, ал туннельдің өзі шағымсыз трафикті өткізіп жатыр. Өзгерген нәрсе — резолвер, және сол резолвердің жеке мекенжайлар туралы өз пікірі бар.

Қайта байланыстырудан қорғаныс бір нақты айланы тоқтату үшін бар. Әдейі жарияланған жеке атау қорғаныс іске қосылатындай дәрежеде ұқсас көрінеді.

Саясатты оқымас бұрын жауапты оқыңыз

Атауды VPN шынымен тарататын резолверге сұраңыз, үйде ноутбугіңіз қолданатын резолверге емес. Жауапты күткен жазбамен салыстырып, жауап бос па, қабылданбады ма, әлде ешкім жоспарламаған жария мекенжайларға толы ма — соны жазып алыңыз.

Симптомдар бір-бірімен қабаттасады, сондықтан диагнозды жауаптың пішіні шешеді. NXDOMAIN — жоқ жазба, REFUSED — қатынас ережесі, ішкі атауға берілген жария мекенжай — саясат немесе split-DNS қатесі, ал клиент қолдана алмайтын дұрыс жеке мекенжай — мүлде басқа мәселе. Қабылданбаған қосылым немесе тоқтап қалған сұраныс өздігінен ештеңені дәлелдемейді, сондықтан мұндай билеттердегі бірінші команда қайта жүктеу емес, сұрау болуы керек. Бірдеңені өзгертуден бұрын жауапты жазып қойыңыз.

Қорғаныс шын мәнінде нені тоқтатады

DNS қайта байланыстыру клиент атауға әлдеқашан сенгеннен кейін оның неге шешілетінін өзгерту арқылы жұмыс істейді. Бет шабуылдаушы басқаратын атаудан жүктеледі, жауап жеке мекенжайға ауысады, ал браузер жергілікті желідегі, оған тікелей қосылуды ешқашан қабылдамайтын нәрсемен сөйлесуге алданады. Қорғаныс — резолверден жеке аттар кеңістігіне қызмет ету ешқашан сұралмаған кезде жеке кеңістікке бағытталған жауаптарды қабылдамау. Осы асимметрия — бүкіл шабуыл.

dnsmasq дәл осы мінез-құлықты, домен бойынша ерекшеліктермен бірге сипаттайды. Өзінің нұсқаулығында ол rebind-domain-ok параметрін осындай мекенжайларды заңды түрде қайтара алатын домендерді атаудың жолы ретінде сипаттайды. Мұны көзделген түзету — шектелген рұқсат, ал ғаламдық ажыратқыш емес деген белгі ретінде оқыңыз.

Ерекшелікті аттар кеңістігімен шектеңіз

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

# ask the resolver the VPN pushed, and show the full answer
dig +noall +answer db.corp.example @10.40.0.1
dig +short db.corp.example @10.40.0.1

# dnsmasq: what does the running configuration already allow?
grep -R 'rebind' /etc/dnsmasq.d /etc/dnsmasq.conf

Содан кейін көзделген атауларды қамтитын ең тар рұқсатты қосыңыз: VPN клиенттері сұрайтын резолвер конфигурациясында бір домен немесе бір делегацияланған субдомен. Сол резолвердегі барлық атау үшін қорғанысты өшіру олардың барлығының қорғанысын бірден жояды, оның ішінде оған ешқашан мұқтаж болмаған атаулар да бар.

Split DNS осы шешімнің бөлігі. Егер жеке аттар кеңістігіне тек ішкі резолвер жауап беруі керек болса, оны сол жерде жариялап, оның жария резолверлерге ағып кетуін тоқтатыңыз, сонда ерекшелік әр жолды емес, бір жолды қамтиды.

Ресурсты және қорғанысты қайта тексеріңіз

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

# the internal name and the public control should behave differently
dig +short db.corp.example @10.40.0.1
dig +short www.example.com @10.40.0.1

# and the service itself, with the certificate it presents
curl -sS -o /dev/null -w '%{http_code}\n' https://db.corp.example/health

Жария атауды да сол резолвер арқылы тексеріңіз. Қорғаныс ерекшеліктен тыс атауларда әлі де дұрыс әрекет етуі керек, ал егер бұл тексеру сәтсіз болса, өзгеріс көзделгеннен кеңірек болды. Сертификаттарды тексеруді соңына дейін қозғамаңыз, өйткені дұрыс шешілетін атау бәрібір қызмет ұсынатын сертификатқа сәйкес келуі керек.

Билетте қабылданбаған жауапты, доменді, резолверді және саясаттың иесін жазыңыз. Дәл сол жазба жұмбақ ішкі іркілісті біреу шолып шыға алатын конфигурация өзгерісіне айналдырады.

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