పూర్తి సొరంగ OpenVPN: సర్వర్ వైపు ఇంటర్నెట్ నిష్క్రమణను జోడించండి
డిఫాల్ట్ మార్గాన్ని పుష్ చేయడం పూర్తి సొరంగ సేవలో సగం మాత్రమే. సర్వర్కు ఫార్వర్డింగ్, పరిమిత ఫార్వర్డింగ్ నియమం మరియు పూల్ కోసం తిరిగి వెళ్లే మార్గం కూడా అవసరం.
ఒక క్లయింట్ ప్రామాణీకరణ చేసుకుని, పూల్ నుండి చిరునామా పొంది, VPN హోస్ట్లోని సేవలను చేరుకుంటుంది, అయినా ప్రతి పబ్లిక్ గమ్యం సమయం ముగిసి ఆగిపోతుంది. నిష్క్రమణ లేని సొరంగం ఇలాగే కనిపిస్తుంది, మరియు నాలుగు వేర్వేరు విషయాలు నిజమయ్యే వరకు అది అలాగే ఉంటుంది. క్లయింట్ డిఫాల్ట్ మార్గాన్ని అంగీకరించాలి, సర్వర్ ఫార్వర్డ్ చేయాలి, ఫైర్వాల్ ప్రయాణాన్ని అనుమతించాలి, మరియు ప్రతిస్పందనలకు పూల్ వైపు తిరిగి వెళ్లే మార్గం కావాలి. నాలుగు వైఫల్యాలకు ఒకే లక్షణం ఉంది, కాబట్టి ప్రతి ప్రయత్నంలో ఒక అంశాన్ని మార్చి ఫలితాన్ని నమోదు చేయండి.
డిఫాల్ట్ మార్గాన్ని పుష్ చేసి క్లయింట్ ఏమి ఇన్స్టాల్ చేసిందో నిర్ధారించండి
సర్వర్ వైపు లైన్ చిన్నది, మరియు పుష్ చేసిన ఎంపికలను అంగీకరించే క్లయింట్లను మాత్రమే ఇది ప్రభావితం చేస్తుంది. def1 రూపం ఉన్న డిఫాల్ట్ను తొలగించే బదులు రెండు అర్ధ-డిఫాల్ట్ మార్గాలను ఇన్స్టాల్ చేస్తుంది, ఇది ప్రస్తుత కనెక్షన్ను సజీవంగా ఉంచి ప్రతి గమ్యాన్ని పట్టుకుంటుంది.
push "redirect-gateway def1"
మళ్లీ కనెక్ట్ అయిన తర్వాత ప్రొఫైల్ను నమ్మే బదులు క్లయింట్ రూటింగ్ పట్టికను చదవండి. Linux లో రెండు /1 నమోదులు అసలు డిఫాల్ట్ పక్కన కనిపిస్తాయి, Windows అదే జంటను 0.0.0.0/1 మరియు 128.0.0.0/1 గా చూపుతుంది. పుష్ చేసిన ఎంపికలను నిర్లక్ష్యం చేసే క్లయింట్, లేదా వాటిని తిరస్కరించేలా కాన్ఫిగర్ చేయబడిన క్లయింట్, తన పాత డిఫాల్ట్ను ఉంచుకుని ఇంటర్నెట్ ట్రాఫిక్ను ఎప్పటికీ సొరంగంలోకి పంపదు. సర్వర్లో ఏదైనా మార్చే ముందు ఈ ప్రశ్నను పరిష్కరించండి, ఎందుకంటే సర్వర్ వైపు ఏ నియమం కూడా దానిని భర్తీ చేయలేదు.
ఫార్వర్డింగ్ సర్వర్ సెట్టింగ్, VPN సెట్టింగ్ కాదు
రూటింగ్ను తాకే ముందు ఫార్వర్డింగ్ జెండాను చదవండి. అక్కడ సున్నా అంటే కెర్నల్ క్లయింట్ ప్యాకెట్ను స్వీకరించి దాన్ని ముందుకు పంపడానికి నిరాకరిస్తుంది, ఇది దూరపు చివర నుండి ఫైర్వాల్ బ్లాక్లాగా కనిపిస్తుంది. విలువను సిస్టమ్ కాన్ఫిగరేషన్ డైరెక్టరీ ద్వారా సెట్ చేయండి, తద్వారా రీబూట్ తర్వాత కూడా ఉంటుంది.
sysctl net.ipv4.ip_forward
echo 'net.ipv4.ip_forward=1' | sudo tee /etc/sysctl.d/99-vpn-forward.conf
sudo sysctl --system
తర్వాత, హోస్ట్కే ఇంటర్నెట్ నిష్క్రమణకు పనిచేసే మార్గం ఉందని నిర్ధారించండి. సర్వర్ షెల్ నుండి చేసిన అభ్యర్థన పై మార్గం ఉపయోగకరమని నిరూపిస్తుంది మరియు క్లయింట్ ప్యాకెట్ ఫార్వర్డింగ్ గురించి ఏమీ చెప్పదు, కాబట్టి వాటిని రెండు వేర్వేరు పరీక్షలుగా పరిగణించండి. సర్వర్ గమ్యాన్ని చేరుకోలేకపోతే, ఎంత ఫార్వర్డింగ్ కాన్ఫిగరేషన్ ఉన్నా సహాయపడదు.
మీరు ఉద్దేశించిన ప్రయాణానికి మాత్రమే అనుమతి ఇవ్వండి, మరేదానికీ కాదు
ఫార్వర్డ్ చేసిన ప్యాకెట్లు forward మార్గాన్ని దాటుతాయి; VPN హోస్ట్కే చిరునామా చేసిన ట్రాఫిక్ input మార్గాన్ని దాటుతుంది. ఇవి వేర్వేరు నిర్ణయాలు, మరియు input మార్గాన్ని తెరవడం యంత్రం గుండా ప్రయాణాన్ని అనుమతించదు. వాటిని కలపడమే ఫైర్వాల్ అన్నింటినీ అనుమతిస్తున్నట్టు కనిపిస్తూనే క్లయింట్లు ఇంకా సమయం ముగిసి ఆగిపోవడానికి అత్యంత సాధారణ కారణం.
కనీస విధానం పూల్ నుండి నిష్క్రమణ ఇంటర్ఫేస్ వైపు కొత్త కనెక్షన్లను అంగీకరిస్తుంది మరియు స్థిరపడిన ప్రవాహాలకు చెందిన ప్రతిస్పందనలను అంగీకరిస్తుంది. ప్రతి బూట్లో నకిలీ నియమాన్ని జోడించే బదులు మీ పంపిణీ ఉపయోగించే నియమ సమితి యజమాని వద్ద ఉంచండి; నకిలీ నియమాలు పోగవుతాయి మరియు కౌంటర్లు అర్థాన్ని కోల్పోతాయి.
sudo iptables -A FORWARD -i tun0 -o eth0 -s 10.90.0.0/24 -j ACCEPT
sudo iptables -A FORWARD -i eth0 -o tun0 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
ప్రతి గొలుసును అంగీకరించు స్థితికి మార్చడం పరీక్షను పాస్ చేస్తుంది మరియు ఫైర్వాల్ ఉనికికి కారణాన్ని తొలగిస్తుంది. పరిధిని పూల్ మరియు నిష్క్రమణ ఇంటర్ఫేస్కు పరిమితం చేయండి, సంబంధం లేని ఫార్వర్డింగ్ను అలాగే ఉంచండి.
ప్రతిస్పందనలకు వెళ్లడానికి స్థలం ఇవ్వండి
పూల్ చిరునామాలు ప్రైవేట్, కాబట్టి పబ్లిక్ సర్వర్ వాటికి నేరుగా ప్రతిస్పందనను అందించలేదు. గాని VPN హోస్ట్ బయటకు వెళ్లేటప్పుడు మూల చిరునామాన్ని అనువదిస్తుంది, లేదా పై పరికరం పూల్ వైపు తిరిగి వెళ్లే మార్గాన్ని ఉంచుకుంటుంది.
sudo iptables -t nat -A POSTROUTING -s 10.90.0.0/24 -o eth0 -j MASQUERADE
సరిగ్గా ఒక అనువాద పొరను జోడించండి. మరింత పైన రెండవ NAT మొదటిదాన్ని దాచి, తర్వాత ఏదైనా పాడైనప్పుడు రెండు లాగ్లను దాదాపు నిరుపయోగం చేస్తుంది. పై రౌటర్ ఇప్పటికే పూల్ను తిరిగి రూట్ చేస్తుంటే, హోస్ట్లో అనువాదాన్ని జోడించడం అనవసరం, మరియు తిరిగి వెళ్లే మార్గం అప్పుడు మీ కాన్ఫిగరేషన్ను కాకుండా ఆ రౌటర్ కాన్ఫిగరేషన్ను ఆధారపడి ఉంటుంది.
క్లౌడ్ ఇన్స్టాన్స్లు మరో గేట్ను జోడిస్తాయి, ఎందుకంటే కొన్ని ప్లాట్ఫారమ్లు మూల చిరునామా ఇన్స్టాన్స్ది కాకపోయిన ప్యాకెట్లను ఆ తనిఖీ సడలించకపోతే పడేస్తాయి. ఆ సెట్టింగ్ అతిథి వెలుపల ఉంది మరియు స్థానిక పరీక్షా యంత్రం పనిచేస్తున్నప్పుడు మరచిపోవడం సులభం.
దాన్ని సర్వర్ షెల్ నుండి కాదు, క్లయింట్ నుండి నిరూపించండి
సంఖ్యాత్మక IPv4 అభ్యర్థనతో ప్రారంభించి, తర్వాత పేరు శోధన, తర్వాత అప్లికేషన్. ping ఫార్వర్డింగ్ మరియు అనువాదాన్ని నిరూపిస్తుంది;అది పేరు పరిష్కారం గురించి ఏమీ నిరూపించదు, ఎందుకంటే DNS ఎంపికలు క్లయింట్ ఇంటిగ్రేషన్ వాటిని ఇన్స్టాల్ చేసినప్పుడే అమల్లోకి వస్తాయి.
curl -4 -m 5 http://198.51.100.10/
dig +short example.com
మార్పులు మరియు వెనక్కి తీసుకునే దశను నడుస్తూనే నమోదు చేయండి, పరీక్ష విఫలమైనప్పుడు నిష్క్రమణ విధానాన్ని ఒకే చర్యలో వెనక్కి తీసుకోవచ్చు. ఈ పద్ధతి IPv4 ను మాత్రమే కవర్ చేస్తుంది; అమలు మొత్తం ట్రాఫిక్ను మోస్తుందని చెప్పే ముందు IPv6 ను విడిగా జాబితా చేయండి.