ਡਿਸਟ੍ਰੀਬਿਊਸ਼ਨ ਦੇ ਅੰਦਰ ਬ੍ਰਾਊਜ਼ਿੰਗ ਕੰਮ ਕਰਦੀ ਹੈ, ਅਤੇ ਟਨਲ ਉੱਪਰ ਆਉਂਦਿਆਂ ਹੀ ਪਹਿਲਾ ਅੰਦਰੂਨੀ ਹੋਸਟਨਾਮ ਫੇਲ੍ਹ ਹੋ ਜਾਂਦਾ ਹੈ। ਸੁਭਾਵਿਕ ਪ੍ਰਤੀਕਿਰਿਆ ਹੈ ਜਨਤਕ ਰਿਜ਼ੋਲਵਰ ਸ਼ਾਮਲ ਕਰਨਾ, ਜੋ ਇੰਟਰਨੈੱਟ ਵਾਪਸ ਲਿਆਉਂਦਾ ਹੈ ਅਤੇ ਬਾਕੀ ਦਿਨ ਲਈ ਕਾਰਪੋਰੇਟ ਨਾਮ ਅਪਹੁੰਚ ਬਣਾ ਦਿੰਦਾ ਹੈ। 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 ਕੈਸ਼ ਕੀਤੇ ਜਾਂ ਸ਼ਬਦੀ ਪਤੇ ਉੱਤੇ ਸਫਲ ਹੋ ਸਕਦਾ ਹੈ। ਫਿਰ ਕਨੈਕਸ਼ਨ ਤੋੜ ਕੇ ਦੁਬਾਰਾ ਜੋੜਨ ਤੋਂ ਬਾਅਦ ਦੁਹਰਾਓ, ਕਿਉਂਕਿ ਇੱਕ ਵਾਰ ਕੰਮ ਕਰਕੇ ਮੁੜ ਸ਼ੁਰੂ ਹੋਣ ਵੇਲੇ ਦੁਬਾਰਾ ਬਣਨ ਵਾਲੀ ਸੈਟਿੰਗ ਕਦੇ ਠੀਕ ਨਹੀਂ ਹੋਈ। ਪਿਛਲੀ ਸਮੱਗਰੀ ਸੰਭਾਲੋ ਅਤੇ ਨੋਟ ਕਰੋ ਕਿ ਉਸ ਮਸ਼ੀਨ ਉੱਤੇ ਰਾਹ ਕਿਸ ਹਿੱਸੇ ਦੀ ਮਾਲਕੀ ਹੈ, ਤਾਂ ਜੋ ਅਗਲੀ ਤਬਦੀਲੀ ਸਬੂਤ ਨਾਲ ਸ਼ੁਰੂ ਹੋਵੇ।

ਸੰਬੰਧਿਤ ਲੇਖ