ZeroTier-ը դեպի լոկալ ցանց․ UFW երթուղու կանոններ, ոչ թե պորտի թույլտվություն
Դարպասում պորտի թույլտվությունը նույնը չէ, ինչ դրա հետևում գտնվող հոսթին փոխանցելը։ Սահմանեք կառավարվող երթուղին, միացրեք անցումը և ընտրեք վերադարձի ուղին։
Գրասենյակի լոկալ ցանցում տպիչին ZeroTier անդամի միջոցով հասնելը թվում է մեկ կանոն, բայց իրականում երեք որոշում է երեք տարբեր տեղերում։ Վերադրված ցանցը պետք է իմանա՝ որտեղ է լոկալ ցանցը, Linux հոսթը պետք է պատրաստ լինի փաթեթներ փոխանցելու, իսկ լոկալ ցանցը պետք է իմանա՝ ինչպես պատասխանը հետ ուղարկել։ Դարպասի վրա պորտ բացող ներգնա կանոնը ոչ մեկին չի վերաբերում։ Դա սխալ գործիք է ճիշտ հոսթի վրա։
Երեք աշխատանք, երեք պատասխանատու
Կառավարվող երթուղին պատկանում է ZeroTier ցանցի կարգավորմանը։ Այն անդամներին հայտնում է, որ նախածանցը հասանելի է կոնկրետ անդամի հասցեով։
Փոխանցումը պատկանում է Linux միջուկին և նրան, ով տիրապետում է դրա հրապարակարգի քաղաքականությանը։ Այն որոշում է՝ վերադրված ցանցով ժամանող փաթեթը նորից դուրս կգա՞ ֆիզիկական ինտերֆեյսից։ Այն հոսթը, որը չի փոխանցում, փաթեթն ընդունելուց հետո լուռ կթափի այն։ Ուղարկողը տեսնում է ժամկետի սպառում, և ծառայության մատյանում ոչինչ չի հայտնվում։
Վերադարձի ուղին պատկանում է լոկալ ցանցին։ Դրա հոսթերը և երթուղղիչը պետք է իմանան, որ վերադրված նախածանցը հասանելի է ձեր դարպասի լոկալ հասցեով, այլապես ինչ-որ բան պետք է թարգմանի երթևեկությունը, որպեսզի հարցը երբեք չառաջանա։
Դրանցից յուրաքանչյուրը կարող է ճիշտ լինել, մինչ մյուսները ձախողվում են, և դրա համար է, որ միայն դարպասին ping անող թեստը ոչինչ չի ապացուցում դրա հետևում գտնվող ծառայության մասին։
Ուղղեք կառավարվող երթուղին դեպի անդամը
Ավելացրեք երթուղի նախատեսված լոկալ նախածանցի համար դարպասի վերադրված հասցեով, ոչ թե դրա լոկալ հասցեով։ Վերադրված հասցեն այն է, որին կարող են հասնել մյուս անդամները․ լոկալ հասցեն իմաստ ունի միայն լարի վրա։
Անդամները պետք է ընդունեն կառավարվող երթուղիները, որպեսզի լուծումն աշխատի, և նրանց սեփական լոկալ ցանցերը չպետք է արդեն օգտագործեն ձեր հայտարարած նախածանցը։ Տանը 192.168.60.0/24-ում գտնվող հեռավոր նոթբուքը նույնպես չի կարող 192.168.60.0/24-ը երթուղել վերադրված ցանցով։
Պահեք հայտարարված նախածանցը այնքան նեղ, որքան թույլ է տալիս առաջադրանքը։ Ավելի մեծ ագրեգատ հայտարարելը՝ նախապատվության վրա ազդելու համար, կարող է նաև պահանջել ձեզ չպատկանող հասցեային տարածք, և առաջացած կոնֆլիկտը հայտնվում է երկու ցանցերին միացված սարքերում։ Այն կարող է նաև անդամին ստիպել նախընտրել ուղի, որը ոչ մի տեղ չի տանում։ Պահեք երթուղին ազնիվ և թողեք քաղաքականությունը անի մնացածը։
Գրեք նախածանցը և անդամի հասցեն նույն գրառման մեջ, ինչ հրապարակարգի կանոնները, որովհետև ամենահաճախ հանդիպող խափանումը սխալ անդամին ուղղված երթուղին է։
Միացրեք անցումը միջուկում
Կարդացեք գործող փոխանցման արժեքը՝ նախքան որևէ բան փոխելը, ապա դարձրեք կարգավորումը մշտական այն մեխանիզմով, որն ձեր համակարգն արդեն օգտագործում է, և ոչ թե մեկանգամյա հրամանով, որը վերագործարկելիս անհետանում է։
Եթե քաղաքականությունը UFW-ինն է, դրա երթուղու կանոնները արտահայտում են փոխանցում աղբյուրի, նպատակակետի և ինտերֆեյսի զույգի համար։ Դրանք առանձին են ներգնա կանոններից, որոնք ծառայություն են բացում հենց դարպասի վրա․
sysctl net.ipv4.ip_forward
sudo ufw route allow in on zt3f2a1c9d out on eth0 proto tcp to 192.168.60.20 port 443
sudo ufw status verbose
Ինտերֆեյսի անունը այդ հոսթի իրական վերադրված սարքն է, որը կարող եք կարդալ ip link-ից․ այն բոլոր տեղադրումներում հաստատուն տող չէ։ Եթե հոսթը լռելյայն փոխանցում է, և UFW-ն ուղու վրա չէ, երթուղու կանոնը կանտեսվի, և կարևոր են միջուկի կարգավորումները։
Ընտրեք՝ ինչպես են պատասխանները վերադառնում
Աղբյուրի պահպանմամբ լոկալ ցանցի ծառայությունը տեսնում է իրական վերադրված հասցեն և պատասխանում դրան։ Դա պահանջում է երթուղի լոկալ ցանցի հոսթի կամ դրա երթուղղիչի վրա, որը վերադրված նախածանցը ուղղում է ձեր դարպասին, և դա փոփոխություն է Linux արկղից դուրս։
Երբ այդ երթուղին հնարավոր չէ ավելացնել, սահմանափակ աղբյուրի թարգմանությունը հարցումը դարձնում է այնպիսին, կարծես այն եկել է լոկալ ցանցի դարպասից։ Այդ դեպքում պատասխանները վերադառնում են տեղում, և լոկալ ցանցի երթուղավորման փոփոխություն պետք չէ, բայց սկզբնաղբյուրը կորչում է ծառայության մատյաններից։
Սահմանափակեք թարգմանությունը վերադրված աղբյուրով և կոնկրետ լոկալ նպատակակետով։ Թարգմանել այն ամենը, ինչ դուրս է գալիս լոկալ ինտերֆեյսից, լայն տարբերակն է, որը հետագայում զարմացնում է կանոնները կարդացող ցանկացածին, և այն նաև թաքցնում է երթևեկություն, որը պետք է արգելափակված լիներ։
Երկու տարբերակներից ոչ մեկը չի տալիս չպահանջված հասանելիություն լոկալ ցանցից դեպի կամայական վերադրված անդամներ։ Եթե դա ցանկալի է, դա առանձին կանոն է՝ իր սեփական վերանայմամբ։
Փորձարկեք իրական անդամից
Միացեք մեկ այլ անդամից, ոչ թե դարպասից, և պահանջեք մեկ թույլատրված ծառայություն։ Ապա փորձեք ծառայություն, որը պետք է փակ մնա, և կրկնեք երկու փորձարկումները վերամիացումից հետո և դարպասի վերագործարկումից հետո։
Անդամը, որը հայտնում է ONLINE, կամ դարպասի վերադրված հասցեին հաջող ping-ը, չի հաստատում ոչ երթուղին, ոչ փոխանցման կանոնը, ոչ վերադարձի ուղին․
zerotier-cli listnetworks
ip -4 route get 192.168.60.20
sudo ufw status numbered
Երկրորդ հրամանը ցույց է տալիս, թե որ ինտերֆեյսով փաթեթը կգնա լոկալ հոսթին, իսկ երրորդը՝ արդյոք երթուղու կանոնը գոյություն ունի ձեր մտադրած ձևով։ Եթե երկուսն էլ ճիշտ են թվում, և ծառայությունը դեռ ժամկետը սպառում է, ապա մնացած կասկածյալը վերադարձի ուղին է։