బ్రిడ్జ్ చేసిన OpenVPN క్లయింట్లకు ఇంటర్నెట్ లేదా? NAT నియమాన్ని తనిఖీ చేయండి
బ్రిడ్జ్ చేసిన OpenVPN క్లయింట్లు tap పరికరం ద్వారా బయటకు వెళ్తాయి, కాబట్టి భౌతిక నెట్వర్క్ కార్డును పేర్కొనే masquerade నియమం ఎప్పటికీ సరిపోలదు, కౌంటర్ సున్నా వద్దే ఉంటుంది.
బ్రిడ్జ్ చేసిన సర్వర్ నడుస్తోంది, masquerade నియమం ఉంది, అయినా క్లయింట్లో బ్రౌజర్ ఇంకా తిరుగుతోంది. అన్నీ పనిచేయాల్సినట్టే కనిపిస్తుంది, అందుకే మొదటి గంట టన్నెల్ మరియు ఆధారాలను తనిఖీ చేయడంలో గడుస్తుంది. తర్వాత NAT నియమం కౌంటర్ చదివినప్పుడు కదలని సున్నా కనిపిస్తుంది. ఒక్క ప్యాకెట్ కూడా లెక్కించని నియమం ఏదీ ఎప్పటికీ సరిపోలలేదు, బ్రిడ్జ్ చేసిన సర్వర్లో కారణం నిర్మాణాత్మకమైనది: క్లయింట్ ట్రాఫిక్ వర్చువల్ tap పరికరం ద్వారా బయటకు వెళ్తుంది, కానీ నియమం మీరు పాత గైడ్ నుండి కాపీ చేసిన భౌతిక కార్డును పేర్కొంటుంది.
సాక్ష్యం కౌంటర్, పట్టిక నమోదు కాదు
ఉన్న నియమాలు మరియు సరిపోలే నియమాలు వేర్వేరు విషయాలు, వాటిని వేరు చేసేది కౌంటర్. NAT పట్టికను వివరమైన కౌంటర్లతో జాబితా చేసి, ఏదైనా మార్చడానికి ముందు ప్రతి నియమం పక్కన ఉన్న సంఖ్యలను చదవండి. ట్రాఫిక్ ప్రవహిస్తున్నప్పుడు సున్నా వద్ద నిలిచిన కౌంటర్ అంటే నియమం దాటవేయబడింది, దాని చిరునామాలు ఎంత సమంజసంగా కనిపించినా. కనెక్షన్ ఇంకా విఫలమవుతున్నప్పుడు పెరిగే కౌంటర్ మిమ్మల్ని వేరే చోటికి పంపుతుంది: ఫార్వర్డింగ్, తిరిగి వచ్చే మార్గం, లేదా దూరపు చివర.
iptables -t nat -L POSTROUTING -v -nమొదట ఇంటర్ఫేస్ సరిపోలిక పక్కన ఉన్న కౌంటర్ చదవండి. మూల పరిధి సరైనది మరియు బయటకు వెళ్లే వైపు తప్పు అయితే, సరిదిద్దడం కొత్త నియమం కాదు, నియమంలో ఒక పదం.
కెర్నల్ నిజంగా నమోదు చేసే పేరును కనుగొనండి
నియమం రాసే ముందు జ్ఞాపకం కాకుండా ఇంటర్ఫేస్ జాబితాను ఉపయోగించి టన్నెల్ పరికరం పేరును గుర్తించండి. బ్రిడ్జ్ చేసిన OpenVPN సెటప్లో పరికరం సాధారణంగా సర్వర్ సృష్టించిన tap ఇంటర్ఫేస్, దాని పేరు మీ స్థానిక కాన్ఫిగరేషన్లో భాగం, సార్వత్రిక స్థిరాంకం కాదు. టన్నెల్ నడుస్తున్నప్పుడు అది ఉన్నట్టు నిర్ధారించుకోండి, ఎందుకంటే క్లయింట్ కనెక్ట్ అయిన తర్వాత మాత్రమే కనిపించే పరికరం మునుపటి పరీక్షను నియమ సమస్యలా కనిపించేలా చేస్తుంది.
ip -brief linkపేరు రాసి పెట్టుకోండి. ఈ నిర్ధారణలోని ప్రతి తదుపరి ఆదేశం దానిని సూచిస్తుంది, ఇక్కడి టైపింగ్ పొరపాటు అసలు పొరపాటులాగానే సరిగ్గా అదే సున్నా కౌంటర్ను ఉత్పత్తి చేస్తుంది.
టన్నెల్ పరికరం కోసం నియమాన్ని మళ్లీ రాయండి
నియమాన్ని టన్నెల్ పరికరం వైపు తిప్పి, క్లయింట్ పరిధిని దాని సరిపోలిక షరతుగా ఉంచండి, తద్వారా అది టన్నెల్ ట్రాఫిక్ను కవర్ చేస్తుంది మరియు హోస్ట్ యొక్క స్వంత కనెక్షన్లను వదిలేస్తుంది. మీ స్వంత పరిధిని మరియు పరికర పేరును ఉంచండి, ఎందుకంటే క్రింద ఉన్న రెండూ ఉదాహరణలు, ఏదీ ఇన్స్టాలేషన్ల మధ్య తరలించలేము.
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o tap0 -j MASQUERADEతర్వాత అదే లక్షణం దాచే మిగతా రెండు షరతులను తనిఖీ చేయండి. ఫార్వర్డింగ్ ప్రారంభించబడిందో లేదో చూడండి, లేకపోతే రీబూట్లో మాయమయ్యే echo తో కాదు, పంపిణీ యొక్క స్వంత కాన్ఫిగరేషన్లో దాన్ని ప్రారంభించండి. forward గొలుసు కౌంటర్లను కూడా చదవండి, అది టన్నెల్ ట్రాఫిక్ను పడేస్తే ఆ ఇంటర్ఫేస్కు ప్రత్యేకంగా అనుమతి ఇవ్వండి, గొలుసు విధానాన్ని మార్చవద్దు.
కౌంటర్లతో forward గొలుసును చదవడానికి ఒక ఆదేశం సరిపోతుంది, మరో నియమాన్ని తాకకముందే మిగిలిన సగం అవకాశాలను అది తొలగిస్తుంది.
భౌతిక కార్డు ఎందుకు ఎప్పటికీ సరిపోలదు
బ్రిడ్జ్ అనేది tap పరికరం మరియు ఒక భౌతిక ఇంటర్ఫేస్తో నిర్మించిన సాఫ్ట్వేర్ స్విచ్. క్లయింట్ ఫ్రేమ్ ఆ స్విచ్లోకి ప్రవేశించి, కార్డుపై ప్యాకెట్గా కాకుండా బ్రిడ్జ్ సభ్యుడిగా భౌతిక నెట్వర్క్ వైపు బయటకు వెళ్తుంది. అందుకే కెర్నల్ ఆ ప్యాకెట్ను బ్రిడ్జ్కు మరియు దాని పోర్టుకు ఆపాదిస్తుంది, అందుకే మీరు అనుకున్న కార్డు సరిపోలికలో ఎప్పటికీ కనిపించదు. భౌతిక ఇంటర్ఫేస్లో ఏమీ పాడైపోలేదు; కెర్నల్ ఆ ప్యాకెట్ను ఆపాదించే పరికరం అది కాదు, అంతే.
ప్రజలు తర్వాత ఎదుర్కొనే సమస్య అదే నిర్మాణం నుండి వస్తుంది: బ్రిడ్జ్పై ఫ్రేమ్ ఫిల్టరింగ్ IP ఫిల్టరింగ్ నుండి వేరైన సౌకర్యం. అవసరం ఫ్రేమ్ స్థాయి పరిమితి అయితే, అది బ్రిడ్జ్ ఫిల్టరింగ్కు చెందుతుంది, IP పట్టిక నియమానికి కాదు.
దీన్ని మొదటి నుండి చివరి వరకు నిరూపించి, తర్వాత శాశ్వతం చేయండి
ఒక క్లయింట్ను లేపి సర్వర్ LANలో ఏదైనా పింగ్ చేయండి; ఆ మార్గం ఎలాంటి అనువాదం లేకుండా ఫార్వర్డింగ్ను పరీక్షిస్తుంది. ఆ తర్వాత పబ్లిక్గా ఏదైనా అడగండి, అప్పుడు masquerade నియమం తప్పనిసరిగా వాడాలి, కౌంటర్ను మరోసారి చదవండి: ఈ పరీక్షకు అది కదలాలి, మునుపటికి కాదు. టన్నెల్ పరికరంలో తీసుకున్న క్యాప్చర్ ఫ్రేమ్ ఎక్కడ కనిపిస్తుందో, ఏ చిరునామా మోస్తుందో రెండూ చూపుతుంది.
చివరి దశ: పనిచేసే నియమాలను రీస్టార్ట్ చదివే కాన్ఫిగరేషన్లో పెట్టి, ఈ హోస్ట్ బ్రిడ్జ్ నిజంగా ఉపయోగించే పరికర పేరును గుర్తించండి. చేతితో టైప్ చేసినవన్నీ రీబూట్ తర్వాత పోతాయి, అదే వైఫల్యం వివరించడానికి ఏమీ మిగలకుండా తిరిగి వస్తుంది.
మళ్లీ రాసిన తర్వాత కూడా కౌంటర్ కదలకపోతే, నియమంలోని మూల పరిధిని క్లయింట్ నిజంగా పొందిన చిరునామాతో పోల్చండి, ఎందుకంటే బ్రిడ్జ్ చేసిన సర్వర్ మీరు ఊహించని పరిధి నుండి చిరునామాలను ఇవ్వగలదు.