Кеңсе VPN-ине туташыңыз, ошондо кенеттен ар бир ат сурамы корпоративдик resolver-ге кетет. Жалпы аттар дагы эле чечилет, ошондуктан жергиликтүү принтердин аты ийгиликсиз болмокчу же split-horizon жазуусу кеңсенин дарегин кайтармайынча эч нерсе бузулгандай көрүнбөйт. Кээ бир Fedora конфигурацияларында тескериси болот: провайдердин resolver-и туннель көтөрүлгөндөн кийин да жооп бере берет. Экөө тең бир суроо — бул сурамдын ээси кайсы resolver — жана NetworkManager системаларында жооп ар бир туташуунун DNS касиеттеринде жашайт.

Эки туташуу, бир жеңүүчү resolver

Ар бир туташуу DNS артыкчылыгын жарыялайт. Жөнөкөй туташуулар демейде 50, VPN туташуулары 0 болот, жана төмөнкү маани жеңет. Так ушул демейки маани VPN туташуусунун талап кылган ар бир домени үчүн зымдуу туташуудан үнсүз басымдуулук кылышынын себеби: эч ким тандабаса да нөл элүүнү жеңет.

Артыкчылык талапкерлерди иреттеп коёт. Ал жеңүүчүдөн эмнени суроону чектебейт. Издөө домени жок VPN туташуусу баарын талап кылат, ошондуктан аны артык көрүү жалпы сурамдарды да туннелге, ал эми бөлүнгөн туннель долбоорунда корпоративдик resolver багыттай турган жерге жөнөтөт.

Артыкчылык тартипти, издөө тизмеси ээликти чечет

nmcli -f connection.id,ipv4.dns,ipv4.dns-search,ipv4.dns-priority con show "Corp VPN"
resolvectl status
readlink -f /etc/resolv.conf

Издөө тизмеси — ээлик тууралуу билдирүү. corp.example сыяктуу жылаңач домен издөө мүчөсү жана маршруттоо домени болуп калат. Тек маршруттоого арналган форма ~corp.example ошол мүчөнүн астындагы сурамдарды доменди кыска аттарга кошпой ушул туташууга жөнөтөт. Ошол тильда «ушул серверден сура» жана «ушул серверден сура жана менин терүүмдү бүтүр» дегендердин ортосундагы айырма.

Колдонуучулар кыска хост аттарын тергенде жана жазуулар толук квалификацияланган аттар менен да даректүү болгондо эки форманы тең колдонуңуз. Бөлүү керек болгондо, resolver жылаңач атты кантип толуктай турганын өзгөртпөй эле, тек маршруттоо формасын колдонуңуз.

Анан артыкчылыкты ачык кылып, кайра активдештириңиз:

nmcli con modify "Corp VPN" ipv4.dns-priority -100
nmcli con modify "Corp VPN" ipv6.dns-priority -100
nmcli con modify "Corp VPN" ipv4.dns-search "~corp.example,corp.example"
nmcli con up "Corp VPN"

Терс артыкчылык — «ушул туташууну артык көр» деп айтуунун документтелген жолу, ал эми эки дарек үй-бүлөсүн тең коюу IPv6 туташуусу бар хостто жүрүм-турумду бирдей сактайт. Туташууну кайра активдештирбей туруп касиетти өзгөртүү азыр иштеп жаткан эч нерсени өзгөртпөйт, ошондуктан ырааттуулук ачык up менен бүтөт.

Бөлүүнү systemd-resolved кармап турсун

Демейки dnsmasq плагини сурамдарды бир жергиликтүү resolver-ге куюп салат, ошондуктан байланыш боюнча бөлүү одоно бойдон калат. systemd-resolved бөлүүнү ар бир байланыш боюнча көрсөтөт, ал эми resolvectl query жооп берген байланыштын атын атайт.

systemctl enable --now systemd-resolved
ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
systemctl restart systemd-resolved NetworkManager
resolvectl query build.corp.example

Андан кийин корпоративдик байланыш corp.example дарегин алып жүрөт, ал эми жалпы resolver калганына кызмат кылат. Сурам туура эмес байланышка жеткенде, буйрук ага жооп берген байланыштын атын атайт, жана муну билүү жалпак даректи билүүдөн артык.

DNS долбоорун туннелдин түрүнө ылайыкташтырыңыз

Баарын туннель аркылуу жөнөткөн купуялык долбоорлору бөлүү тизмесин алып жүрбөшү керек, анткени ал жалпы аттарды жергиликтүү resolver-ге кайтарып, ниетти жокко чыгарат. Бөлүнгөн туннель долбоорлоруна ал керек: ансыз корпоративдик resolver ар бир жалпы сурамды көрөт, жана конфигурация туннель кулаган учурда бузулат.

Анан туннелден тышкаркы DNS-ти тоскон kill switch бар. Аттар туннелдин зоналары үчүн чечилет жана калган бардык жерде ийгиликсиз болот, ал эми туташуу толук соо. Ишке жарактуу жооптор — LAN resolver-ине ачык уруксат же корпоративдик зонаны гана өткөрүп жиберген жергиликтүү кэш, жана экөө тең туннелдеги кемчилик эмес, ээси бар өзгөчөлүк.

Интерфейс ишке киргенде resolver конфигурациясын кайра жазган профиль да дээрлик ошондой жүрүм-турум көрсөтөт: жергиликтүү resolver жеткиликсиз болгондон кийин туннель билген аттар гана чечилет. Кайсы механизм колдонулбасын, ар бир абалда кайсы аттар иштеши керектигин жазып коюңуз, жана ошол тизмени отчётторду иштеген адамга бериңиз.

Ар бир байланыш боюнча текшериңиз, анан кайра туташкандан кийин дагы текшериңиз

Бир ички жана бир жалпы атты сураңыз, жана сурамдын чындыгында кайда кетерин караңыз. Агып кетүүнү текшерүү бети кайсы resolver жооп бергенин айтат, система кайсы байланышты тандаганын эмес, ошондуктан ал жаңы эле конфигурациялаган тартип тууралуу эч нерсе айтпайт.

Ажыратып, кайра туташкандан кийин эки сурамды кайра аткарыңыз. Туташуу активдешкенде артыкчылыктар кайра колдонулат, ал эми эски символдук шилтеме эч ким эстебеген жаңыртуудан кийин да калышы мүмкүн. Аягында жазгыңыз келгени — кайсы resolver кайсы мүчөнүн ээси экени, кошумча эртең да күчүндө боло турган текшерүү.

Тектеш макалалар