Երկու առանձին կանոն է որոշում, թե կհաղթահարի արդյոք VPN թունելը ֆայրվոլը՝ այն պորտը, որով հաճախորդը զանգահարում է, և այն արձանագրությունը, որը կրում է բեռը։ Բացեք միայն առաջինը, և թունելը կանցնի նույնականացում, բայց հետո տվյալ չի տեղափոխի։ Նվազագույնը մեկ TCP պորտ և GRE է PPTP-ի համար, երկու UDP պորտ և ESP՝ L2TP/IPsec-ի և IKEv2-ի համար, և մեկ պորտ՝ SSTP-ի, OpenVPN-ի և WireGuard-ի համար։ Ուղղությունը, վիճակի հետևումը և NAT-ը որոշում են մնացածը։

Սկսեք այն պորտից, որով հաճախորդը զանգահարում է

Յուրաքանչյուր ընտանիք ունի մուտքի կետ, որին հաճախորդն առաջինն է դիմում, և հենց այդ մուտքի կետը պետք է անվանի ձեր թույլտվության կանոնը։ PPTP հաճախորդները միանում են TCP 1723-ին։ L2TP/IPsec-ը սկսում է IKE-ն UDP 500-ի վրա և անցնում UDP 4500-ի, երբ օգտագործվում է NAT-ի հաղթահարումը, իսկ L2TP շրջանակն ինքը գտնվում է UDP 1701-ի վրա թունելի ներսում։ SSTP-ն փաթաթում է սեսիան TLS-ի մեջ TCP 443-ի վրա, IKEv2-ը բանակցում է UDP 500-ի և 4500-ի վրա, OpenVPN-ը լռելյայն օգտագործում է UDP 1194, բայց հաճախ տեղափոխվում է TCP 443, իսկ WireGuard-ը լսում է UDP 51820-ի վրա։

FamilyRule to add on the gatewayTypical mistake
WireGuardUDP port from ListenPort, for the peer addressAssuming 51820 when the config says otherwise
OpenVPNThe configured UDP or TCP port, often 443Opening 1194 after the server moved
SSTPTCP 443 limited to the gateway IPAllowing 443 to any destination
IKEv2UDP 500 and UDP 4500, plus ESPAllowing only 500 and losing NAT-T
L2TP/IPsecUDP 500, 4500, ESP, and 1701 inside the tunnelExposing 1701 to the internet
PPTPTCP 1723 and IP protocol 47Writing a rule for TCP 47

Այս թվերին վերաբերվեք որպես լռելյայն արժեքների, ոչ թե հաստատուն հատկությունների։ WireGuard ինտերֆեյսը օգտագործում է ցանկացած լսող պորտ, որը հայտարարում է իր կոնֆիգուրացիան, իսկ OpenVPN սերվերը կարող է նստել ցանկացած պորտի վրա, որն ընտրել է ադմինիստրատորը։ Կարդացեք սերվերի կոնֆիգուրացիան կանոնը գրելուց առաջ, որովհետև 1194-ի համար բացված ֆայրվոլը ոչինչ չի անում 443 տեղափոխված սերվերի համար։

Երրորդ սյունակն այն տեղն է, որտեղ փչանում են փոփոխության տոմսերի մեծ մասը։ Կանոնը կա, բայց այն մատնանշում է սխալ նպատակակետ, սխալ ուղղություն կամ սխալ տրանսպորտ։

GRE-ն և ESP-ն արձանագրության համարներ են, ոչ պորտեր

GRE-ն և ESP-ն ընդհանրապես պորտեր չունեն, ուստի ֆայրվոլի այն ձևը, որն ընդունում է միայն պորտերի համարներ, չի կարող արտահայտել դրանք։ GRE-ն IP արձանագրություն 47 է, ESP-ն՝ IP արձանագրություն 50, երկուսն էլ համապատասխանեցվում են IP վերնագրի արձանագրության դաշտով։ TCP պորտ 47-ի տեսքով գրված կանոնը ոչնչի չի համապատասխանում, և այսպես PPTP քաղաքականությունը ճիշտ է թվում և այնուամենայնիվ գցում է յուրաքանչյուր փաթեթը ձեռքսեղմումից հետո։

Սպառողական երթուղիչները թաքցնում են սա անցումային վանդակի հետևում, որը տեղադրում է արձանագրության կանոնը և GRE-ի դեպքում՝ հոսքը քարտեզագրելու համար անհրաժեշտ NAT օգնականը։ Իսկական ֆայրվոլի վրա դուք ինքներդ եք ավելացնում արձանագրությունը՝ թույլատրեք IP արձանագրություն 47-ը դեպի PPTP սերվեր, թույլատրեք IP արձանագրություն 50-ը դեպի IPsec դարպաս։ Այնտեղ, որտեղ հարթակը արձանագրության դաշտ չի առաջարկում, ինկապսուլացիան ելքն է, դրա համար IKEv2-ը կարող է հետ ընկնել UDP 4500, և դրա համար OpenVPN-ը և WireGuard-ը երբեք չեն հանդիպում խնդրին։

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

