PPTP-ի բաժանված թունելավորումը չի աշխատում. նախ ուղղեք GRE ուղին
PPTP-ի բաժանված թունելավորումը ձախողվում է երկու տարբեր պատճառով՝ GRE-ն արգելափակված է, կամ ներքին ուղին բացակայում է։ Նախ ստուգեք փոխադրումը, ապա քաղաքականությունը։
Դիտեք, թե ինչպես է PPTP միացումը բարձրանում, և հեշտ է հավատալ, որ դժվար մասն ավարտված է՝ հաճախորդը նույնականացվում է, հայտնվում է ppp0 ադապտեր կամ WAN Miniport, և կարգավիճակի պատուհանը կանաչում է։ Այնուհետև ներքին հոսթին առաջին հարցումը ժամկետանց է դառնում, և պրոֆիլն է մեղադրվում։ Գործնականում պետք է մաքրել երկու անկախ շերտ՝ արտաքին փոխադրումը, որը կրում է TCP 1723 և GRE, և ներքին քաղաքականությունը, որը որոշում է, թե որ նպատակներն են օգտագործում PPP ինտերֆեյսը։ Կանաչ կարգավիճակը ապացուցում է միայն, որ առաջին շերտը բանակցել է. երկրորդի մասին այն ոչինչ չի ասում։
Հետևեք հաճախորդին պրոֆիլից մինչև կառավարման սոկետ
Բացեք հաճախորդի մատյանը և գտեք այն կետը, որտեղ այն կապվում է սերվերի հետ։ PPTP-ն նախ բացում է TCP կապ 1723 պորտին և այդ ալիքով բանակցում թունելի պարամետրերը։ Եթե այս քայլը ձախողվի, հետագա ոչինչ նշանակություն չունի, և սխալը սովորաբար նշում է սերվերի հասցեն կամ ժամկետանցությունը։
Հաստատեք կառավարման կապը ցանցում, նախքան որևէ երթուղու դիպչելը։ Հաճախորդի կամ հայելային պորտի վրա գրավեք TCP 1723-ը մեկ միացման փորձի համար.
sudo tcpdump -ni any 'tcp port 1723' -c 20
Ավարտված ձեռքսեղմումը և հաստատված սեսիան նշանակում են, որ արտաքին կառավարման ալիքը աշխատում է։ SYN-ը, որը երբեք SYN-ACK չի ստանում, մատնանշում է հրապատ կամ սխալ սերվերի հասցե կամ պորտը զտող մատակարար։ Ձեռքսեղմումից անմիջապես հետո վերակայումը հաճախ նշանակում է, որ սերվերը մերժել է հավատարմագրերը կամ թունելի տեսակը։
GRE-ն երկրորդ արձանագրություն է, ոչ պորտ
PPTP-ն PPP բեռը կրում է ընդլայնված GRE-ի ներսում՝ IP 47 արձանագրություն, որն ունի ոչ մի պորտի համար, որ երթուղիչը կարող է հետևել։ Այդ պատճառով TCP 1723-ը թույլատրող կանոնը դեռ կարող է թունելը թողնել առանց տվյալների ուղու։ Վիճակով NAT սարքերը պետք է հասկանան GRE-ի ներսում գտնվող կանչի ID-ն՝ պատասխանները հետ քարտեզագրելու համար, և շատերը դա չեն անում։ PPTP բնութագիրը կառավարման ալիքը և GRE բեռը պահում է առանձին մասեր, և ձեր փորձարկման պլանը նույնպես պետք է այդպես անի։
Հետևեք 47 արձանագրությանը նույն գրավման մեջ, ապա համեմատեք, թե ինչ է դուրս գալիս և ինչ է վերադառնում.
sudo tcpdump -ni any 'proto gre' -c 20
Փաթեթները, որոնք դուրս են գալիս առանց պատասխանների, մինչ TCP 1723-ը մնում է առողջ, արգելափակված GRE-ի դասական նշանն են։ Սպառողական երթուղիչում PPTP-ի անցումը այդ կոնկրետ որոնվածի հատկությունն է, ուստի աշխատող հյուրանոցային ցանցը ոչինչ չի ապացուցում հաջորդի մասին։ Եթե երթուղիչը անցում չի առաջարկում, և դուք չեք կարող փոխել այն, խնդիրը արձանագրության ընտրությունն է, ոչ թե երթուղիների աղյուսակը։
Ապացուցեք, որ թունելը տեղափոխում է մեկ փաթեթ
Հենց GRE-ն հոսում է, PPP բանակցությունը հասցե է հատկացնում հաճախորդի ինտերֆեյսին։ Կարդացեք հատկացումը՝ փոխարենը ենթադրելու.
ip -4 addr show ppp0
Փինգ արեք զուգընկերոջ հասցեին, որը ցուցադրվում է որպես կետ-կետ կապի նպատակ։ Այս փուլում պատասխանը ապացուցում է, որ փաթաթված ուղին աշխատում է ծայրից ծայր, և սերվերը պատասխանում է թունելի ներսում։ Եթե զուգընկերը պատասխանում է, բայց ներքին հոսթերը՝ ոչ, արտաքին փոխադրումը կարգին է, և խափանումը տեղափոխվել է ներս։
Արեք դա նախքան որևէ բաժանված երթուղի ավելացնելը։ Փոխադրումը կոտրված վիճակում կատարված երթուղու փոփոխությունը ստեղծում է երկրորդ փոփոխական և թաքցնում առաջինը։
Գրեք բաժանված քաղաքականությունը՝ ներառյալ DNS-ը
Բաժանված երթուղավորումը որոշումների ցանկ է, ոչ թե նշման վանդակ։ Յուրաքանչյուր մասնավոր նախածանց, որը պետք է անցնի թունելով, պահանջում է երթուղի PPP ինտերֆեյսով, և յուրաքանչյուր նախածանց, որը պետք է մնա տեղական, պետք է բացակայի դրանում։ Կիրառության ենթացանցի երթուղին՝ առանց դրա մասնավոր լուծիչին համապատասխան երթուղու, ընդհատում ստեղծելու սովորական միջոց է, որը նման է կոտրված հավելվածի։
Ստուգեք այն որոշումը, որը միջուկը կայացնում է յուրաքանչյուր կատեգորիայում մեկ հասցեի համար.
ip route get 10.20.5.10
ip route get 203.0.113.25
Առաջինը պետք է նշի ppp0, երկրորդը՝ սովորական դարպասը։ Եթե երկուսն էլ նշում են նույն ինտերֆեյսը, քաղաքականությունն ամենևին բաժանված չէ։ Ավելացրեք DNS սերվերի սեփական հասցեն թունելի ցանկին, հակառակ դեպքում ներքին հոսթերի անվան լուծումը դուրս է գալիս տեղական լուծիչով և ոչ մի օգտակար բան չի վերադարձնում։
Կրկնվող ստուգում հինգ քայլով
Գործարկեք շերտերը հերթականությամբ և կանգ առեք առաջին ձախողվածի վրա՝ կառավարման ալիք, GRE տեսանելիություն, PPP զուգընկերոջ պատասխան, բաժանված երթուղի մեկ ներքին հասցեի համար և կիրառության հարցում թունելով։ Յուրաքանչյուր քայլ ունի իր հրամանը, ուստի խափանումը վերագրվելի է, այլ ոչ թե առեղծվածային։
Linux հաճախորդի համար կոմպակտ տարբերակը այսպիսին է.
sudo tcpdump -ni any 'tcp port 1723 or proto gre' -c 40
ip -4 addr show ppp0
ping -c 3 192.0.2.1
ip route get 10.20.5.10
Windows-ում գործում է նույն հերթականությունը route print-ով և հաճախորդում ցուցադրվող ադապտերի կարգավիճակով։ PPTP-ն հնացած արձանագրություն է, և եթե սերվերն առաջարկում է SSTP կամ IKEv2, տեղափոխվելը սովորաբար ժամանակի ավելի լավ օգտագործում է, քան ուղին կարգաբերելը, որը կախված է 47 արձանագրության ամեն ցատկով անցնելուց։ Ստուգեք փոխարինողի վկայագիրը և նույնականացման պայմանագիրը՝ հին պրոֆիլը նոր թողարկման մեջ պատճենելու փոխարեն։