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

Ինչու հասցեն շարունակ վերադառնում է

kvnet-ը վիրտուալ ադապտեր է, որը հաճախորդը ստեղծում է միացման սկզբում և հեռացնում է այն ավարտվելիս։ Ուստի ձեռքով ip link set-ը գոյատևում է ճիշտ այնքան, որքան այն սեսիան, որի վրա կիրառվել է, և հաջորդ միացումը սկսվում է նրանից, ինչ հատկացնում է հաճախորդը։ Այն մեքենայում, որտեղ հաճախորդը չի կարողանում կիրառել սպասվող հասցեն, յուրաքանչյուր վերամիացում նորից բերում է նույն անհամապատասխանությունը, և վարձակալության կամ մուտքի կանոնը նորից մերժում է սարքը։

Այդ օրինաչափությունն ինքնին ախտորոշիչ է։ Թունելը, որն աշխատում է մեկ սեսիայում և ձախողվում հաջորդում, հավատարմագրերի խնդիր չէ, քանի որ հավատարմագրերը չեն փոխվում միացումների միջև։

Կարդացե՛ք արժեքը հաճախորդից, ոչ միջերեսից

Linux-ի հաճախորդը բանակցության մանրամասները գրում է իր կարգաբերման մատյանում, և այն հասցեն, որը մտադիր է օգտագործել, հայտնվում է այնտեղ որպես միացման հաջորդականության վերջին հասցեաձև նշանը։ Համեմատե՛ք այն այն բանի հետ, ինչ իրականում պահում է միջուկը, ինչը մեկ readlink հեռավորության վրա է՝ cat /sys/class/net/kvnet/address։

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

Կիրառե՛ք այն միջերեսի գոյությունից հետո

NetworkManager-ի օգտվողները կարող են սկրիպտ դնել նրա դիսպետչերական պանակում և գործել միայն այն ժամանակ, երբ VPN միջերեսը բարձրանում է։ systemd-ով կառավարվող հաճախորդն ավելի մեծ ուշադրություն է պահանջում. ծառայության մեկնարկին աշխատող drop-in-ը սովորաբար ակտիվանում է մինչև ադապտերի գոյությունը, ուստի կապակիցը պետք է սպասի միջերեսին, փոխարենը այն ենթադրելու։ Սահմանե՛ք հասցեն այդ ժամանակ, և եթե միջուկը հրաժարվում է, քանի դեռ կապը վերևում է, իջեցրե՛ք այն, սահմանե՛ք հասցեն և նորից բարձրացրե՛ք։ Կարդացե՛ք արտահանված նշանը նորից MAC օրինաչափության միջով, նախքան այն ip link-ին փոխանցելը, որպեսզի անսպասելի մատյանի տողը չդառնա արգումենտ։

Այն ամենը, ինչ աշխատում է որպես root հաճախորդի մատյանից արժանի է նեղ սեփականության՝ root-ին պատկանող ֆայլ, որը ուրիշները չեն կարող գրել, և ոչ մի shell ինտերպոլյացիա՝ ստուգված հասցեից այն կողմ։ Պահե՛ք օրինաչափության ստուգումը սկրիպտի ներսում։ Թույլ մի՛ տվեք, որ մատյանի բովանդակությունը որոշի, թե որ հրամանն է աշխատում։

Ստուգե՛ք վարձակալությունը, ոչ թե կապը

ip -4 -o addr show dev kvnet-ը պետք է ցույց տա հասցե սպասվող տիրույթում, ip neigh show dev kvnet-ը պետք է ցույց տա դարպասը, և VPN-ի հետևում գտնվող մեկ ծառայություն պետք է պատասխանի։ Այնուհետև մեկ անգամ անջատվե՛ք և նորից միացե՛ք. եթե հասցեն վերադառնա, կապակիցը գործարկվում է սխալ իրադարձության վրա կամ ընդհանրապես չի գործարկվում։

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

Վերանայե՛ք շրջանցումը թարմացումից հետո

Հաճախորդի այն տարբերակը, որը ճիշտ է սահմանում հասցեն, ձեր կապակիցը թողնում է հնացած արժեք կիրառելիս, ինչը նոր խափանում է, որ ներմուծել է ուղղումը։ Նաև երբեք MAC մի՛ պատճենեք այլ մեքենայից կամ ֆորումի գրառումից. օգտագործե՛ք այն արժեքը, որը այս հաճախորդը գրանցում է այս հաշվի համար, և նշե՛ք այն ամսաթիվը, երբ ստուգել եք այն։

Պահե՛ք սկրիպտը բավական կարճ, որպեսզի այն կարդացվի մեկ նստաշրջանում։ Մատյանները վերլուծող շրջանցումները բնույթով ժամանակավոր են։ Գոյատևում են նրանք, որոնք ապագա ընթերցողը հասկանում է առանց սկզբնական թեմայի։

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