Редослед записа у Debian resolvconf-у: ставите VPN запис први
DNS сервер VPN-а непрестано пада испод LAN-овог јер resolvconf сортира имена записа. Уредите interface-order, поново генеришите и проверите два упита.
DNS сервер VPN-а непрестано завршава испод LAN-овог, а измена /etc/resolv.conf то поправља на неколико минута. Та датотека се генерише, па поправка никада не остаје. У resolvconf-у на Debian-у улаз за редослед је /etc/resolvconf/interface-order и он сортира имена записа, а не DNS адресе. Потврдите који је resolver стек заиста надлежан пре него што дотакнете било коју од две датотеке.
Потврдите да resolvconf поседује излаз
Почните питањем шта је написало тренутну датотеку и шта ће је поново написати. Пакет resolvconf описује себе као оквир за динамичку конфигурацију resolver-а, а домаћин који покреће systemd-resolved или resolver којим управља NetworkManager може споља изгледати исто, а користити потпуно другачију политику.
readlink -f /etc/resolv.conf
dpkg -l resolvconf 2>/dev/null | tail -n 1
Ако решена путања не води у радни директоријум resolvconf-а, зауставите се овде: овај приручник припада другом стеку.
Тек после те провере вреди набројати записе које resolvconf тренутно држи.
Прочитајте записе пре него што напишете шаблоне
interface-order се поклапа са именима записа добављача, не са адресама и не са именима интерфејса језгра. Набројте шта је регистровано да би ваши шаблони упућивали на постојеће уносе.
ls /run/resolvconf/interfaces
cat /etc/resolvconf/interface-order
Име записа обично носи наставак који идентификује његовог добављача, па запис тунела и запис DHCP-а могу делити префикс интерфејса и ипак се сортирати другачије. Копирајте тачна имена из списка директоријума. Не изводите име из имена интерфејса, јер интеграција клијента одлучује шта ће се регистровати. Измишљено име се никада неће поклопити, а запис ће пасти у шаблон који хвата све, без икакве поруке о грешци.
Напишите редослед као шаблоне првог поклапања
Датотека је списак shell glob шаблона, један по реду. Запис заузима позицију првог шаблона са којим се поклапа, па широк шаблон изнад конкретног чини конкретан ред недоступним.
# /etc/resolvconf/interface-order
lo*
tun_work.*
enp*
*
Ставите конкретан шаблон тунела изнад шаблона који хвата све и изнад шаблона физичког интерфејса.
Задржите остале редове које је датотека већ имала. Замена целе политике примером је начин на који се неповезани добављачи тихо премештају; измените један ред, поново генеришите и упоредите. Шаблони не могу садржати размаке, косе црте ни почетну тачку или тилду, а празни редови и коментари са хешем се игноришу.
Поново генеришите и проверите резултат
Редослед се примењује када скрипте за ажурирање поново изграде датотеку. Покрените подржани пут ажурирања уместо да уређујете генерисани излаз, а затим прочитајте шта је resolver заиста примио.
resolvconf -u
cat /etc/resolv.conf
Проверите два упита, не један: приватно име које треба да се реши кроз тунел и јавно контролно име. Ако приватно име и даље не успева док редослед изгледа исправно, проблем је у рутирању именског простора, а не у приоритету записа, и никакво преређивање то неће поправити. Упоредите сваки одговор са сервером који га је вратио, не само са успехом. Приватно име на које је одговорио погрешан resolver и даље је неуспех, а кориснику то изгледа као прекид DNS-а.
Повуците застарели запис из употребе уместо да га деградирате
Застарели VPN запис који се поново појављује после искључивања је грешка у животном циклусу интеграције са клијентом. Премештање на дно крије симптом и оставља мртав resolver на списку.
Повуците га кроз компоненту која га региструје, затим потврдите да га директоријум записа више не наводи.
Запишите име добављача, шаблон који сте изменили и два упита која сте извршили. Следећој особи су та имена потребнија од приче.