VPN атау сервері үнемі LAN-дікінен төмен түсіп қалады, ал /etc/resolv.conf файлын өңдеу оны бірнеше минутқа түзейді. Бұл файл жасалады, сондықтан түзету ешқашан сақталмайды. Debian resolvconf ішінде реттілік кірісі /etc/resolvconf/interface-order болып табылады және ол DNS мекенжайларын емес, жазба атауларын сұрыптайды. Екі файлдың біріне қол тигізбес бұрын қай resolver стегі шынымен жауапты екенін растаңыз.

Шығыс resolvconf-қа тиесілі екенін растаңыз

Ағымдағы файлды не жазғанын және оны қайта не жазатынын сұраудан бастаңыз. resolvconf пакеті өзін динамикалық resolver конфигурациясының негізі ретінде сипаттайды, ал systemd-resolved немесе NetworkManager басқаратын resolver жүргізетін хост сыртынан ұқсас көрініп, мүлде басқа саясат қолдануы мүмкін.

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 қалдырады.

Оны тіркейтін компонент арқылы қолданыстан шығарыңыз, содан кейін жазбалар каталогы оны енді тізімдемейтінін растаңыз.

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

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