Գործառնական ուղեցույց. երկու OpenVPN հաճախորդների առանձին միացում
Մեկ OpenVPN հոսթի վրա երկու հաճախորդի պետք են առանձին լսողներ, փուլեր, վստահության ֆայլեր և չեղարկման առաքում, ընդունման թեստով, որը նրանց առանձին է պահում։
Մեկ հոսթի վրա երկու հաճախորդը հնչում է ինչպես ևս մեկ սերվերի բլոկ և երկրորդ պորտ։ Այն դառնում է այլ նախագիծ, հենց որ թվարկում եք այն ամենը, ինչ հաճախորդն իրականում ունի՝ լսող, թունելի փուլ, ինքնություն, վստահության ֆայլեր, երթուղիներ և չեղարկման ժամանակացույց։ Բաց թողեք դրանցից մեկը, և երկրորդ հաճախորդը հանգիստ ժառանգում է առաջինի մի մասը։ Կառուցեք քարտ յուրաքանչյուր հաճախորդի համար և լրացրեք այն մինչև առաջին հաճախորդի միանալը։
Յուրաքանչյուր հաճախորդի հատկացրեք ամբողջական ռեսուրսային քարտ
Ամրագրեք ամբողջ փաթեթը միասին՝ հանրային պորտ, թունելի ենթացանց, կարգավորման ուղի, մատյանի նպատակակետ, ծառայության օրինակի անուն և սարք։ Դրանք որպես խումբ անվանելն է, որ կանխում է աշխատող ֆայլի դասական պատճենը, որը դեռ պարունակում է առաջին հաճախորդի փուլը կամ ինտերֆեյսը։ Արժեքները օրինակներ են, ոչ թե ամրագրված պորտեր, ուստի ստուգեք, թե հոսթն արդեն ինչ է օգտագործում։ Մեկնարկող ծառայությունը նույնը չէ, ինչ ամբողջական հաճախորդը։
Պահեք քարտը կարգավորման կողքին և թարմացրեք այն ամեն անգամ, երբ արժեքը փոխվում է։ Իրականությունից հեռացող փաստաթղթավորումն ավելի վատ է, քան բացակայությունը։
Պահեք վստահության նյութը յուրաքանչյուր հաճախորդի ներսում
Յուրաքանչյուր հաճախորդի համար առանձին թողարկող մարմինը սահմանը դարձնում է հեշտ դատելի և ստորագրության բանալին հեռու է պահում ինտերնետին բաց հոսթից։ Համատեղ արմատը նույնպես կարող է աշխատել, բայց ընդհանուր խարիսխը երկու ծառայություն չի դարձնում մեկ անդամակցության տիրույթ։ Որոշեք, թե յուրաքանչյուր լսող որ շղթաներն է ընդունում և որ հաճախորդային ինքնություններին է լիազորում, ապա գրեք երկուսն էլ։ Մի քանդեք վկայագրերը շղթայից փորձի և սխալի միջոցով, մինչև ինչ-որ բան միանա։
Սերվերի սեփական մասնավոր բանալին պատկանում է յուրաքանչյուր հաճախորդի համար պաշտպանված ֆայլին, ոչ թե ձևանմուշային պանակին, որը կրկնօրինակվում է կարգավորման հետ միասին։
Առանձնացրեք ցանցերը, ինչպես և գործընթացները
Երկու պորտի վրա երկու գործընթաց դեռ կիսում են հոսթ և երթուղավորման աղյուսակ, եթե չառանձնացնեք դրանք։ Հաստատեք, թե ինչ է լսում, նախքան նախագծին վստահելը։
ss -lunp | grep -E '1194|1195'
openssl verify -CAfile customer-a/ca.crt customer-a/client.pemԼսողի ստուգումը ցույց է տալիս, թե որ գործընթացն է տիրում յուրաքանչյուր հանրային պորտին, իսկ ստուգաչափումը ցույց է տալիս՝ հաճախորդի վկայագիրը շղթայվում է նախատեսված խարիսխի հետ, թե ոչ։ Ելքերից ոչ մեկը չի ապացուցում, որ A-ի հաճախորդը չի կարող հասնել B-ի ենթացանցին, ուստի սահմանեք աղբյուրի և նպատակակետի քաղաքականությունը, վերադարձի երթուղիները և ցանկացած դիտավորյալ համատեղ ծառայություն։ Ցանցային անվանատարածքները կամ կոնտեյներները առանձնացնում են երթուղավորման համատեքստերը և նվազեցնում պատահական խառնումը, սակայն դրանք ամբողջական վարձակալի սահման չեն ինքնին։ Ընտրեք ավելի ուժեղ մեկուսացման մեխանիզմ, երբ սպառնալիքի մոդելը դա պահանջում է։
Չեղարկումը հասցրեք փոխանցումից առաջ
Վկայագրի տեղակայումը ամբողջական չէ, քանի դեռ չեղարկումը առաքման ուղի չունի։ Ստուգեք CRL-ի թողարկողին և վավերականության պատուհանը որպես միացման մաս։
openssl crl -in customer-a/crl.pem -noout -lastupdate -nextupdate
systemctl status openvpn@customer-aCRL-ի ստուգումը հաղորդում է, թե երբ է ցանկը թողարկվել և երբ է լրանում, իսկ ծառայության կարգավիճակը հաստատում է, որ այն կարդացող օրինակն աշխատում է։ Թարմացրեք ցանկը թողարկման քաղաքականության ժամանակացույցով նույնիսկ երբ նոր բան չի չեղարկվել, քանի որ ժամկետանց CRL-ը կարող է մերժել յուրաքանչյուր հաճախորդի։ Հրապարակեք ամբողջական ֆայլ՝ ընթերցողներին մասնակի գրառման հանդիպելու թողնելու փոխարեն, և ստուգեք ստորագրությունը տեղակայումից առաջ։ Գրանցեք, թե ով է տիրում թողարկմանը, վերջնակետի շահագործմանը և շահագործումից հանմանը, որպեսզի A հաճախորդի անջատումը չխանգարի B-ին։
Այնուհետև գործարկեք ընդունման զույգը՝ թույլատրված հաճախորդը հասնում է իր ծառայությանը, իսկ A-ի հավատարմագրումը մերժվում է B-ի լսողի կողմից։ Սա է սահմանը՝ արտահայտված որպես թեստ։