రెండు VPN క్లయింట్లు రెండు వేర్వేరు పబ్లిక్ IPv4 చిరునామాల ద్వారా బయటకు వెళ్లగలవు, దానిని చేసే నియమం చాలామంది ఊహించిన దానికంటే చిన్నది. దాన్ని పని చేయించేది iptables వాక్యనిర్మాణం కాదు, ప్యాకెట్ ఎగ్రెస్ గొలుసుకు చేరినప్పుడు దాని స్థితి: అక్కడి మూల చిరునామా ఇంకా క్లయింట్లను వేరు చేయాలి. మునుపటి masquerade ఇద్దరినీ ఇప్పటికే ఒకే చిరునామాపై విలీనం చేసి ఉంటే, ఏ క్లయింట్-వారీ నియమం ఆ భేదాన్ని తిరిగి తీసుకురాలేదు. మొదట ఆ ప్రశ్నను పరిష్కరించండి, తర్వాత అనువాదం రాయండి.

గేట్‌వే వరకు ఏ గుర్తింపు నిలిచి ఉంటుంది

నియమం ప్యాకెట్ మూల చిరునామాతో సరిపోలుతుంది, VPN వినియోగదారు పేరుతో కాదు మరియు క్లయింట్ అనువర్తనం చూపించే పేరుతోనూ కాదు. మార్గంలో ముందుగా ప్యాకెట్ను అనువదించేది మీ నియమం ఇంకా ఏమి చూడగలదో నిర్ణయిస్తుంది. nat పట్టికను క్రమంగా నడపండి మరియు మూలం ఇంకా ప్రతి క్లయింట్కు వేరుగా ఉన్న బిందువును కనుగొనండి.

iptables -t nat -S POSTROUTING

ఆ జాబితాను పైనుంచి చదవండి. పైభాగానికి దగ్గరగా ఉన్న masquerade నియమం సరిపోలే ప్రతి ప్రవాహానికి మూలాన్ని తిరిగి రాస్తుంది, దాని తర్వాత ఉంచిన క్లయింట్-వారీ నమోదులు ఇక లేని చిరునామాతో సరిపోలుతాయి. రెండు LAN పరికరాలు ఒకే సొరంగాన్ని పంచుకుని ఒకే అంతర్గత చిరునామాగా వచ్చినప్పుడు, ఫైర్వాల్ ముందే రూపకల్పన మారాలి: వాటి మూల పరిధులను వేరుగా ఉంచండి లేదా ప్రతిదానికీ దాని స్వంత అంతర్గత చిరునామా ఇవ్వండి.

అంతర్గత చిరునామా కేటాయింపును ధృవీకరించిన క్లయింట్కు కట్టండి. ఆ చిరునామాను మరో పరికరానికి ఇవ్వడం ఎగ్రెస్ విధానాన్ని కూడా అప్పగిస్తుంది, మరియు మూల అనువాదం దానంతట అదే గుర్తింపు రుజువు కాదు.

అనువాదం చిరునామాను సృష్టించలేకపోతుంది

ప్రతి పబ్లిక్ చిరునామం ఈ ఎగ్రెస్ బిందువుకు కేటాయించబడాలి లేదా ఇక్కడికి రూట్ చేయబడాలి, మరియు ప్రత్యుత్తరాలు ఇక్కడికి తిరిగి వచ్చే దారిని కనుగొనాలి. ఎవరూ తిరిగి రూట్ చేయని చిరునామా నుండి ట్రాఫిక్ పంపే నియమం దూరపు చివరలో విసిరివేయబడుతుంది లేదా ఎప్పుడూ అడగని హోస్ట్కు సమాధానం ఇస్తుంది. క్లౌడ్ ప్రొవైడర్ ఇన్స్టాన్స్ సాధారణంగా ప్యాకెట్ బయలుదేరే ముందే దాని పబ్లిక్ చిరునామాను ప్రైవేట్ ఇంటర్ఫేస్ చిరునామాకు అనువదించి ఉంటుంది, కాబట్టి SNAT మూలం ప్రొవైడర్ ఆమోదించే చిరునామా అయి ఉండాలి, కన్సోల్ చూపించే విలువ కాదు. ప్రొవైడర్ చిరునామా నమూనాను చదివి ప్రతి ప్యాకెట్కు పబ్లిక్ విలువను కాపీ చేయడం బదులు దానిని అనుసరించండి.

ఆచరణలో దీని అర్థం ఫైర్వాల్ను తాకే ముందు ప్రొవైడర్ కన్సోల్లో రూట్ చేసిన ప్రిఫిక్స్ను తనిఖీ చేయడం, మరియు మ్యాపింగ్ ఒకటికి ఒకటి ఉన్నప్పుడు ప్రైవేట్ ఇంటర్ఫేస్ చిరునామాను అనువాద మూలంగా ఉపయోగించడం. క్రింది ఉదాహరణల్లో ఉపయోగించిన చిరునామాలు డాక్యుమెంటేషన్ పరిధుల నుండి వచ్చాయి, కాబట్టి మొదట మార్చవలసినది చిరునామా పాఠ్యం స్వయంగా.

