دوه جلا قواعد تصمیم نیسي چې ایا VPN تونل له فایر وال څخه تېر شي که نه: هغه پورټ چې کلاینټ پرې زنګ وهي، او هغه پروتوکول چې بار وړي۔ یوازې لومړی پرانیزئ او تونل تصدیق شي، بیا خو هېڅ معلومات نه ځي۔ لږ تر لږه یو TCP پورټ او GRE د PPTP لپاره، دوه UDP پورټونه او ESP د L2TP/IPsec او IKEv2 لپاره، او یو پورټ د SSTP، OpenVPN او WireGuard لپاره دی۔ لوری، حالت تعقیبول او NAT پاتې برخه ټاکي۔

له هغه پورټ پیل کړئ چې کلاینټ پرې زنګ وهي

هره کورنۍ یو د ننوتلو نقطه لري چې کلاینټ لومړی ورسره اړیکه نیسي، او ستاسو د اجازې قاعده باید هماغه نقطه ونوموي۔ PPTP کلاینټونه TCP 1723 ته نښلوي۔ L2TP/IPsec پر UDP 500 IKE پیل کوي او کله چې NAT تېرېدل وکارول شي UDP 4500 ته ځي، پداسې حال کې چې L2TP چوکاټ پخپله د تونل په داخل کې پر UDP 1701 وي۔ SSTP غونډه په TCP 443 کې TLS ته توي، 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 مرستندوی هم نصبوي۔ په ریښتیني فایر وال کې تاسو پخپله پروتوکول ورزیاتوئ: PPTP سرور ته د IP پروتوکول 47 اجازه ورکړئ، IPsec ګېټوې ته د IP پروتوکول 50 اجازه ورکړئ۔ چېرې چې پلیټ فارم د پروتوکول ساحه نه وړاندې کوي، هلته انکپسولیشن لار ده، له همدې امله IKEv2 کولای شي UDP 4500 ته بېرته ورشي او له همدې امله OpenVPN او WireGuard دا ستونزه هېڅکله نه ویني۔

د کلاینټ ملامتولو مخکې وګورئ چې قاعده واقعاً له څه سره خوري۔ په ګېټوې کې پر صفر پاتې کېدونکی پاکټ شمېرونکی وايي چې قاعده هېڅکله نه ده چلېدلې، او په کلاینټ اړخ کې هر څومره بیا نصبول هم دا نه بدلوي۔

لوری، حالت او NAT ځواب بدلوي

بهر ته زنګ وهونکی کلاینټ او دننه ته اورېدونکې ګېټوې بېلې غوښتنې دي، او هماغه پورټ لیست کېدای شي په یوه لوري سم او په بل کې غلط وي۔ د حالت پوه فایر وال پر 500 او 4500 د UDP بهیر تعقیبوي او پرته له دویمې قاعدې ځوابونه بېرته پرېږدي۔ 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 قاعده باید د ټول انټرنیټ پرځای ګېټوې د هدف په توګه ونوموي۔ تونل چلېدلې سره سم ژر لنډمهاله هر-څه-ته-هر-څه قاعدې ړنګې کړئ۔ ولیکئ کومه قاعده سره خورېدلې، چېرې وي د پروتوکول شمېره، او لوری، تر څو چې بل کس له شواهدو پیل کړي۔

کلاوډ پواینټ-تر-سایټ ګېټوې انتخاب ښکاره کوي: ښکته شوی پروفایل یا پر 443 SSTP یا پر 500 او 4500 IKEv2 کاروي، او یوازې هغه باید پرانیزئ چې پروفایل واقعاً غوره کوي۔ PPTP په عصري شبکه کې د GRE استثنا وړ نه دی، ځکه چې موبایل آپریټرانو ستاسو له فایر وال پرته هم پروتوکول 47 ډېری وخت غورځوي۔ د ټکټ بندولو مخکې ډاډ ترلاسه کړئ چې قاعده د سرور کانفیګ پورټ سره سمه ده، د پروتوکول ساحه هغه ځای کې ټاکل شوې چې کورنۍ ته یې اړتیا ده، او هدف کومه پته نه بلکې ګېټوې ده۔

اړوندې مقالې