Ուղղությունը, վիճակը և NAT-ը փոխում են պատասխանը

Դուրս զանգահարող հաճախորդը և ներս լսող դարպասը տարբեր պահանջներ են, և նույն պորտերի ցանկը կարող է ճիշտ լինել մի ուղղությամբ և սխալ՝ մյուսում։ Վիճակը հաշվի առնող ֆայրվոլը հետևում է UDP հոսքին 500-ի և 4500-ի վրա և թույլ է տալիս պատասխաններին վերադառնալ առանց երկրորդ կանոնի։ ESP-ն և GRE-ն պորտեր չեն կրում, ուստի NAT սարքը ոչ մի բանի չի կարող կառչել և սեսիան հետևելու համար օգնական կամ ինկապսուլացիա է պետք։

NAT-ի հաղթահարումը հենց այն մասն է, որ բաց է թողնվում։ IKEv2-ը սկսվում է UDP 500-ի վրա, հայտնաբերում է NAT սարք և շարունակում UDP 4500-ի վրա, ուստի միայն 500-ը թույլատրող քաղաքականությունը տալիս է թունել, որը կարգավորվում է և հետո լռում։ L2TP/IPsec-ը կատարում է նույն շարժումը։ Եթե ձեր գրառումը ցույց է տալիս առաջին փոխանակումը, բայց ոչ կայուն երթևեկություն, փնտրեք 500-ի վրա կանգնող կանոն։

Գրանցեք ուղղությունը յուրաքանչյուր կանոնի հետ։ «Թույլատրել UDP 4500»-ը ոչինչ չի նշանակում, քանի դեռ չեք ասել որտեղից որտեղ, և շրջիկ հաճախորդի համար ճիշտ կանոնը սովորաբար սխալ է տեղամաս-տեղամաս գործընկերոջ համար։

Ստուգեք յուրաքանչյուր ուղին գրառմամբ

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

sudo tcpdump -ni any tcp port 1723
sudo tcpdump -ni any udp port 500 or udp port 4500
sudo tcpdump -ni any proto gre
sudo tcpdump -ni any proto 50

Կարդացեք ելքը որպես հաջորդականություն։ Երբ բանակցությունը երևում է, բայց բեռի արձանագրությունը՝ ոչ, կորուստը տեղի է ունենում ինչ-որ տեղ հաճախորդի և դարպասի միջև։ Երբ երևում են երկուսն էլ, և էջը դեռ ձախողվում է, ֆայրվոլն այլևս կասկածյալ չէ. նայեք երթուղավորմանը, DNS-ին կամ հաճախորդին տրված հասցեների լողավազանին։

tcpdump-ից զուրկ մեքենայի վրա նույն ապացույցները գալիս են ինտերֆեյսի և կանոնների հաշվիչներից։ Թունելի ինտերֆեյսում բայթերը ներս են մտնում, բայց դուրս չեն գալիս՝ դա մատնանշում է վերադարձի ուղուն, ոչ թե սկզբնական թույլտվության կանոնին։

Թողեք կանոնների հավաքածու, որը կարող եք պաշտպանել

TCP 443-ի վրա SSTP-ն ցանկացած պորտային զտիչի համար չի տարբերվում սովորական HTTPS-ից, և դա է իմաստը, երբ ցանցը թույլատրում է միայն վեբ երթևեկություն։ Դրա համար էլ 443-ի կանոնը պետք է նպատակակետ անվանի դարպասը, այլ ոչ ամբողջ ինտերնետը։ Ջնջեք ժամանակավոր ամեն-ից-ամեն կանոնները հենց թունելն աշխատի։ Գրեք, թե որ կանոնը համապատասխանեց, արձանագրության համարը, որտեղ կա, և ուղղությունը, որպեսզի հաջորդ մարդը սկսի ապացույցից։

Ամպային կետ-տեղամաս դարպասները տեսանելի են դարձնում ընտրությունը. ներբեռնված պրոֆիլը կամ օգտագործում է SSTP 443-ի վրա, կամ IKEv2 500-ի և 4500-ի վրա, և պետք է բացեք միայն այն, որն իրականում ընտրում է պրոֆիլը։ PPTP-ն ժամանակակից ցանցում GRE-ի բացառության արժանի չէ, քանի որ բջջային օպերատորները հաճախ գցում են 47 արձանագրությունը՝ անկախ ձեր ֆայրվոլից։ Մինչև տոմսը փակելը հաստատեք, որ կանոնը համապատասխանում է սերվերի կոնֆիգուրացիայի պորտին, որ արձանագրության դաշտը դրված է այնտեղ, որտեղ ընտանիքին պետք է, և որ նպատակակետը դարպասն է, այլ ոչ թե ցանկացած հասցե։

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