గేట్వేలో OpenVPN క్లయింట్ ట్రాఫిక్ను ఎక్కడ గమనించాలి
రూట్ చేసిన VPN గేట్వే ప్యాకెట్లకు సాకెట్లు తెరవకుండా వాటిని పంపుతుంది. ప్రవాహం ఎక్కడ నడుస్తుందనే దాని ఆధారంగా conntrack, పరిమిత టన్నెల్ క్యాప్చర్ లేదా ప్రాక్సీ లాగ్లను ఎంచుకోండి.
అనుసంధానించిన క్లయింట్ ఏ గమ్యస్థానాలను చేరుతుందో తెలుసుకోవాలనుకుంటున్నారు, కాబట్టి VPN సర్వర్లో ఒక షెల్ తెరిచి ss అని టైప్ చేస్తారు. ఉపయోగకరమైనది ఏదీ కనిపించదు, టన్నెల్ పాడైందనే నిర్ణయం కొంచెం ఎక్కువ సులభంగా వస్తుంది. రూట్ చేసిన OpenVPN గేట్వే క్లయింట్ ప్యాకెట్లను పంపుతుంది; అది వాటి TCP కనెక్షన్లను ముగించదు మరియు వాటికి సాకెట్లను కలిగి ఉండదు. సాక్ష్యం మరొక చోట నివసిస్తుంది, ఎక్కడ అనేది టన్నెల్ నుండి బయటకు వెళ్ళిన తర్వాత ట్రాఫిక్ ఎలా నిర్వహించబడుతుందనే దానిపై ఆధారపడి ఉంటుంది.
మీరు ఏ అమరికను చూస్తున్నారో నిర్ణయించుకోండి
రెండు సాధారణ ఆకారాలు పూర్తిగా భిన్నమైన సాక్ష్యాలను ఇస్తాయి. రూటింగ్ గేట్వే డీక్యాప్సులేట్ చేస్తుంది, పంపుతుంది మరియు బహుశా మూల-NAT చేస్తుంది, కాబట్టి క్లయింట్ కనెక్షన్ స్థానిక సాకెట్ లేకుండా చివరి నుండి చివరి వరకు కొనసాగుతుంది.
ప్రాక్సీ ట్రాఫిక్ను ముగిస్తుంది: కనెక్షన్ను అంగీకరించి తర్వాత తన సొంత పైకి కనెక్షన్ను తెరుస్తుంది. ఆ అమరికలో ఒక అభ్యర్థనకు రెండు కనెక్షన్లు ఉంటాయి, వాటి మధ్య సంబంధం ప్రాక్సీ సొంత రికార్డులలో మాత్రమే ఉంటుంది. వీటిలో ఏది మీరు అమలు చేశారో తెలుసుకోవడం కెర్నల్ ప్రవాహ స్థితిని చదవాలా లేక అప్లికేషన్ లాగ్లను చదవాలా అనేది నిర్ణయిస్తుంది.
చాలా గందరగోళం ఊహ నుండి వస్తుంది. సాధనాన్ని ఎంచుకునే ముందు ఆకారాన్ని నిర్ధారించండి. మొదట సర్వర్ కాన్ఫిగరేషన్లో ప్రాక్సీ సూచన ఉందో లేదో చదవండి, ఎందుకంటే దాని ఉనికి ప్రతి తదుపరి దశను మారుస్తుంది. అది లేకుంటే ప్యాకెట్ మార్గం రూటింగ్, కెర్నల్ ప్రవాహ స్థితి మీ సాక్ష్యం.
మొదట చిరునామాను ఒక సెషన్కు కలపండి
సర్వర్ సెషన్ స్థితి నుండి ప్రారంభించి క్లయింట్ ప్రస్తుత అంతర్గత చిరునామాను గుర్తించండి. పూల్ చిరునామాలు తిరిగి ఉపయోగించబడతాయి, కాబట్టి చిరునామా ఒంటరిగా ఒక లీజు, వ్యక్తి కాదు.
సమయాన్ని మరియు ధృవీకరించిన గుర్తింపును కలిసి నమోదు చేయండి, ఆ క్లయింట్ వెనుక పూర్తి ల్యాన్ దాగి ఉందో లేదో గమనించండి. దూరపు చివర ఒక ఉపజాలాన్ని రూట్ చేస్తే, మీరు చూసే అంతర్గత చిరునామాలు అసలు హోస్ట్లు లేదా అనువదించినవి కావచ్చు.
ip -4 addr show dev tun0
journalctl -u [email protected] --since '-10 min' | tail -n 40ఆ జంట ఒకేసారి రెండు ప్రశ్నలకు సమాధానం ఇస్తుంది: టన్నెల్ ఇంటర్ఫేస్ ఏ ప్రిఫిక్స్కు సేవ చేస్తుంది, మరియు మీకు ముఖ్యమైన విరామంలో ఏ సెషన్ క్రియాశీలంగా ఉంది. ఏదైనా ప్రవాహ నమోదును వివరించే ముందు ఇది చేయండి, ఎందుకంటే తప్పు సెషన్కు కట్టబడిన నమ్మదగిన tuple ఎలాంటి సాక్ష్యం లేకపోవడం కంటే అధ్వాన్నం.
రూటింగ్ గేట్వేలో ప్రవాహ పట్టికను చదవండి
చిరునామా మరియు విరామం స్థాపించిన తర్వాత, ట్రాక్ చేసిన కనెక్షన్ల పఠన-మాత్ర పట్టిక గేట్వే దాని కోసం ఏమి పంపుతుందో చూపిస్తుంది. మొత్తం పట్టికను చదవకుండా ఉండటానికి అసలు మూలంపై ఫిల్టర్ చేయండి.
sudo conntrack -L -p tcp -f ipv4 --orig-src 10.8.0.37ప్రతి నమోదులో రెండు tupleలు ఉంటాయి, అసలు మరియు ప్రత్యుత్తరం, అవి ఒక ప్రవాహానికి రెండు దిశలు, రెండు అప్లికేషన్లు కావు. మూల-NAT మార్గంలో అసలు tuple టన్నెల్ చిరునామాను నిలుపుకుంటుంది, ప్రత్యుత్తరం వైపు అనువదించిన గేట్వే చిరునామాను చూపిస్తుంది, అందుకే అవుట్పుట్ మొదటి చూపులో తప్పుగా కనిపిస్తుంది.
పట్టికను చరిత్రగా కాకుండా సజీవ స్థితిగా పరిగణించండి. చిన్న ప్రవాహాలు ఇప్పటికే గడువు ముగిసి ఉండవచ్చు, ట్రాక్ చేయని ట్రాఫిక్ ఎప్పుడూ కనిపించదు, మరొక నెట్వర్క్ నేమ్స్పేస్ మరొక పట్టికను చూపిస్తుంది. conntrack సూచన ఫిల్టర్లను మరియు ద్వి-దిశ అవుట్పుట్ను నమోదు చేస్తుంది.
పఠనాన్ని నిర్ధారించడానికి ఒక పరిమిత క్యాప్చర్
మీరు చూస్తున్న చోట టన్నెల్ ఇంటర్ఫేస్ కనిపిస్తే, ఒక పరిమిత క్యాప్చర్ మీరు గుర్తించిన ప్యాకెట్లు వైర్పై ఉన్నవేనా అని నిర్ణయిస్తుంది. ఫిల్టర్ను ఇరుకుగా, ప్యాకెట్ పరిమితిని చిన్నగా ఉంచండి.
sudo tcpdump -ni tun0 -nn -c 50 'host 10.8.0.37 and tcp'సమయ ముద్రలు, ప్రోటోకాల్ మరియు పోర్ట్లను ప్రవాహ నమోదుతో మరియు పరీక్షగా చేసిన అభ్యర్థనతో పోల్చండి. NAT తర్వాత తీసుకున్న క్యాప్చర్ గేట్వే యొక్క పబ్లిక్ చిరునామాను మాత్రమే చూపిస్తుంది, టన్నెల్ వైపు ఇప్పటికీ క్లయింట్ది చూపవచ్చు, ఆ భేదం సమాచారం, అసంగతి కాదు.
ఇంటర్ఫేస్ ఏమీ చూడకపోతే, క్లయింట్ నిష్క్రియంగా ఉందని నిర్ణయించే ముందు డేటా మార్గాన్ని తనిఖీ చేయండి: క్లయింట్-నుండి-క్లయింట్ ట్రాఫిక్ మరియు కొన్ని ఆఫ్లోడ్ మార్గాలు మీరు గమనిస్తున్న బిందువు గుండా ఎప్పుడూ వెళ్ళవు.
ప్రాక్సీ లాగ్లు, మరియు మీరు చూసిన వాటి పరిమితులు
ప్రాక్సీ మార్గంలో ఉన్నప్పుడు, దాని పైకి సాకెట్లు సాకెట్ పట్టికలో కనిపిస్తాయి కానీ అవి VPN క్లయింట్లతో ఒకటికి-ఒకటి సరిపోలవు, ముఖ్యంగా పూలింగ్ లేదా మల్టీప్లెక్సింగ్తో. క్లయింట్ గుర్తింపు, గమ్యం, సమయ ముద్ర మరియు అది నమోదు చేసే ఏదైనా అభ్యర్థన గుర్తింపును పరస్పరం సంబంధించడానికి ప్రాక్సీ యొక్క కాన్ఫిగర్ చేసిన లావాదేవీ లాగ్ ఉపయోగించండి.
ప్రతి అభ్యర్థన డీఫాల్ట్గా లాగ్ అవుతుందని ఊహించే బదులు అమలు చేసిన సంస్కరణ యొక్క లాగింగ్ కాన్ఫిగరేషన్ను తనిఖీ చేయండి.
చివరగా, పరిధి గురించి ఖచ్చితంగా ఉండండి. గమ్య చిరునామా మరియు పోర్ట్ మెటాడేటా, URL కాదు మరియు పేజీ కంటెంట్ కాదు, ఎందుకంటే అంతర్గత HTTPS సెషన్ టన్నెల్తో సంబంధం లేకుండా దాని సొంత రక్షణను కలిగి ఉంటుంది. మీరు ఏమి గమనించారు, ఏ పరిశీలన బిందువు నుండి, ఏ సమయంలో అని నివేదించండి.