ఫైర్వాల్లో ఏ VPN పోర్ట్లు తెరవాలి: ప్రోటోకాల్ వారీగా
PPTP కి TCP 1723 మరియు GRE కావాలి, L2TP/IPsec కి UDP 500 మరియు 4500 మరియు ESP కావాలి, SSTP, OpenVPN, WireGuard కి ఒక్కో పోర్ట్ కావాలి. ఏమి తెరవాలో ఇక్కడ ఉంది.
VPN టన్నెల్ ఫైర్వాల్ను దాటుతుందో లేదో రెండు వేర్వేరు నియమాలు నిర్ణయిస్తాయి: క్లయింట్ డయల్ చేసే పోర్ట్ మరియు పేలోడ్ మోసే ప్రోటోకాల్. మొదటిది మాత్రమే తెరిస్తే టన్నెల్ ప్రామాణీకరణ పూర్తవుతుంది, కానీ తర్వాత డేటా కదలదు. కనీసం PPTP కి ఒక TCP పోర్ట్ మరియు GRE, L2TP/IPsec మరియు IKEv2 కి రెండు UDP పోర్ట్లు మరియు ESP, 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 పై వినిపిస్తుంది.
| 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 సహాయకుడిని ఇన్స్టాల్ చేస్తాయి. నిజమైన ఫైర్వాల్లో మీరే ప్రోటోకాల్ జోడిస్తారు: 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 ను తరచుగా పడేస్తారు. టికెట్ మూసే ముందు నియమం సర్వర్ కాన్ఫిగ్ పోర్ట్తో సరిపోలుతుందా, ప్రోటోకాల్ ఫీల్డ్ కుటుంబానికి కావలసిన చోట సెట్ చేయబడిందా, గమ్యం ఏదో చిరునామా కాదు గేట్వే అని నిర్ధారించుకోండి.