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

Ինչու է նույն հասցեն յուրաքանչյուր հանգույցում աշխատում

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

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

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

Նշանակեք այն loopback-ին, ոչ թունելին

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

lo-ի վրա հասցեն զտիչ չէ։ Ծառայությունը դեռ պետք է լսի դրա վրա, և հոսթի ֆայրվոլը դեռ գնահատում է իրական ներգնա ուղին, որը գալիս է թունելային ինտերֆեյսով։ Ով ենթադրում է, թե loopback-ը նշանակում է միայն տեղական, վերջում կա՛մ արգելափակում է օրինական հաճախորդներին, կա՛մ բացահայտում է մի բան, որը չի նախատեսել։

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

ip address show dev lo | grep 10.250.0.1
ip address add 10.250.0.1/32 dev lo

Հրեք մեկ երթուղի և նկատի ունեցեք մեկ նպատակակետ

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

Ստուգեք, թե ինչ է տեղադրել հաճախորդը, նախքան ծառայությանը մեղադրելը։

ip route get 10.250.0.1

HTTP ծառայության համար հասցեին տվեք անուն և այդ անվան համար վկայական։ Ընդհանուր IP-ն ինքնություն չէ, և այն չի վերացնում TLS ստուգումը, ինչպես նաև չի արդարացնում մեկ մասնավոր բանալի յուրաքանչյուր հանգույց պատճենելը։ Ընդհանուր հասցեին լուծվող անունը վկայականի պատմությունը պահում է սովորական և թույլ է տալիս պահել հանգույցային ինքնություն, եթե դրա կարիքն ունեք։

Ինչ չի կարող անել ընդհանուր հասցեն

Այն չի ապահովում խափանման փոխանցում։ Եթե ընտրված հանգույցը մահանում է, հասցեն մահանում է նրա հետ, և հաճախորդը պետք է վերամիանա այլ տեղ։

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

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

Պահեք ծառայության ինքնությունը անվան հետ

Գրեք, թե ինչ է նշանակում հասցեն. այն հասնում է ծառայությանը այն հանգույցում, որին հաճախորդը ներկայումս միացած է։ Այդ մեկ նախադասությունը կանխում է այն թյուրըմբռնման մեծ մասը, որը գրավում է այս ձևանմուշը։

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

Եթե պահանջը հանգույցային տեղական ծառայության համար կայուն նպատակակետ է, ձևանմուշը համապատասխանում է և գրեթե ոչինչ չարժե։

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

Դա վաղ որոշելը ընդհանուր հասցեն պահում է այն, ինչ կա՝ հարմար պիտակ, փոխարենը մի բաղադրիչի, որից լուռ ակնկալվում է անել աշխատանք, որի համար այն երբեք չի նախագծվել։

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