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

Երկու հրահանգ, երկու տարբեր աշխատանք

route-ipv6-ը սովորական երթուղու տեղադրում է՝ սերվերը ավելացնում է միջուկի երթուղի, որը նախածանցը ցույց է տալիս իր թունելային ինտերֆեյսին։ iroute-ipv6-ը պատկանում է կոնկրետ հաճախորդի համատեքստին և հայտարարում է ներքին պատկանելություն, այնպես որ դեմոնը գիտի, որ այդ նախածանցի երթևեկությունը պետք է ուղարկել որոշակի հաճախորդի, այլ ոչ այն peer-ին, որին պատահաբար անվանում է միջուկի երթուղին։

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

Ավանդական userspace կարգավորման մեջ երկուսն էլ պետք են, և նրանք լրացնում են միմյանց։ Միայն միջուկի երթուղին դեմոնին թողնում է առանց peer ընտրելու հնարավորության։ Միայն iroute-ը միջուկին թողնում է առանց թունել տանող ուղու։ Այստեղից է գալիս նաև հաճախորդի համար առանձին ֆայլերի շուրջ շփոթության մեծ մասը՝ ֆայլը երթուղիների աղյուսակի գրառում չէ, իսկ երթուղու գրառումը պատկանելության հայտարարություն չէ։

ip -6 route show | grep fd00:7a
ip -6 route get fd00:7a::1

Որտեղ է պատկանում յուրաքանչյուրը

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

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

# /etc/openvpn/server/server.conf
route-ipv6 fd00:7a::/64
client-config-dir /etc/openvpn/server/ccd

# /etc/openvpn/server/ccd/branch-b
iroute-ipv6 fd00:7a::/64

Պահեք pool-ը և ճյուղի նախածանցը առանձին, որովհետև դրանց համընկնումը ստեղծում է հանելուկ, որը ոչ մի հրահանգ չի լուծի։

Ինչ է պետք մեկ այլ հաճախորդի

Երկրորդ հաճախորդին, որը պետք է հասնի այդ ճյուղին, պետք է հայտարարություն, ոչ թե պատկանելություն։ Ուղարկեք նախածանցը ձեր ուզած հաճախորդներին՝ ձեր կոնֆիգուրացիային համապատասխան հաճախորդային կամ խմբային համատեքստում։

Չուղարկեք այն հենց ճյուղին, որովհետև այդ սարքն արդեն ունի նախածանցը որպես միացված ցանց։

Այն բոլորին ուղարկելը ընտրություն է հետևանքներով՝ այդ դեպքում յուրաքանչյուր հաճախորդ հավատում է, որ ճյուղը հասանելի է թունելով, ներառյալ այն հաճախորդները, որոնց երբեք չեք ցանկացել տալ այդ մուտքը։ Հայտարարությունը գործնականում մուտքի որոշում է, թեև հրահանգը սանտեխնիկայի աշխատանք է թվում։ սերվերի պարամետրերի տեղեկագիր iroute-ipv6-ը որպես հաճախորդին հատուկ պատկանելություն, և հենց այս տարբերությունն արժե պահել։

Վերադարձի ուղին ճյուղի սարքում

Պատկանելությունն օգնում է միայն այն դեպքում, երբ ճյուղը փոխանցում է փաթեթները, և նրա LAN-ը գիտի, թե ինչպես պատասխանել։ Միացրեք IPv6-ի փոխանցումը ճյուղի սարքում և հաստատեք, որ նրա LAN-ի հոսթերը VPN pool-ի երթևեկությունը հետ են ուղարկում դեպի ճյուղ, այլ ոչ դեպի լռելյայն երթուղին, որը չգիտի pool-ը։

Այդ վերադարձի ուղին IPv6-ի համարժեքն է բացակայող երթուղու այն խնդրի, որին մարդիկ հանդիպում են IPv4-ում։

Ստուգեք այն LAN-ի հոսթից՝ VPN pool-ի հասցեի հարցումով, ոչ թե հենց ճյուղից։ Երթուղիչի վրա արված հարցումը պատասխանում է այլ հարցի, քան ձեր օգտատերերինը, և երկուսը բավական հաճախ չեն համընկնում, որ արժե լրացուցիչ հրամանը։

Երբ զույգը դեռ բավարար չէ

Որոշ տեղակայումներ ընդհանրապես չեն օգտագործում այս ուղին։ Միջուկի տվյալների ուղին և արտադրանքի կողմից կառավարվող սերվերներն ունեն իրենց աջակցվող երթուղային մշակումը, և userspace-ի օրինակը կարող է ուղղակիորեն չփոխանցվել։

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

Վերջում հիշեք հասցեների շրջանակը՝ ունիկալ լոկալ նախածանցը, ինչպիսին է fd00:7a::/64 , նախագծմամբ մասնավոր է և ոչինչ չի ասում հանրային IPv6 հասանելիության մասին։ Վերաբերվեք դրան որպես ներքին մուտքի և ինտերնետ ելքը պահեք առանձին հարց՝ իր սեփական քաղաքականությամբ։

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