సాధారణ masquerade ముందు చొప్పించండి

ఏదైనా జోడించే ముందు ఎగ్రెస్ ఇంటర్ఫేస్ మరియు ప్రస్తుత గొలుసును నిర్ధారించండి. మొదటిది నియమం ఏ ప్యాకెట్లతో సరిపోలగలదో నిర్ణయిస్తుంది, రెండవది దాని ముందు ఇప్పటికే ఏమి నిలిచి ఉందో చూపిస్తుంది.

ip -4 route show default
iptables -t nat -L POSTROUTING -n -v --line-numbers

మొదటి ఆదేశం ఇంటర్నెట్కు వెళ్లే ప్యాకెట్ నిజంగా ఏ ఇంటర్ఫేస్ ద్వారా బయటకు వెళుతుందో పేర్కొంటుంది. రెండవది పంక్తి సంఖ్యలతో గొలుసును ముద్రిస్తుంది. సాధారణ masquerade నమోదు దానికి పైన ఉండవలసిన పంక్తి.

iptables -t nat -I POSTROUTING 1 -s 10.88.4.20/32 -o ens3 -j SNAT --to-source 198.51.100.77
iptables -t nat -I POSTROUTING 1 -s 10.88.4.21/32 -o ens3 -j SNAT --to-source 198.51.100.78

పైన ఉన్న రెండు నియమాలు ఒక్కొక్క అంతర్గత చిరునామాతో సరిపోలుతాయి, సరిపోలికను ఎగ్రెస్ ఇంటర్ఫేస్కు పరిమితం చేస్తాయి మరియు మూలాన్ని స్పష్టంగా సెట్ చేస్తాయి. జోడించడం బదులు చొప్పించండి: స్థానం 1లో అవి masquerade పంక్తి ముందు మూల్యాంకనం చేయబడతాయి. రెండింటి మధ్య క్రమం ముఖ్యం కాదు ఎందుకంటే వాటి మూలాలు భిన్నం. route ఆదేశం నివేదించిన దానితో ens3 మార్చండి, మరియు ఇతర ఫైర్వాల్ నిర్వాహకులను అదే హుక్ల నుండి దూరంగా ఉంచండి, ఎందుకంటే రెండు సాధనాలు ఒకే పట్టిక రాయడం సరైన నియమానికి ప్రభావం లేకపోవడానికి సాధారణ కారణం.

కొత్త ప్రవాహంతో మూలాన్ని నిరూపించండి

Stateful NAT ప్రవాహం ప్రారంభమైనప్పుడు అనువాదాన్ని కట్టివేసి, తర్వాతి ప్యాకెట్లకు దాన్ని మళ్లీ ఉపయోగిస్తుంది, కాబట్టి మార్పుకు ముందు తెరిచిన సెషన్ మార్పు తర్వాత కూడా దాని పాత మూలాన్ని నిలుపుకుంటుంది. కొత్తగా ప్రారంభించిన కనెక్షన్ మాత్రమే నియమాన్ని నిరూపిస్తుంది.

conntrack -L -s 10.88.4.20 -p tcp --dport 443

ఆ నమోదు యొక్క ప్రత్యుత్తర దిశను చదవండి: దాని గమ్యం దూరపు చివర మూలంగా చూసే చిరునామా. మీరు ఉద్దేశించిన పబ్లిక్ చిరునామాతో పోల్చండి, మరియు పాత చిరునామాను మోసుకున్న నమోదును విరిగిన నియమంగా కాకుండా చాలా త్వరగా ప్రారంభమైన ప్రవాహానికి రుజువుగా పరిగణించండి. క్లయింట్ను కొత్త కనెక్షన్ తెరవమని అడగండి, తర్వాత ప్రశ్నను పునరావృతం చేయండి. పరీక్షను బలవంతం చేయడానికి మొత్తం ట్రాకింగ్ పట్టికను ఖాళీ చేయడం గేట్వేపై ప్రతి ఇతర సెషన్కు అంతరాయం కలిగిస్తుంది.

అనువాదం ఇంకా మార్గాన్ని ఎంచుకోదు, ఫిల్టర్ ద్వారా ప్రవాహాన్ని పంపదు మరియు ఇన్బౌండ్ సేవను ప్రచురించదు. తప్పు మార్గం మరియు లేని అనుమతి నియమం పరిపూర్ణ SNAT నియమం తర్వాత కూడా విఫలమవుతాయి. IPv6 మరియు ఏదైనా ద్వితీయ ఎగ్రెస్ మార్గాన్ని కూడా తనిఖీ చేయండి, తర్వాత తదుపరి మార్పు నియమ పాఠ్యం నుండి కాకుండా మ్యాపింగ్ నుండి ప్రారంభమయ్యేలా అంతర్గత-నుండి-పబ్లిక్ జతలను ఫైర్వాల్ డాక్యుమెంటేషన్లో నమోదు చేయండి.

సంబంధిత వ్యాసాలు