Ինչ VPN պորտեր բացել ֆայրվոլում՝ արձանագրություն առ արձանագրություն
PPTP-ին պետք է TCP 1723 և GRE, L2TP/IPsec-ին՝ UDP 500 և 4500 և ESP, իսկ SSTP-ին, OpenVPN-ին և WireGuard-ին՝ մեկական պորտ։ Ահա թե ինչ պետք է բացել։
Երկու առանձին կանոն է որոշում, թե կհաղթահարի արդյոք 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-ի վրա։
| Family | Rule to add on the gateway | Typical mistake |
|---|---|---|
| WireGuard | UDP port from ListenPort, for the peer address | Assuming 51820 when the config says otherwise |
| OpenVPN | The configured UDP or TCP port, often 443 | Opening 1194 after the server moved |
| SSTP | TCP 443 limited to the gateway IP | Allowing 443 to any destination |
| IKEv2 | UDP 500 and UDP 4500, plus ESP | Allowing only 500 and losing NAT-T |
| L2TP/IPsec | UDP 500, 4500, ESP, and 1701 inside the tunnel | Exposing 1701 to the internet |
| PPTP | TCP 1723 and IP protocol 47 | Writing 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 արձանագրությունը՝ անկախ ձեր ֆայրվոլից։ Մինչև տոմսը փակելը հաստատեք, որ կանոնը համապատասխանում է սերվերի կոնֆիգուրացիայի պորտին, որ արձանագրության դաշտը դրված է այնտեղ, որտեղ ընտանիքին պետք է, և որ նպատակակետը դարպասն է, այլ ոչ թե ցանկացած հասցե։