VPN ಸಂಪರ್ಕಗೊಂಡಾಗ WSL ಕೆಲಸದ ಹೋಸ್ಟ್ಹೆಸರನ್ನು ಏಕೆ ಕಳೆದುಕೊಳ್ಳುತ್ತದೆ?
ಅದೇ ಹೆಸರು Windows ನಲ್ಲಿ ಕೆಲಸ ಮಾಡುತ್ತದೆ ಮತ್ತು ಸುರಂಗ ಏರಿದ ಕ್ಷಣ WSL ಒಳಗೆ ವಿಫಲವಾಗುತ್ತದೆ. ರಿಸಾಲ್ವರ್ ಸೇರಿಸುವ ಮೊದಲು ಪ್ಲಾಟ್ಫಾರ್ಮ್ನ DNS ಮೋಡ್ ಮತ್ತು ಹಳೆಯ ಓವರ್ರೈಡ್ಗಳನ್ನು ಪರಿಶೀಲಿಸಿ.
Windows ಆಂತರಿಕ ಹೋಸ್ಟ್ ಅನ್ನು ಯಾವುದೇ ದೂರಿಲ್ಲದೆ ರಿಸಾಲ್ವ್ ಮಾಡುತ್ತದೆ, ಮತ್ತು ಅದೇ ಹೆಸರು ಸುರಂಗ ಏರಿದ ಕ್ಷಣದಲ್ಲಿ WSL ಒಳಗೆ ವಿಫಲವಾಗುತ್ತದೆ. ಸಾಮಾನ್ಯ ಪರಿಹಾರ ಎಂದರೆ ವಿತರಣೆಯೊಳಗೆ ಸಾರ್ವಜನಿಕ ರಿಸಾಲ್ವರ್ ಬರೆಯುವುದು, ಅದು ಸಾಮಾನ್ಯ ಬ್ರೌಸಿಂಗ್ ಅನ್ನು ಮರುಸ್ಥಾಪಿಸುತ್ತದೆ ಮತ್ತು ಕೆಲಸದ ಹೋಸ್ಟ್ಹೆಸರನ್ನು ರಿಸಾಲ್ವ್ ಆಗದಂತೆ ಮಾಡುತ್ತದೆ. ಅದು ಒಂದು ವೈಫಲ್ಯವನ್ನು ಇನ್ನೊಂದರೊಂದಿಗೆ ಬದಲಾಯಿಸುತ್ತದೆ ಮತ್ತು ವಾಸ್ತವವಾಗಿ ಒಡೆದ ಪದರವನ್ನು ಮರೆಮಾಡುತ್ತದೆ. ಯಾವುದೇ ರಿಸಾಲ್ವರ್ ಸಾಲನ್ನು ಸೇರಿಸುವ ಅಥವಾ ತೆಗೆದುಹಾಕುವ ಮೊದಲು ಮೂರು ಪದರಗಳಲ್ಲಿ ಯಾವುದು ವಿಫಲವಾಗುತ್ತಿದೆ ಎಂಬುದನ್ನು ನಿರ್ಧರಿಸಿ.
ಮೊದಲು ರೂಟಿಂಗ್ ವೈಫಲ್ಯವನ್ನು ಹೊರಗಿಡಿ
ಎರಡೂ ಬದಿಗಳಲ್ಲಿ ಅದೇ ಸಂಪೂರ್ಣ ಅರ್ಹ ಹೆಸರನ್ನು ಪ್ರಶ್ನಿಸಿ, ಒಂದೇ ರೀತಿ ಕಾಣುವ ಎರಡು ಹೆಸರುಗಳನ್ನಲ್ಲ. ಒಂದೇ ಸ್ಟ್ರಿಂಗ್ಗೆ Windows ನಲ್ಲಿ ಯಶಸ್ಸು ಮತ್ತು WSL ನಲ್ಲಿ ವೈಫಲ್ಯ ಎರಡು ರಿಸಾಲ್ಯೂಶನ್ ಮಾರ್ಗಗಳ ಸಹಿ, ಮತ್ತು ಈ ಮಾದರಿಯನ್ನು ಇಷ್ಟು ಸ್ವಚ್ಛವಾಗಿ ಬೇರೆ ಯಾವುದೂ ಉತ್ಪಾದಿಸುವುದಿಲ್ಲ. WSL ಸೇವೆಯನ್ನು ಅದರ ತಿಳಿದಿರುವ ಸಂಖ್ಯಾತ್ಮಕ ವಿಳಾಸದಲ್ಲಿಯೂ ತಲುಪಲು ಸಾಧ್ಯವಾಗದಿದ್ದರೆ, ರೂಟಿಂಗ್ ಅಥವಾ ಫಿಲ್ಟರಿಂಗ್ ಸಮಸ್ಯೆಯೂ ಇದೆ. ಆ ಸಂದರ್ಭದಲ್ಲಿ DNS ಕೆಲಸ ಅದನ್ನು ಬಯಲು ಮಾಡುವುದಿಲ್ಲ, ಮತ್ತು ಮಧ್ಯಾಹ್ನ ತಪ್ಪು ಪದರಕ್ಕೆ ಹೋಗುತ್ತದೆ.
ಮೂರು ಲಕ್ಷಣಗಳು ಈ ಪ್ರಕರಣಗಳ ಬಹುಪಾಲನ್ನು ಆವರಿಸುತ್ತವೆ, ಮತ್ತು ಪ್ರತಿಯೊಂದೂ ಬೇರೆಡೆಗೆ ಸೂಚಿಸುತ್ತದೆ. ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್ ತೆರೆಯುವ ಮೊದಲು ಹೊಂದಿಕೆಯಾಗುವ ಸಾಲನ್ನು ಓದಿ:
| Symptom inside WSL | Likely layer | Where to look |
|---|---|---|
| Private name fails while public browsing works | Resolver path | Tunneling mode and the Windows build |
| A name that worked yesterday fails today | Stale override | Generated resolver file, immutable flag, shell profile |
| The name resolves but the service does not | Routing or filtering | The resolved address and the path to it |
ಮಧ್ಯದ ಸಾಲನ್ನು ಜನರು ತಪ್ಪಾಗಿ ಓದುತ್ತಾರೆ, ಏಕೆಂದರೆ ಅದನ್ನು ಒಡೆದ ಬದಲಾವಣೆ ವಾರಗಳ ಹಿಂದೆ ಮಾಡಲಾಗಿತ್ತು ಮತ್ತು ಆಗ ಯಶಸ್ವಿಯಾಗಿ ಕಂಡಿತು. ಮೂರನೇ ಸಾಲನ್ನು ಜನರು ತಪ್ಪಾಗಿ ನಿರ್ಣಯಿಸುತ್ತಾರೆ, ಏಕೆಂದರೆ ರಿಸಾಲ್ವ್ ಆಗುವ ಹೆಸರು ಜಾಲವು ಆರೋಗ್ಯಕರ ಎಂಬುದಕ್ಕೆ ಸಾಕ್ಷಿಯಂತೆ ಅನಿಸುತ್ತದೆ. ಎರಡೂ ಸಾಲುಗಳು ನಿಮ್ಮನ್ನು ಕೆಳಗಿನ ಬೇರೆ ವಿಭಾಗಕ್ಕೆ ಕಳುಹಿಸುತ್ತವೆ.
DNS ಸುರಂಗೀಕರಣಕ್ಕೆ ಕನಿಷ್ಠ ಆವೃತ್ತಿ ಮಿತಿ ಇದೆ
Microsoft ವರ್ಚುವಲೈಸೇಶನ್ ಚಾನಲ್ ಮೂಲಕ DNS ವಿನಂತಿಗಳನ್ನು Windows ರಿಸಾಲ್ವರ್ಗೆ ಸುರಂಗೀಕರಿಸುವ WSL ನೆಟ್ವರ್ಕಿಂಗ್ ಮೋಡ್ ಅನ್ನು ದಾಖಲಿಸುತ್ತದೆ. ಬೆಂಬಲಿತ Windows 11 ಬಿಲ್ಡ್ಗಳಲ್ಲಿ ಅದು ಡೀಫಾಲ್ಟ್ ಆಗಿ ಸಕ್ರಿಯವಾಗಿದೆ, ಆದ್ದರಿಂದ ಒಂದೇ ಕಾರ್ಪೊರೇಟ್ ಜಾಲದಲ್ಲಿ ಎರಡು ಯಂತ್ರಗಳು ವಿಭಿನ್ನವಾಗಿ ವರ್ತಿಸುತ್ತವೆ. ವ್ಯತ್ಯಾಸ ಬಿಲ್ಡ್ ಸಂಖ್ಯೆ, ಕಾರ್ಪೊರೇಟ್ ನೀತಿ ಅಲ್ಲ.
WSL ನೆಟ್ವರ್ಕಿಂಗ್ ಮಾರ್ಗದರ್ಶಿ ಆ ಮೋಡ್ ಮತ್ತು ಅದನ್ನು ಬೆಂಬಲಿಸುವ ಆವೃತ್ತಿಗಳನ್ನು ವಿವರಿಸುತ್ತದೆ. ಈ ವೈಶಿಷ್ಟ್ಯ ಮುಖ್ಯ ಏಕೆಂದರೆ ಕಾರ್ಪೊರೇಟ್ DNS ನೀತಿ ಸಾಮಾನ್ಯವಾಗಿ Windows ರಿಸಾಲ್ವರ್ನಲ್ಲಿ ಇರುತ್ತದೆ, ಮತ್ತು Windows ಮಾರ್ಗವನ್ನು ಬಳುವಳಿಯಾಗಿ ಪಡೆಯುವ ವಿತರಣೆ ನೀತಿಯನ್ನೂ ಜೊತೆಗೆ ಪಡೆಯುತ್ತದೆ. ಸಾರ್ವಜನಿಕ ರಿಸಾಲ್ವರ್ ಪ್ರಶ್ನಿಸುವ ವಿತರಣೆಗೆ ಖಾಸಗಿ ಹೆಸರಿಗೆ ಯಾವುದೇ ಮಾರ್ಗವಿಲ್ಲ, ಅದರ ಸ್ವಂತ ಕಾನ್ಫಿಗರೇಶನ್ ಎಷ್ಟೇ ಅಚ್ಚುಕಟ್ಟಾಗಿ ಕಂಡರೂ. ಆ ಕಾರ್ಯವಿಧಾನವೇ ಇಡೀ ಲಕ್ಷಣವನ್ನು ವಿವರಿಸುತ್ತದೆ, ಮತ್ತು ಸಾರ್ವಜನಿಕ-ರಿಸಾಲ್ವರ್ ಪರಿಹಾರ ಏಕೆ ವಿಫಲವಾಗುತ್ತದೆ ಎಂಬುದನ್ನೂ ವಿವರಿಸುತ್ತದೆ.
ಏನನ್ನಾದರೂ ಸಂಪಾದಿಸುವ ಮೊದಲು ಬಿಲ್ಡ್ ಓದಿ. ಹೊಸ ಸ್ಥಾಪನೆಯಿಂದ ನಕಲಿಸಿದ ಸೆಟ್ಟಿಂಗ್ ಹಳೆಯದು ಅದನ್ನು ಜಾರಿಗೊಳಿಸುತ್ತದೆ ಎಂಬುದಕ್ಕೆ ಸಾಕ್ಷಿಯಲ್ಲ. ಬದಲಾವಣೆಯ ಪಕ್ಕದಲ್ಲಿ ಬಿಲ್ಡ್ ಸಂಖ್ಯೆಯನ್ನು ದಾಖಲಿಸಿ, ಏಕೆಂದರೆ ಎರಡು ಯಂತ್ರಗಳ ನಡುವಿನ ವ್ಯತ್ಯಾಸ ಬಹುತೇಕ ಯಾವಾಗಲೂ ಆವೃತ್ತಿ, ನೀತಿ ಅಲ್ಲ.
ಹಳೆಯ ಓವರ್ರೈಡ್ಗಳು ತಾವು ಪರಿಹರಿಸಿದ ಸಮಸ್ಯೆಗಿಂತ ಹೆಚ್ಚು ಕಾಲ ಬದುಕುತ್ತವೆ
ಹಳೆಯ ವಿಧಾನಗಳು ರಚಿಸಲಾದ ರಿಸಾಲ್ವರ್ ಫೈಲ್ಗಳನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸುತ್ತಿದ್ದವು, ನೇಮ್ಸರ್ವರ್ ಅನ್ನು ಹಾರ್ಡ್ಕೋಡ್ ಮಾಡುತ್ತಿದ್ದವು, ಅಥವಾ ಫೈಲ್ ಅನ್ನು ಬದಲಾಗದ ಗುಣಲಕ್ಷಣದಿಂದ ಲಾಕ್ ಮಾಡುತ್ತಿದ್ದವು. ಆ ಬದಲಾವಣೆಗಳು ಅವನ್ನು ಪ್ರೇರೇಪಿಸಿದ ಸಂಪರ್ಕ ಸಮಸ್ಯೆ ಮಾಯವಾದ ನಂತರವೂ ಬಹಳ ಕಾಲ ಇದ್ದಲ್ಲೇ ಉಳಿಯುತ್ತವೆ, ಮತ್ತು ಸಾಮಾನ್ಯವಾಗಿ ಅವೇ ಹೊಸ ಸೆಟ್ಟಿಂಗ್ ಏನೂ ಮಾಡದಂತೆ ಕಾಣಲು ಕಾರಣ. ಅವು ಪ್ರತಿ ಲಾಗಿನ್ನಲ್ಲೂ ಫೈಲ್ ಅನ್ನು ಮರುಬರೆಯುವ shell ಪ್ರೊಫೈಲ್ನ ರೂಪದಲ್ಲಿ ವಿತರಣೆಯ ಮರುಸ್ಥಾಪನೆಯನ್ನೂ ದಾಟುತ್ತವೆ. ಕೊನೆಯದನ್ನು ಹುಡುಕುವುದು ಅತ್ಯಂತ ಕಷ್ಟ, ಏಕೆಂದರೆ ಎಲ್ಲರೂ ಪರಿಶೀಲಿಸುವ ಫೈಲ್ನಿಂದ ಅದು ಕಾಣುವುದಿಲ್ಲ.
ಕೈಯಿಂದ ಬರೆದ ರಿಸಾಲ್ವರ್ ಫೈಲ್, ಅದರ ಮೇಲೆ ಬದಲಾಗದ ಗುಣಲಕ್ಷಣ, ಮತ್ತು ಅದನ್ನು ಮರುಬರೆಯುವ ಸ್ಟಾರ್ಟ್ಅಪ್ ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಹುಡುಕಿ. ಸಂಪಾದಿಸುವ ಮೊದಲು ಬದಲಾಗದ ಫ್ಲ್ಯಾಗ್ ಪರಿಶೀಲಿಸಿ, ಏಕೆಂದರೆ ಲಾಕ್ ಆದ ಫೈಲ್ಗೆ ಬರೆಯುವುದು ಅನುಮತಿ ಸಮಸ್ಯೆಯಂತೆ ಓದುವ ರೀತಿಯಲ್ಲಿ ವಿಫಲವಾಗುತ್ತದೆ. ನಂತರ shell ಪ್ರೊಫೈಲ್ ಪರಿಶೀಲಿಸಿ, ಏಕೆಂದರೆ ಅಲ್ಲಿನ ಸ್ಕ್ರಿಪ್ಟ್ ನಿಮ್ಮ ಸರಿಪಡಿಸುವಿಕೆಯ ಕೆಲವು ಸೆಕೆಂಡುಗಳಲ್ಲಿ ಹಳೆಯ ವಿಷಯವನ್ನು ಮರುಸ್ಥಾಪಿಸುತ್ತದೆ.
ಓವರ್ರೈಡ್ ತೆಗೆದುಹಾಕುವುದಕ್ಕೆ ಪರಿಣಾಮಗಳಿವೆ, ಆದ್ದರಿಂದ ಏನನ್ನು ತೆಗೆದುಹಾಕಿದಿರಿ ಮತ್ತು ಏಕೆ ಎಂಬುದನ್ನು ದಾಖಲಿಸಿ. ಬೇರೆ ಉದ್ದೇಶಕ್ಕಾಗಿ ನಿಜವಾಗಿಯೂ ಸ್ಥಿರ ರಿಸಾಲ್ವರ್ ಬೇಕಿರುವ ವಿತರಣೆ ರಚಿಸಲಾದ ಫೈಲ್ ಮರಳಿದಾಗ ಒಡೆಯುತ್ತದೆ.
ಎರಡು ಫೈಲ್ಗಳು, ಎರಡು ಬೇರೆ ಪಾತ್ರಗಳು
ಎರಡು ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್ಗಳು ಬೇರೆ ಬೇರೆ ಸ್ಥಳಗಳಲ್ಲಿ ಇರುತ್ತವೆ ಮತ್ತು ಬೇರೆ ಬೇರೆ ವಿಷಯಗಳನ್ನು ನಿಯಂತ್ರಿಸುತ್ತವೆ, ಮತ್ತು ಅವನ್ನು ಗೊಂದಲ ಮಾಡಿಕೊಳ್ಳುವುದು ತಪ್ಪು ಪದರಕ್ಕೆ ಅನ್ವಯವಾಗುವ ಸಂಪಾದನೆಗಳನ್ನು ಉಂಟುಮಾಡುತ್ತದೆ. Windows ಬದಿಯ ಫೈಲ್ ವರ್ಚುವಲ್ ಯಂತ್ರದ ಗುಣಲಕ್ಷಣಗಳನ್ನು ಹೊಂದಿಸುತ್ತದೆ, ಆದರೆ ವಿತರಣೆ ಬದಿಯ ಫೈಲ್ ಆ ವಿತರಣೆ ತನ್ನದೇ ರಿಸಾಲ್ವರ್ ಕಾನ್ಫಿಗರೇಶನ್ ಅನ್ನು ಹೇಗೆ ಕಟ್ಟುತ್ತದೆ ಎಂಬುದನ್ನು ಹೊಂದಿಸುತ್ತದೆ. ಯಾವುದೂ ಇನ್ನೊಂದನ್ನು ಓವರ್ರೈಡ್ ಮಾಡುವುದಿಲ್ಲ, ಆದ್ದರಿಂದ ಎರಡೂ ಒಪ್ಪಬೇಕು.
ಈ ವೈಶಿಷ್ಟ್ಯವನ್ನು ಬೆಂಬಲಿಸುವ ಸ್ಥಾಪನೆಗೆ, Windows ಬದಿಯ ತುಣುಕು ಚಿಕ್ಕದು. ಆ ಬದಿಯ ಸಂಪೂರ್ಣ ಬದಲಾವಣೆ ಅದೇ:
[wsl2]
dnsTunneling=trueಆ ತುಣುಕು Windows ಬಳಕೆದಾರ ಪ್ರೊಫೈಲ್ಗೆ ಸೇರುತ್ತದೆ ಮತ್ತು ಒಂದು ವಿತರಣೆಗೆ ಅಲ್ಲ, ವರ್ಚುವಲ್ ಯಂತ್ರಕ್ಕೆ ಅನ್ವಯವಾಗುತ್ತದೆ. ಸುರಂಗೀಕರಣಕ್ಕೆ ವಿತರಣೆ ರಿಸಾಲ್ವರ್ ರಚನೆಯನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿರಬಾರದು ಎಂಬುದೂ ಬೇಕು, ಆದ್ದರಿಂದ ವಿತರಣೆ ಬದಿಯ ಫೈಲ್ ಆ ವರ್ತನೆಯನ್ನು ಸುಮ್ಮನೆ ಬಿಡಬೇಕು. ಒಂದನ್ನು ಇನ್ನೊಂದಿಲ್ಲದೆ ಬದಲಾಯಿಸಿ ಮತ್ತು ಮೋಡ್ ಸದ್ದಿಲ್ಲದೆ ಏನೂ ಮಾಡುವುದಿಲ್ಲ, ಮತ್ತು ಈ ಸರಿಪಡಿಸುವಿಕೆಯನ್ನು ಒಡೆದದ್ದು ಎಂದು ವರದಿ ಮಾಡುವ ಅತ್ಯಂತ ಸಾಮಾನ್ಯ ವಿಧಾನ ಅದೇ. ಒಂದೇ ಅವಧಿಯಲ್ಲಿ ಎರಡೂ ಫೈಲ್ಗಳನ್ನು ಪರಿಶೀಲಿಸಿ, ಏಕೆಂದರೆ ವಾರಗಳ ಅಂತರದಲ್ಲಿ ಮಾಡಿದ ಎರಡು ಸಂಪಾದನೆಗಳು ಯಾರೂ ಆರೋಪಿಸಲಾಗದ ಎರಡು ಸಂಪಾದನೆಗಳು.
ಮರುಪ್ರಾರಂಭಿಸಿ, ನಂತರ ಎರಡೂ ಬದಿಗಳಿಂದ ಪ್ರಶ್ನಿಸಿ
ಈ ಸೆಟ್ಟಿಂಗ್ಗಳು ಪರಿಸರ ಪ್ರಾರಂಭವಾದಾಗ ಓದಲ್ಪಡುತ್ತವೆ, ಆದ್ದರಿಂದ ಚಾಲನೆಯಲ್ಲಿರುವ ವಿತರಣೆಯ ಒಳಗಿನ ಹೊಸ shell ಅವನ್ನು ಮತ್ತೆ ಲೋಡ್ ಮಾಡುವುದಿಲ್ಲ. shell ಅನ್ನು ಮರುಪ್ರಾರಂಭಿಸುವ ಬದಲು ಪರಿಸರವನ್ನು ಆಫ್ ಮಾಡಿ, ಮತ್ತು ಮೊದಲು ಚಾಲನೆಯಲ್ಲಿರುವ ಕೆಲಸವನ್ನು ಉಳಿಸಿ ಏಕೆಂದರೆ ಪ್ರತಿ ವಿತರಣೆಯೂ ಅದರೊಂದಿಗೆ ನಿಲ್ಲುತ್ತದೆ. ಈ ಒಂದು ಬಿಟ್ಟುಬಿಡುವಿಕೆಯೇ ಬದಲಾವಣೆಗೆ ಯಾವುದೇ ಪರಿಣಾಮವಿಲ್ಲ ಎಂಬ ಹೆಚ್ಚಿನ ವರದಿಗಳನ್ನು ವಿವರಿಸುತ್ತದೆ.
ನಂತರ ಎರಡೂ ಬದಿಗಳಿಗೆ ಅದೇ ಪ್ರಶ್ನೆ ಕೇಳಿ. ಔಟ್ಪುಟ್ ವಿತರಣೆ ಕೊನೆಗೆ ಯಾವ ರಿಸಾಲ್ವರ್ನೊಂದಿಗೆ ಉಳಿಯಿತು ಎಂಬುದನ್ನೂ ತೋರಿಸುತ್ತದೆ:
wsl.exe --shutdown
wsl.exe -e sh -c 'cat /etc/resolv.conf'
wsl.exe -e sh -c 'getent hosts files.corp.example'
wsl.exe -e powershell -Command 'Resolve-DnsName files.corp.example'ಮೊದಲ ಆಜ್ಞೆ ಪರಿಸರವನ್ನು ಮುಗಿಸುತ್ತದೆ, ಎರಡನೆಯದು ವಿತರಣೆ ಈಗ ಯಾವ ರಿಸಾಲ್ವರ್ ಬಳಸುತ್ತದೆ ಎಂಬುದನ್ನು ತೋರಿಸುತ್ತದೆ, ಮತ್ತು ಕೊನೆಯ ಎರಡು ಪ್ರತಿ ಬದಿಗೂ ಅದೇ ಪ್ರಶ್ನೆ ಹಾಕುತ್ತವೆ. ಸೆಟ್ಟಿಂಗ್ನ ಸ್ಥಿತಿಯನ್ನಲ್ಲ, ಉತ್ತರಗಳನ್ನು ಹೋಲಿಸಿ. ಎರಡೂ ಫೈಲ್ಗಳು ಸರಿಯಾಗಿದ್ದರೂ ಸ್ವಚ್ಛ ಮರುಪ್ರಾರಂಭದ ನಂತರವೂ ವಿಫಲವಾಗುವ ಪ್ರಶ್ನೆ ಕಾರ್ಪೊರೇಟ್ ರಿಸಾಲ್ವರ್ ನೀತಿಯನ್ನು ಸೂಚಿಸುತ್ತದೆ, ಮತ್ತು ಆ ಸಂಭಾಷಣೆಯ ಮಾಲೀಕ ಬೇರೆ.