Չորս բան պետք է համընկնեն նախքան Linux հոսթը միայն իր SMTP-ն թունելով դուրս կուղարկի՝ երթուղի առանձին աղյուսակում, քաղաքականության կանոն, որը ընտրում է երթևեկությունը, աղբյուրի հասցե, որը peer-ը կընդունի, և վերադարձի ուղի, որը դիմանում է ասիմետրիային։ Յուրաքանչյուրը առանձին կոնֆիգուրացիա է՝ իր ձախողման ձևով։ Ստորև տրված հերթականությունն այն է, որը ձախողումը ցույց է տալիս իսկապես սխալ մասի վրա։ Սա պորտին հատուկ երթուղավորման աշխատանք է, ոչ թե VPN-ի լռելյայն երթուղու հարցում։

Պորտի կանոնը լռելյայն երթուղի չէ

Կանոնը, որը տեղական ստեղծված TCP-ն համընկնում է նպատակակետ 25 պորտի հետ, այդ երթևեկությունն ուղարկում է ձեր նշած աղյուսակ։ Կանոնն ինքնին ոչինչ չի ստեղծում՝ այն ընտրում է, և աղյուսակը պետք է պարունակի երթուղի, որը կարող է տանել փաթեթը։ Երկուսի միավորումը ծածկում է միայն մեկ արձանագրության ելքային ուղղությունը, ուստի այլ հոսթերի համար փոխանցումը, մուտքային փոստային կապերը և IPv6-ը մնում են այս կարգավորումից դուրս։ Այն պորտին հատուկ քաղաքականություն անվանելը՝ VPN-ի լռելյայնի փոխարեն, այդ սահմանը պահում է ազնիվ։

wg-quick-ի երկու կարգավորում նախապայման են, ոչ թե քաղաքականության մաս։ AllowedIPs = 0.0.0.0/0-ը թույլ է տալիս peer-ին կրել կամայական IPv4 նպատակակետեր, իսկ Table = off-ը թույլ չի տալիս wg-quick-ին տեղադրել իր լռելյայն երթուղին այդ նախածանցի համար։ Մի խառնեք այս հրահանգները կառավարչի հետ, որը կիրառում է իր սեփական երթուղային քաղաքականությունը, որովհետև երկուսը չեն համաձայնի, թե ում է պատկանում հիմնական աղյուսակը։

Գրեք երթուղին, ընտրիչը և պահակը

Ընտրեք աղյուսակի համար և զույգ առաջնահերթություն, որոնք ուրիշ ոչինչ չի օգտագործում, ապա կիրառեք երթուղին, ընտրիչը և պահակը այդ հերթականությամբ։ Ստորև թվերը օրինակներ են, ոչ թե վերապահված արժեքներ՝

ip -4 route add default dev wg0 src 10.77.0.2 table 51825
ip -4 rule add priority 10000 iif lo ipproto tcp dport 25 lookup 51825
ip -4 rule add priority 10001 iif lo ipproto tcp dport 25 unreachable

iif lo-ն կանոնը սահմանափակում է տեղական ծագման երթևեկությամբ, իսկ ipproto tcp dport 25-ը նույնականացնում է կապի ուղղությունը. ip-rule-ի տեղեկատուն փաստաթղթավորում է երկու ընտրիչներին։ Դրանք գոյություն ունեն ընթացիկ միջուկներում և iproute2-ի թողարկումներում, իսկ հին համակարգում կանոնը ուղղակիորեն մերժվում է, ինչը ավելի պարզ ձախողում է, քան կանոնը, որը բեռնվում է և ոչնչի չի համապատասխանում։

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

Աղբյուրի հասցեն պետք է համաձայնի

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

Դարպասում հաճախորդի peer-ը պետք է լիազորի այն աղբյուրը, որը նա իրականում ստանում է, այսինքն՝ 10.77.0.2/32, ոչ թե լայն նպատակակետ նախածանց։ Հաճախորդի 0.0.0.0/0-ը յուրաքանչյուր դարպասի peer-ի մեջ պատճենելը խառնում է, թե որ peer-ն ում երթևեկությունն ունի։ Դարպասին անհրաժեշտ է նաև փոխանցում, հոսքը թույլատրող firewall-ի քաղաքականություն և վերադարձի ուղի, ներառյալ ելքի թարգմանությունը, երբ վերին մակարդակը չի կարող երթուղավորել մասնավոր թունելային հասցե։

Ստուգեք վերադարձի ուղին, ապա կայունությունը

Կարդացեք որոնումները նախքան որևէ բանի վստահելը, որովհետև դրանք ցույց են տալիս, թե յուրաքանչյուր ուղղություն որ աղյուսակն ու որ աղբյուրն է ստանում։ Մեկ նպատակակետ 25 պորտում և նույն նպատակակետը 443 պորտում բավական են՝

ip -4 route get 198.51.100.25 ipproto tcp dport 25
ip -4 route get 198.51.100.25 ipproto tcp dport 443

Առաջին որոնումը պետք է նշի wg0-ն և նախատեսված աղբյուրը, իսկ երկրորդը պետք է պահպանի սովորական վերին կապը։ Երբ հավելվածը կապում է իր հասցեն, որոնմանը ավելացրեք from այդ հասցեով։ Պատասխանի ուղղությունը, որը հասնում է wg0-ին և այնուհետև տեղում դեն է նետվում, մատնանշում է IPv4 հակադարձ ուղու զտմանը, որովհետև միայն ելքային պորտի կանոնը չի ստիպում հակադարձ որոնմանը ընտրել թունելը։

Այնտեղ, որտեղ ասիմետրիկ երթուղավորումը թույլատրված է, ինտերֆեյսով սահմանափակված թույլ ռեժիմը net.ipv4.conf.wg0.rp_filter=2-ի միջոցով կարող է տեղին լինել, և արժե նախ ստուգել all-ի և ինտերֆեյսի արժեքների արդյունավետ առավելագույնը։ Մի անջատեք վալիդացումը գլոբալ՝ որպես կարճ ուղի։ Այնուհետև աղյուսակը, առաջնահերթությունները և պահակը հանձնեք նրան, ով տիրապետում է կոնֆիգուրացիային, և վերակապվելուց հետո բացեք նոր կապեր՝ հաստատելու, որ ընտրությունը դեռ պահպանվում է։ Հիշեք, որ տեղական SMTP լսողի պատասխանները կրում են աղբյուր 25 պորտը, ոչ թե նպատակակետ 25 պորտը, ինչը առանձին քաղաքականության հարց է։

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