మీ స్ప్లిట్-టన్నెల్ నియమం ఒక సేవతో సరిపోలడం ఎందుకు ఆగిపోయింది
నియమం ఒక ఉపసర్గను పిన్ చేస్తుంది మరియు సేవ స్థలం మారింది. యాప్ నిజంగా ఉపయోగించే గమ్యాన్ని చదవండి, ఆపై మినహాయింపును విస్తరించడం బదులు యంత్రాంగాన్ని మరమ్మతు చేయండి.
స్ప్లిట్ టన్నెలింగ్ సాధారణంగా రెండు మార్గాలలో ఒకదానిలో విఫలమవుతుంది. టన్నెల్ లోపల ఉండాల్సిన ట్రాఫిక్ దానిని చుట్టుముడుతుంది, లేదా బయట ఉండాల్సిన ట్రాఫిక్ లోపలికి లాగబడుతుంది. పాత నియమం వల్ల వచ్చే వైఫల్యం మొదటి రకం, అది ఎక్కువ గందరగోళాన్ని కలిగిస్తుంది, ఎందుకంటే నియమం రాసినట్లుగానే అమలు చేయబడుతుంది. మారినది గమ్యం: సేవ ఇప్పుడు నియమం ఎప్పుడూ పేర్కొనని చిరునామాలో సమాధానం ఇస్తుంది, టన్నెల్లో ఏదీ తప్పు లేదు.
నియమం ఏమి పిన్ చేస్తుంది మరియు DNS ఏమి తిరిగి ఇస్తుంది
స్ప్లిట్-టన్నెల్ నియమం గమ్యాల గురించి స్థిరమైన ప్రకటన, సాధారణంగా ఉపసర్గ, మార్గం లేదా చిరునామాల జాబితాగా వ్యక్తీకరించబడుతుంది. పంపే సమయంలో ప్యాకెట్ గమ్యంపై దాన్ని అంచనా వేస్తారు. హోస్ట్నేమ్ అనేది ఆయుష్షు మరియు కాష్తో కూడిన చిరునామాల సమూహాన్ని తిరిగి ఇచ్చే శోధన, మరియు సమాధానం resolver, ప్రశ్న రకం మరియు నిమిషం ప్రకారం మారవచ్చు.
ఆ రెండు వస్తువులు ఎప్పుడూ ఒకదానితో ఒకటి చర్చలు జరపవు. నియమం తనకు ఇచ్చిన ఉపసర్గతో సరిపోలుతూనే ఉంటుంది, సేవ తాను ఇచ్చే చిరునామాను మారుస్తూనే ఉంటుంది, వాటి మధ్య అంతరం నిశ్శబ్దంగా పెరుగుతుంది. అందుకే లక్షణం సేవా ప్రదాత మార్పిడి లేదా ధృవపత్ర నవీకరణ తర్వాత కనిపిస్తుంది, కాన్ఫిగరేషన్ మార్పు తర్వాత కాదు. ఎవరూ టన్నెల్ను సవరించలేదు, కాబట్టి ఎవరూ టన్నెల్ను చూడరు, మరియు నిర్ధారణ విధానం వైపు కాకుండా యాప్ వైపు జరుగుతుంది.
సరిపోలిక విరిగే మూడు మార్గాలు
స్పష్టమైన సందర్భం స్థలం మారిన సేవ: ఆపరేటర్ దానికి కొత్త చిరునామా ఇచ్చారు, DNS అనుసరించింది, మినహాయింపు అనుసరించలేదు. రెండవది నియమం ఎప్పుడూ కవర్ చేయని చిరునామా కుటుంబం, ఇది IPv4 కోసం మాత్రమే ఉన్న మినహాయింపు విస్మరించే AAAA రికార్డులను పేరు తిరిగి ఇవ్వడం ప్రారంభించినప్పుడు జరుగుతుంది. మూడవది resolver భేదం: అంతర్గత మరియు పబ్లిక్ వీక్షణ ఒకే పేరుకు వేర్వేరు చిరునామాలను తిరిగి ఇవ్వవచ్చు, కాబట్టి మీ యాప్ ఉపయోగించే చిరునామా మీరు పరీక్షించినది కాదు.
కాష్ చేసిన కనెక్షన్ నాల్గవ రకం మరియు దానిని మిస్ అవ్వడం సులభం. యాప్ ఒక గంట క్రితం పరిష్కరించిన చిరునామాతో ఇంకా మాట్లాడుతూ ఉండవచ్చు, అంటే మీ కొత్త శోధన మరియు దాని తెరిచిన socket సేవ ఎక్కడ ఉందనే విషయంలో ఏకీభవించవు.
యాప్ నిజంగా ఉపయోగించే గమ్యాన్ని చదవండి
బ్రౌజర్ ట్యాబ్ను కాదు, ఆపరేటింగ్ సిస్టమ్ మరియు socket పట్టికను అడగండి. శోధన పేరు ఇప్పుడు ఏమిటో పరిష్కరిస్తుందో సమాధానం ఇస్తుంది, socket పట్టిక ప్రక్రియ కనెక్ట్ అయిన చిరునామాను చూపిస్తుంది, అది పాతది కావచ్చు. సిద్ధాంతాన్ని రూపొందించే ముందు రెండింటినీ అమలు చేయండి, ఎందుకంటే వాటి మధ్య భేదం సుమారు సగం సందర్భాలలో సమాధానమే.
getent ahosts api.example.com
dig +short api.example.com A
dig +short api.example.com AAAA
ss -tnp | grep -F api
ip route get 203.0.113.40
తర్వాత నియమం ఏమి కవర్ చేస్తుందో దానితో పోల్చండి. ప్రస్తుత చిరునామా మినహాయింపు వెలుపల ఉండి అభ్యర్థన ఇంకా విఫలమైతే, టన్నెల్ కాన్ఫిగరేషన్ తాకకుండా కారణాన్ని కనుగొన్నారు. యాప్ నియమంతో సరిపోలే చిరునామాకు కనెక్ట్ అయి అభ్యర్థన ఇంకా విఫలమైతే, సమస్య టన్నెల్ ఆవల ఉంది మరియు ఇది తప్పు దర్యాప్తు.
లక్షణాన్ని కాదు, యంత్రాంగాన్ని మరమ్మతు చేయండి
ఉత్పత్తి నిర్వహించబడే డొమైన్ ఆధారిత స్టీరింగ్కు మద్దతు ఇస్తే, దాన్ని ఉపయోగించి దాని డాక్యుమెంట్ చేసిన రిఫ్రెష్ మరియు పరిధి ప్రవర్తనను అనుసరించండి. అది స్థిరమైన ఊహను నిర్వహించబడే సమాధానంతో భర్తీ చేస్తుంది, ఫీచర్ డాక్యుమెంట్ ప్రకారం పనిచేయడంపై ఆధారపడే ఖర్చుతో.
డిజైన్ స్థిరమైన జాబితాపై ఆధారపడితే, దానికి యజమానిని మరియు నవీకరణ ప్రణాళికను ఇవ్వండి. చిరునామా ఎలా కనుగొనబడుతుంది, మార్పును ఎవరు ఆమోదిస్తారు మరియు జాబితా సేవా ప్రదాత మార్పిడిని ఎంత వేగంగా అనుసరించాలని ఆశిస్తారో ప్రణాళిక చెప్పాలి. యజమాని లేని జాబితా తెలిసిన కారణంతో భవిష్యత్ అంతరాయం.
చిన్న పరీక్షలో చూసిన ప్రతి చిరునామాను పట్టుకోవడానికి మాత్రమే మినహాయింపును పెద్ద పొరుగు నెట్వర్క్కు విస్తరించవద్దు. అది మరమ్మతు కాదు; అది భద్రతా సరిహద్దులో శాశ్వత మార్పు, నియమం ఉన్నంత కాలం సంబంధం లేని సేవలు టన్నెల్ను నిశ్శబ్దంగా దాటడానికి అది అనుమతిస్తుంది.
ఉద్దేశ్యంలోని రెండు భాగాలను ధృవీకరించండి
స్ప్లిట్-టన్నెల్ డిజైన్కు రెండు ఉద్దేశ్యాలు ఉన్నాయి, మరమ్మతు రెండింటినీ కాపాడాలి. రక్షిత సేవ టన్నెల్ ద్వారా వెళ్లాలి, మినహాయించిన వర్గాలు దానిని చుట్టుముట్టి వెళ్లడం కొనసాగించాలి. మరమ్మతు చేసిన గమ్యానికి కొత్త కనెక్షన్ను పరీక్షించండి, ఆపై బయట ఉండాల్సిన ఒక విషయాన్ని పరీక్షించండి.
curl -sv --max-time 5 https://api.example.com/ -o /dev/null 2>&1 | grep -E 'Trying|Connected to'
curl -sS --max-time 5 https://public.example/ -o /dev/null -w '%{http_code}\n'
కొత్త చిరునామా, ఎంచుకున్న యంత్రాంగం మరియు తేదీని నమోదు చేయండి. ఆ గమనికే తదుపరి వ్యక్తి VPN తన స్వంత కాన్ఫిగరేషన్ను యాదృచ్ఛికంగా విస్మరించిందని నిర్ధారణకు రాకుండా నిరోధిస్తుంది.