Туннель жабылгандан бир күн өтсө да ички ат дагы эле VPN серверине чечилет, ал эми чечүүчү файл ошол жазуу менен кайра-кайра кайтып келет. Debian resolvconf абалга ээ болгон жерде бул файл жеткирүүчүлөрдүн жазууларынан куралат, алардын бири калдык болуп саналат. Жазууну өчүрүү бир мүнөт алат; аны өчүрүү коопсуз экенин далилдөө чыныгы иш. Бул дарбазалар кезеги менен иштейт, ийгиликсиз дарбаза процедураны бүтүрөт, кийинки кадамга жөнөтпөйт.

resolvconf абалга ээ экенин ырастаңыз

Алгач ээсин аныктаңыз, анткени systemd-resolved астында ушул эле белги башка буйруктарды жана башка оңдоону талап кылат. resolvconf пакети /run/resolvconf астында маалымат базасын кармайт жана /etc/resolv.conf файлын ошол базадан кураган файлга багыттайт. Эки окуу маселени чечет: символдук шилтеменин бутасы жана пакеттин орнотулуп, активдүү экендиги. /run/systemd/resolve астындагы бута башка конструкцияны билдирет, анда төмөнкүлөрдүн эч бири колдонулбайт.

dpkg -l resolvconf | tail -1
ls -l /etc/resolv.conf
systemctl is-active resolvconf.service

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

Маалымат базасы киргизүүлөрдү кармайт, жоопту эмес

Маалымат базасы киргизүүлөрдү кармайт, ал эми файл чыгуу болуп саналат, ошондуктан киргизүүлөрдү тизмелөө жок кылгыңыз келген жазууну кайсы программа орнотконун көрүүнүн жалгыз жолу. Жазуулар кыска, алардын ачкычтары кийин керек боло турган туткалар. Аларды кайсынысы эскиргенин чечээрден мурун окуңуз, анткени VPN интерфейсине окшош ат башка кардарга таандык болушу мүмкүн. Жеке даректерди жана ички издөө домендерин жалпы диагностикадан тышкары кармаңыз; ачкычтын өзү эле адатта жазууну аныктайт.

sudo resolvconf --list
sudo resolvconf -i

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

Ачкычты кайра куруунун ордуна чыгуудан көчүрүңүз. Жазуу tun0 деп эски скрипт ошол атты колдонгону үчүн гана аталбайт.

Жазуунун ээси жок экенин далилдеңиз

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

Процесс аттары начар далил. OpenConnect vpnc-script чакырат, ошондуктан vpnc процессин текшерүү кайсы жазуу учурдагы экенин айтпайт. Жаңы байланыш эски байланыш калтырган интерфейс атын кайра колдонушу мүмкүн, бул ачкычты чыныгы жашынан эскирээк көрсөтөт. Жазуунун ичиндеги сервер дарегин дагы эле активдүү туннелдердин даректери менен салыштырыңыз, эгер алар дал келсе, токтоңуз.

Ээсинин менеджери аркылуу кадимки ажыратуу биринчи чечим. Ал ошол байланыш орноткон нерсени артка кайтарат жана башка жеткирүүчүлөргө тийбейт.

Өчүрүүнү жана кайра жазылышын текшериңиз

Жазуу эскиргени ырасталгандан кийин, аны так ачкыч менен өчүрүңүз, анан божомолдобой натыйжаны окуңуз. Бул буйрук хосттогу ар бир колдонмонун чечүүчү абалын өзгөртөт, ошондуктан аны өзүңүз көзөмөлдөгөн терезеде иштетиңиз. Ачкычты тырмакчага алыңыз, анткени ал кабык кеңейте турган белгилерди камтыйт. Блоктогу орун толтургуч сиз тизмеден көчүргөн ачкычты билдирет, сөзмө-сөз сапты эмес.

sudo resolvconf -d "RECORD_KEY_FROM_THE_LIST"
sudo resolvconf --list
resolvectl query host.corp.example || getent hosts host.corp.example

Жаңыртуу күйгүзүлгөндө өчүрүү жаңыртуу скрипттерин иштетет; жаңыртуулар өчүрүлгөндө ал жаңыртууну кийинкиге калтырат, ошондуктан өчүрүлгөн жазуу менен кайра жазылган файл эки өзүнчө окуя. Файлды карардан мурун тизмени кайра окуп, ачкыч жоголгонун ырастаңыз. Анан калган жеткирүүчүлөр аркылуу дагы эле чечилиши керек болгон бир атты жана бир коомдук атты сурап, экөөнү тең өзгөртүүгө чейин көргөнүңүз менен салыштырыңыз. Эгер жеке ат толугу менен чечилбей калса, ошол жазуу аны дагы эле алып жүргөн.

resolvconf -u ушул жаңыртуу скрипттерин гана иштетет. Ал эскирген жазууну эч качан аныктабайт же өчүрбөйт, ал эми эскирген киргизүүлөрдөн кайра куруу ошол эле керексиз файлды кайталайт.

Өлтүрүлгөн ажыратуу илгичи жазууну калтырат

Бир жолку тазалоо бүгүнкү абалды калыбына келтирет, ал эми кийинки үзүлгөн өчүрүү жазууну кайра алып келет. Ажыратуу жолун басып өтүңүз: кардардын ажыратуу илгичи, илгич чакырган жардамчы жана алардын бири өлтүрүлгөндө эмне болот. Үзүлгөн өчүрүү кадимки себеп, анткени илгич такыр иштеген эмес. Илгичтин чыгуу статусун бир жолу жазып койсоңуз, анын үнсүз ийгиликсиз болуп жатканын билесиз.

Орнотуу менен тазалоону бир ээнин карамагында кармаңыз. Интерфейс аттарын божомолдогон экинчи скрипт акыры башка байланыштын жазуусун өчүрөт, бул сиз баштаган эскирген жазуудан да жаман. Ээси жазуунун качан эскиргенин да чечиши керек, анткени аны кайсы байланыш орнотконун билет.

Анан жашоо циклин сынап көрүңүз: туташыңыз, ажыратыңыз, жазууларды кайра тизмелеңиз. Жазуунун өзүнөн өзү жоголушу оңдоонун сакталганынын жалгыз далили.

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