OpenVPN క్లయింట్ బ్లాక్ నియమం FORWARD ను ఎందుకు చేరుకోదు
క్లయింట్ నుండి క్లయింట్కు ట్రాఫిక్ OpenVPN ప్రక్రియ లోపలే ఉండిపోవచ్చు మరియు హోస్ట్ యొక్క FORWARD గొలుసును ఎప్పటికీ దాటకపోవచ్చు, కాబట్టి సున్నా కౌంటర్ ఏమీ నిరూపించదు.
ఒకే OpenVPN సర్వర్పై ఉన్న రెండు క్లయింట్లు తమ పూల్ కోసం DROP నియమాన్ని జోడించిన తర్వాత కూడా ఒకరినొకరు చేరుకోగలరు. నియమం FORWARD గొలుసులో ఉంది, ట్రాఫిక్ స్పష్టంగా ప్రవహిస్తోంది, కానీ ఆ నియమం యొక్క కౌంటర్ సున్నా వద్దే ఉంటుంది. సహజమైన ముగింపు ఏమిటంటే ఫైర్వాల్ పాడైంది. చాలాసార్లు ప్యాకెట్ గొలుసులోకి అసలు ప్రవేశించలేదు.
OpenVPN సర్వర్ ద్వారా పీర్ ప్యాకెట్ ప్రయాణించగల రెండు మార్గాలు ఉన్నాయి, వాటిని నిర్ణయించేది కాన్ఫిగరేషన్, ఫైర్వాల్ కాదు. ఏ మార్గం ఉపయోగంలో ఉందో తెలుసుకోవడం, హోస్ట్ నియమం సరైన స్థానంలో ఉందా లేదా అని చెబుతుంది.
పీర్ ప్యాకెట్ ప్రయాణించగల రెండు మార్గాలు
అంతర్గత ఫార్వార్డింగ్ ఎంపిక నిలిపివేయబడినప్పుడు, క్లయింట్ A నుండి వచ్చిన ప్యాకెట్ టన్నెల్ ఇంటర్ఫేస్కు చేరుతుంది, దాని గమ్యం క్లయింట్ B కి కేటాయించిన చిరునామా లోపల ఉంటుంది. B యొక్క చిరునామాకు మార్గం సర్వర్కు చెందినది కాబట్టి, సర్వర్ యొక్క రూటింగ్ పట్టిక దానిని అదే టన్నెల్ ఇంటర్ఫేస్ ద్వారా తిరిగి పంపుతుంది. ఇది హోస్ట్ ద్వారా లోపలికి మరియు బయటకు వెళ్లే ప్రవాహం, IPv4 ఫార్వార్డింగ్ మార్గం దానిని అంచనా వేస్తుంది.
అంతర్గత ఫార్వార్డింగ్ ఎంపిక ప్రారంభించబడినప్పుడు, సర్వర్ ప్రక్రియ ప్యాకెట్ను కనెక్ట్ అయిన క్లయింట్తో సరిపోల్చి నేరుగా ఆ క్లయింట్కే తిరిగి రాస్తుంది. ప్యాకెట్ డీమన్ లోపల నిర్వహించబడుతుంది మరియు టన్నెల్ పరికరంలోకి మళ్లీ ఎప్పటికీ ప్రవేశించదు, కాబట్టి హోస్ట్ యొక్క ఫార్వార్డింగ్ మార్గం పూర్తిగా దాటవేయబడుతుంది. OpenVPN 2.6 మాన్యువల్ ఈ ఎంపికను అంతర్గత క్లయింట్-నుండి-క్లయింట్ ఫార్వార్డింగ్ అని వివరిస్తుంది, హోస్ట్ ఫైర్వాల్ నియమం దానిని చూడలేకపోవడానికి కారణం అదే.
డేటా ఛానెల్ను కర్నెల్ మాడ్యూల్కు ఆఫ్లోడ్ చేసే డిప్లాయ్మెంట్లలో మూడవ రూపం ఉంది. ఫార్వార్డింగ్ నిర్ణయం మరియు ఎన్క్రిప్షన్ యూజర్ స్పేస్ నుండి బయటకు వెళ్తాయి, netfilter ప్రవాహాన్ని చూస్తుందా లేదా అనేది ఆఫ్లోడ్ మార్గం ఎలా నిర్మించబడిందనే దానిపై ఆధారపడి ఉంటుంది. పాత నియమాల సమితి ఆఫ్లోడ్ చేసిన సర్వర్పై యూజర్ స్పేస్ సర్వర్లో లాగానే ప్రవర్తిస్తుందని ఎప్పుడూ ఊహించకండి. మోడ్ను ప్యాకేజీ వెర్షన్ నుండి కాకుండా నడుస్తున్న కాన్ఫిగరేషన్ నుండి నిర్ధారించండి.
కౌంటర్ ఎప్పటికీ కదలనప్పుడు
సున్నా కౌంటర్ అంటే ఆ బిందువు వద్ద ప్యాకెట్ ఆ నియమంతో సరిపోలలేదు, కారణాలు అనేకం. మొదటిది పైన చెప్పిన బైపాస్: ట్రాఫిక్ గొలుసును చేరుకోలేదు. రెండవది ఇంటర్ఫేస్, దిశ, మూలం లేదా గమ్యంలో సరిపోలకపోవడం, పూల్ తిరిగి సంఖ్యాపరంగా మార్చబడి నియమం ఇప్పటికీ పాత ప్రిఫిక్స్ను పేర్కొన్నప్పుడు ఇది సాధారణం.
మూడవది స్థానం. గొలుసులో ముందున్న నియమం మీ DROP అంచనా వేయకముందే ప్రవాహాన్ని అంగీకరించవచ్చు, తర్వాతి నియమం ఫలితాన్ని నిజంగా నిర్ణయించేది కావచ్చు. కౌంటర్లు కనిపించేలా గొలుసును క్రమంగా చదవండి, తర్వాత పరీక్షను పునరావృతం చేసినప్పుడు ఏ నియమం యొక్క లెక్క పెరుగుతుందో చూడండి.
నిజమైన చిరునామలను గుర్తున్న లీజ్ నుండి కాకుండా సర్వర్ యొక్క స్వంత స్థితి నుండి నిర్ధారించిన ఇద్దరు క్లయింట్ల మధ్య ఒక నియంత్రిత మార్పిడి చేయండి. సంబంధిత కౌంటర్ ఇప్పటికీ కదలకపోతే, సరిపోలికను తిరిగి రాయకముందే మార్గాన్ని అనుమానించండి. అది కదిలినా కనెక్షన్ ఇప్పటికీ విజయవంతమైతే, డ్రాప్ తర్వాత అధిగమించబడుతోంది మరియు సమస్య క్రమంలో ఉంది. ఆ సమాధానమే మరమ్మతు నియమ మార్పా లేదా టోపాలజీ మార్పా అని నిర్ణయిస్తుంది, కాబట్టి ఏదైనా సవరించే ముందు దాన్ని పొందండి.
ఫిల్టర్ చేయగల సరిహద్దును ఎంచుకోవడం
విధానం తప్పనిసరిగా హోస్ట్ ఫైర్వాల్లో ఉండాలంటే, ఫైర్వాల్ చూడగల ప్రదేశంలో ట్రాఫిక్ను ఉంచండి. అంతర్గత ఫార్వార్డింగ్ను నిలిపివేయడమే పీర్ ట్రాఫిక్ను టన్నెల్ ఇంటర్ఫేస్ మరియు ఫార్వార్డింగ్ మార్గం ద్వారా పంపడానికి మద్దతు ఉన్న మార్గం, కానీ దాని ధర ప్రతి పీర్ ప్యాకెట్ హోస్ట్ స్టాక్ ద్వారా వెళ్లడం.
తర్వాత ప్రవాహాన్ని ఖచ్చితంగా సరిపోల్చండి. ట్రాఫిక్ రెండు దిశల్లో టన్నెల్ ఇంటర్ఫేస్కు వచ్చి టన్నెల్ ఇంటర్ఫేస్ నుండి బయటకు వెళ్తుంది, కాబట్టి భౌతిక ఇంటర్ఫేస్ను మాత్రమే పరిగణించే నియమాలు సరిపోలవు. చిరునామా ఆధారిత నియమాలకు ప్రస్తుత పూల్ అవసరం, మరియు అవి తిరిగి వచ్చే దిశను కూడా ముందుకు వెళ్లే దిశలాగానే పరిగణించాలి.
చాలా డిప్లాయ్మెంట్లకు క్లయింట్ లేదా గ్రూప్ స్థాయిలో ఫిల్టర్ చేయడం మంచిది, అక్కడ గుర్తింపు తెలుసు మరియు విధానం తిరిగి కనెక్ట్ అయినప్పుడు మారే చిరునామా బదులు వినియోగదారుని అనుసరిస్తుంది. ఇది హోస్ట్ గొలుసు నుండి భిన్నమైన యంత్రాంగం, స్పష్టమైన కారణం లేకుండా రెండింటినీ కలపకూడదు.
పాత టోపాలజీ యొక్క నియమాల సమితిని మార్పు లేకుండా మైగ్రేషన్ ద్వారా తీసుకెళ్లకండి. చిరునామా పూల్లు, ఇంటర్ఫేస్ పేర్లు, ఫార్వార్డింగ్ మోడ్లు అన్నీ ఒక నియమం సరిపోతుందా అనే దాన్ని ప్రభావితం చేస్తాయి, మునుపు పనిచేసిన కాపీ చేసిన నియమం అత్యంత దారి తప్పించే రుజువు రకం. మీరు అనుమతించాలనుకునే ప్రవాహంతో ప్రారంభించి దానికి సరిపోలే నియమాన్ని రాయండి.
నియమాన్ని నమ్మడం బదులు ఐసొలేషన్ను పరీక్షించడం
నిషేధిత సందర్భాన్ని మరియు అనుమతించిన సందర్భాన్ని ఒకే రన్లో పరీక్షించండి. ఒక క్లయింట్ నుండి మరొకరికి కొత్త కనెక్షన్ ప్రారంభించి అది విఫలమవుతుందని నిర్ధారించండి, తర్వాత అనుమతించవలసిన కనెక్షన్ ఇప్పటికీ పనిచేస్తుందని నిర్ధారించండి. మొదటిది మాత్రమే పరీక్షిస్తే, అన్నింటినీ నిరోధించే ఫైర్వాల్ విజయంగా కనిపిస్తుంది.
సర్వర్ కాన్ఫిగరేషన్ను తిరిగి లోడ్ చేసిన తర్వాత మరియు క్లయింట్ తిరిగి కనెక్ట్ అయిన తర్వాత పునరావృతం చేయండి, ఎందుకంటే అంతర్గత ఫార్వార్డింగ్ మరియు పూల్ కేటాయింపులు రన్టైమ్ స్థితి. రెండు దిశల్లో కౌంటర్లను తనిఖీ చేయండి, ఎందుకంటే ఒక దిశతో సరిపోలి ప్రతిస్పందనతో సరిపోలని నియమం వేగవంతమైన పరీక్షలో గమనించడం కష్టమైన పాక్షిక ఐసొలేషన్ను కలిగిస్తుంది.
ఐసొలేషన్ అంటే ప్రవాహాన్ని నిజంగా మోసే సరిహద్దు వద్ద గమనించిన ఫలితం. హోస్ట్లో ఎక్కడో ఉన్న DROP నియమం రుజువు కాదు; విఫలమైన కనెక్షన్ మరియు దానికి కారణమైన నియమం యొక్క కదిలిన కౌంటర్ రుజువు.