Կամուրջային սերվերը աշխատում է, masquerade կանոնը կա, իսկ հաճախորդի զննարկիչը դեռ պտտվում է։ Ամեն ինչ կարծես պիտի աշխատի, և հենց դրա համար է առաջին ժամը գնում թունելի ու մուտքի տվյալների ստուգմանը։ Հետո կարդում եք NAT կանոնի հաշվիչը և գտնում եք զրո, որը չի շարժվել։ Այն կանոնը, որը երբեք ոչ մի փաթեթ չի հաշվել, երբեք ոչ մեկի հետ չի համընկել, իսկ կամուրջային սերվերի վրա պատճառը կառուցվածքային է. հաճախորդի թրաֆիկը դուրս է գալիս վիրտուալ tap սարքով, մինչդեռ կանոնը նշում է ֆիզիկական քարտը, որը պատճենել եք ավելի հին ուղեցույցից։

Ապացույցը հաշվիչն է, ոչ աղյուսակի տողը

Գոյություն ունեցող կանոնները և համընկնող կանոնները տարբեր բաներ են, և հաշվիչն է դրանք բաժանում։ Թվարկեք NAT աղյուսակը մանրամասն հաշվիչներով և կարդացեք յուրաքանչյուր կանոնի կողքի թվերը, նախքան որևէ բան փոխելը։ Զրոյի վրա կանգնած հաշվիչը, երբ թրաֆիկը հոսում է, նշանակում է, որ կանոնը բաց է թողնվել, որքան էլ դրա հասցեները խելամիտ թվան։ Հաշվիչը, որը բարձրանում է, երբ կապը դեռ ձախողվում է, ձեզ ուղարկում է այլ տեղ՝ փոխանցում, վերադարձի ուղի կամ հեռավոր ծայր։

iptables -t nat -L POSTROUTING -v -n

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

Գտեք այն անունը, որը միջուկն իրականում գրանցում է

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

ip -brief link

Գրեք անունը։ Այս ախտորոշման յուրաքանչյուր հետագա հրաման հղում է անում դրան, և այստեղի տպագրական սխալը տալիս է ճիշտ նույն զրոյական հաշվիչը, ինչ սկզբնական սխալը։

Վերաշարադրեք կանոնը թունելի սարքի համար

Ուղղեք կանոնը թունելի սարքին և պահեք հաճախորդների տիրույթը որպես դրա համընկնման պայման, որպեսզի այն ծածկի թունելի թրաֆիկը և հանգիստ թողնի հենց հոսթի կապերը. Փոխարինեք ձեր սեփական տիրույթով և սարքի անունով, որովհետև ներքևի երկու օրինակներն էլ օրինակներ են և ոչ մեկը տեղափոխելի չէ տեղակայումների միջև։

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o tap0 -j MASQUERADE

Հետո ստուգեք այն երկու այլ պայմանները, որոնք թաքցնում է նույն ախտանիշը։ Ստուգեք՝ արդյոք փոխանցումը միացված է, և եթե ոչ, միացրեք այն բաշխման սեփական կոնֆիգուրացիայում, այլ ոչ թե echo-ով, որը վերագործարկման ժամանակ անհետանում է։ Կարդացեք նաև forward շղթայի հաշվիչները, և եթե այն գցում է թունելի թրաֆիկը, թույլատրեք հենց այդ ինտերֆեյսը և անթերի թողեք շղթայի քաղաքականությունը։

Forward շղթան հաշվիչներով կարդալը մեկ հրաման է պահանջում և բացառում է մնացած հնարավորությունների կեսը, նախքան ևս մեկ կանոնի կպնելը։

Ինչու ֆիզիկական քարտը երբեք չի համընկնում

Կամուրջը ծրագրային անջատիչ է, որը հավաքված է tap սարքից և մեկ ֆիզիկական ինտերֆեյսից։ Հաճախորդի կադրը մտնում է այդ անջատիչ և դուրս է գալիս դեպի ֆիզիկական ցանցը որպես կամրջի անդամ, ոչ որպես քարտի վրա եղած փաթեթ։ Այդ պատճառով միջուկը փաթեթը վերագրում է կամրջին և նրա պորտին, և հենց դրա համար այն քարտը, որի մասին մտածում էիք, երբեք չի հայտնվում համընկնման մեջ։ Ֆիզիկական ինտերֆեյսում ոչինչ կոտրված չէ. այն պարզապես այն սարքը չէ, որին միջուկը վերագրում է այդ փաթեթը։

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

Ապացուցեք այն սկզբից մինչև վերջ, ապա դարձրեք մշտական

Բարձրացրեք մեկ հաճախորդ և ping արեք սերվերի տեղական ցանցում ինչ-որ բանի. այդ ուղին վարժեցնում է փոխանցումը առանց որևէ թարգմանության։ Հետո խնդրեք ինչ-որ հանրային բան, որպեսզի masquerade կանոնը ստիպված օգտագործվի, և նորից կարդացեք հաշվիչը. այն պետք է շարժվի այս փորձարկման համար, ոչ նախորդի։ Թունելի սարքի վրա վերցված գրառումը ցույց է տալիս և՛ որտեղ է հայտնվում կադրը, և՛ ինչ հասցե է կրում։

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

Եթե հաշվիչը վերաշարադրումից հետո էլ չի շարժվում, համեմատեք կանոնի աղբյուրի տիրույթը այն հասցեի հետ, որը հաճախորդն իրականում ստացել է, որովհետև կամուրջային սերվերը կարող է հասցեներ տալ մի տիրույթից, որը դուք չեք նկատի ունեցել։

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