WSL 2 లో resolv.conf: VPN కనెక్ట్ అయినప్పుడు DNS ఆగిపోతుంది
WSL తాను చూసే Windows అడాప్టర్ల నుండి resolv.conf ను తిరిగి సృష్టిస్తుంది, కాబట్టి VPN రిజాల్వర్ ఎప్పటికీ చేరకపోవచ్చు. సృష్టింపును ఆపి, ఆపై కార్పొరేట్ పేరును పరీక్షించండి.
పంపిణీ లోపల బ్రౌజింగ్ పని చేస్తుంది, మరియు టన్నెల్ పైకి వచ్చిన క్షణంలోనే మొదటి అంతర్గత హోస్ట్ పేరు విఫలమవుతుంది. సహజ ప్రతిస్పందన పబ్లిక్ రిజాల్వర్ను జోడించడం, అది ఇంటర్నెట్ను తిరిగి తెస్తుంది మరియు మిగిలిన రోజు కార్పొరేట్ పేరు అందుబాటులో లేకుండా చేస్తుంది. WSL 2 లో, /etc/resolv.conf కాన్ఫిగరేషన్ కాదు, సృష్టించిన అవుట్పుట్, మరియు అర్థం చేసుకోదగిన యంత్రాంగం అదే. పరిష్కారం మెరుగైన రిజాల్వర్ కాదు, ఫైల్ యాజమాన్యం.
ఫైల్ సృష్టించబడుతుంది, కాన్ఫిగర్ చేయబడదు
WSL 2 ఫైల్ను ప్రారంభంలో ఆ క్షణంలో కనిపించే Windows అడాప్టర్ల నుండి వ్రాస్తుంది, మరియు అది చెప్పే వ్యాఖ్యను పైన ముద్రిస్తుంది. తర్వాత VPN క్లయింట్ అడాప్టర్ను జోడించినా లేదా తిరిగి వ్రాసినా, పంపిణీ తప్పనిసరిగా ఏదైనా తిరిగి సృష్టించదు, మరియు ఫైల్ ఇప్పుడు లేని నెట్వర్క్ను వివరిస్తూనే ఉంటుంది.
రెండవ వైఫల్య విధానం మరింత నిశ్శబ్దం: WSL కొన్ని అడాప్టర్ల నుండి మాత్రమే సర్వర్లను కాపీ చేయవచ్చు. భౌతిక అడాప్టర్లో ఇప్పటికే IPv6 రిజాల్వర్ ఉంటే, VPN అడాప్టర్ అందించే IPv4 సర్వర్లు జోడించబడకుండా తీసివేయబడవచ్చు, మరియు ఫైల్ పూర్తిగా కనిపిస్తుంది కానీ అంతర్గత పేర్లకు సమాధానమిచ్చే సర్వర్ను సరిగ్గా దాటవేస్తుంది.
Windows వీక్షణను Linux వీక్షణతో పోల్చండి
సవరించే ముందు రెండు వైపులా చదవండి. పంపిణీ లోపల ఫైల్లో ఏమి ఉందో మరియు అది సాధారణ ఫైలా లింకా చూడండి. Windows లో VPN సృష్టించిన అడాప్టర్తో సహా ప్రతి అడాప్టర్ రిజాల్వర్ను జాబితా చేయండి:
ls -l /etc/resolv.conf
cat /etc/resolv.conf
Get-DnsClientServerAddress -AddressFamily IPv4
Get-NetAdapter | Where-Object Status -eq 'Up'
VPN అడాప్టర్ కార్పొరేట్ సర్వర్లను చూపించి Linux వేరే ఏదో చూపిస్తే, భేదం చేరుకోగల సామర్థ్యంలో కాదు, సృష్టింపులో ఉంది. అడాప్టర్ జాబితా మరియు చిరునామాలను కూడా పోల్చండి, ఎందుకంటే లేని అడాప్టర్ లేని సర్వర్ను వివరిస్తుంది. ఆ భేదమే మీరు WSL ను సరిచేస్తున్నారా ఫైర్వాల్ను సరిచేస్తున్నారా అని నిర్ణయిస్తుంది, మరియు రెండింటికీ ఉమ్మడిగా ఏమీ లేదు.
సృష్టింపును ఆపి మీ స్వంత ఫైల్ను వ్రాయండి
WSL ఫైల్ను తిరిగి వ్రాయకుండా నిరోధించే ఒక డాక్యుమెంటెడ్ సెట్టింగ్ ఉంది, అది /etc/wsl.conf లో ఉంది. ఆ ఫైల్కు నెట్వర్క్ విభాగాన్ని జోడించండి:
[network]
generateResolvConf = false
తర్వాత Windows నుండి wsl --shutdown తో పంపిణీని ఆపి మళ్లీ ప్రారంభించండి. మార్గం సాధారణ ఫైల్ కాకుండా సింబాలిక్ లింక్ అయితే, మీ స్వంత కంటెంట్ను వ్రాయడానికి ముందు లింక్ను తీసివేయండి, ఎందుకంటే లింక్ ద్వారా వ్రాయడం తదుపరి ప్రారంభంలో సృష్టించిన లక్ష్యాన్ని తిరిగి సృష్టించవచ్చు. ఆ క్షణం నుండి ఫైల్ మీది మరియు ఏదీ దాన్ని తిరిగి వ్రాయదు.
nameserver 172.28.4.10
nameserver 172.28.4.11
search site.corp.example
options timeout:1 attempts:2 rotate
శోధన డొమైన్ లేకుండా, అసంపూర్ణ హోస్ట్ పేరు పబ్లిక్ మూలంతో పూర్తవుతుంది మరియు అలాంటి డొమైన్ లేదు అని తిరిగి వస్తుంది. timeout చనిపోయిన మొదటి సర్వర్ ప్రతి శోధనను నిరోధించకుండా చేస్తుంది, attempts ఒక శోధన ఎన్ని ప్రయత్నాలు ఖర్చు చేస్తుందో పరిమితం చేస్తుంది, మరియు rotate తిరిగి ప్రయత్నాలను ఎప్పుడూ పైనుండి ప్రారంభించే బదులు పంపిణీ చేస్తుంది. వ్యాపారం ఏమిటంటే, రిజాల్వర్ చిరునామా సెషన్ల మధ్య మారే VPN ను ఫైల్ ఇకపై అనుసరించదు.
కదిలే రిజాల్వర్ను నిర్వహించి, తర్వాత ధృవీకరించండి
కొన్ని క్లయింట్లు సెషన్-నిర్దిష్ట రిజాల్వర్ను ఇస్తాయి, కాబట్టి స్థిర ఫైల్ తదుపరి కనెక్షన్లో విరిగిపోతుంది. రెండు విధానాలు సమర్థనీయం. చిరునామా మారినప్పుడల్లా చిన్న స్క్రిప్ట్ నుండి ఫైల్ను వ్రాయండి, లేదా సృష్టింపును ఆన్లో ఉంచి WSL కాపీ చేసే అడాప్టర్ కార్పొరేట్ సర్వర్ను కలిగి ఉందని నిర్ధారించుకోండి. రెండవదానికి హుక్ అవసరం లేదు మరియు సృష్టింపు VPN అడాప్టర్ను దాటవేసినప్పుడల్లా విఫలమవుతుంది; రెండూ మొదట IPv6 ఘర్షణను పరిష్కరించాలి.
Windows తన స్వంత పేర్ల విధానాలను కూడా వర్తిస్తుంది, ఉదాహరణకు ప్రత్యయ శోధన జాబితా లేదా నిర్దిష్ట డొమైన్లకు రిజల్యూషన్ విధానం, మరియు అడాప్టర్ చిరునామాలను కాపీ చేయడం ఆ నియమాలను తిరిగి సృష్టించదు. ఒక పేరు Windows లో పరిష్కారమై అదే సర్వర్తో పంపిణీలో పరిష్కారం కాకపోతే, టన్నెల్ను నిందించే ముందు ప్రత్యయాల నిర్వహణను పోల్చండి.
ప్యాకెట్తో కాదు, పేరుతో పరీక్షించండి: getent hosts sensor-access0.corp.example రిజాల్వర్ స్టాక్ గుండా వెళుతుంది, ping క్యాష్ చేసిన లేదా అక్షరార్థ చిరునామాపై విజయవంతం కావచ్చు. తర్వాత డిస్కనెక్ట్ చేసి మళ్లీ కనెక్ట్ చేసిన తర్వాత పునరావృతం చేయండి, ఎందుకంటే ఒకసారి పని చేసి పునఃప్రారంభంలో తిరిగి సృష్టించబడే సెట్టింగ్ ఎప్పుడూ సరిచేయబడలేదు. మునుపటి కంటెంట్ను సేవ్ చేసి, ఆ మెషీన్లో మార్గం ఏ భాగానికి చెందుతుందో గుర్తించండి, తదుపరి మార్పు సాక్ష్యంతో ప్రారంభమవుతుంది.