Ներքին անունը դեռ լուծվում է դեպի 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 գործընթացի ստուգումը ոչինչ չի ասում այն մասին, թե որ գրառումն է ընթացիկ։ Նոր կապը կարող է նաև կրկին օգտագործել ինտերֆեյսի անուն, որը հինը թողել է հետևում, ինչի պատճառով բանալին ավելի հին է թվում, քան իրականում է։ Համեմատեք գրառության ներսում գտնվող սերվերի հասցեն դեռ ակտիվ թունելների հասցեների հետ և կանգ առեք, եթե դրանք համընկնում են։

Տիրոջ կառավարիչի միջոցով սովորական անջատումը առաջին լուծումն է։ Այն հետ է վերցնում այն, ինչ այդ կապը տեղադրել էր, և անձեռնմխելի է թողնում մյուս մատակարարներին։

Ստուգեք հեռացումը և վերագրվածքը

Երբ գրառումը հաստատված է որպես հնացած, ջնջեք այն ճշգրիտ բանալիով, ապա կարդացեք արդյունքը՝ այն ենթադրելու փոխարեն։ Հրամանը փոխում է լուծիչի վիճակը հոսթի բոլոր ծրագրերի համար, ուստի գործարկեք այն ձեր վերահսկած պատուհանում։ Բանալին դրեք չակերտների մեջ, որովհետև այն պարունակում է նշաններ, որոնք shell-ը այլապես կընդարձակի։ Բլոկի տեղապահը նշանակում է այն բանալին, որը դուք պատճենել եք ցանկից, ոչ թե բառացի տող։

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

Ջնջումը գործարկում է թարմացման սկրիպտները, երբ թարմացումը միացված է, իսկ թարմացումն անջատված լինելու դեպքում այն հետաձգում է թարմացումը, ուստի հեռացված գրառումը և վերագրված ֆայլը առանձին իրադարձություններ են։ Նորից կարդացեք ցանկը և հաստատեք, որ բանալին անհետացել է, նախքան ֆայլին նայելը։ Ապա հարցրեք մեկ անուն, որը դեռ պետք է լուծվի մնացած մատակարարների միջոցով, և մեկ հանրային անուն, և համեմատեք երկուսն էլ փոփոխությունից առաջ տեսածի հետ։ Եթե մասնավոր անունն ամբողջությամբ դադարում է լուծվել, ապա այդ գրառումը դեռ կրում էր այն։

resolvconf -u-ը գործարկում է միայն այդ թարմացման սկրիպտները։ Այն երբեք չի բացահայտում կամ ջնջում հնացած գրառում, և հնացած մուտքերից վերակառուցելը վերարտադրում է նույն անցանկալի ֆայլը։

Սպանված անջատման կեռիկը թողնում է գրառումը հետևում

Միանվագ մաքրումը վերականգնում է այսօրվա վիճակը, և հաջորդ ընդհատված անջատումը գրառումը վերադարձնում է։ Անցեք քանդման ուղին՝ հաճախորդի անջատման կեռիկը, այն օգնականը, որին կեռիկը կանչում է, և ինչ է պատահում, երբ նրանցից որևէ մեկը սպանվում է։ Ընդհատված անջատումը սովորական պատճառն է, որովհետև կեռիկն ընդհանրապես չի գործարկվել։ Մեկ անգամ գրանցեք կեռիկի ելքի կարգավիճակը և կիմանաք՝ այն լուռ ձախողվում է, թե ոչ։

Կարգավորումը և մաքրումը պահեք մեկ տիրոջ ներքո։ Ինտերֆեյսների անունները գուշակող երկրորդ սկրիպտն ի վերջո կջնջի այլ կապի գրառումը, ինչն ավելի վատ է, քան այն հնացած գրառումը, որով սկսել եք։ Տերը պետք է նաև որոշի, թե երբ է գրառումը հնացած, որովհետև գիտի, թե որ կապն է տեղադրել այն։

Ապա փորձարկեք կյանքի ցիկլը՝ միացեք, անջատվեք, նորից թվարկեք գրառումները։ Գրառման ինքնաբեր անհետացումը միակ ապացույցն է, որ վերանորոգումը պահպանվում է։

Առնչվող հոդվածներ