ਤੁਸੀਂ ਰਿਜ਼ੌਲਵਰ ਪਤਾ ਅਤੇ ਕੰਪਨੀ ਡੋਮੇਨ ਵਾਲੀ ਇੱਕ ਲਾਈਨ ਲਿਖਦੇ ਹੋ, ਅਤੇ ਉਮੀਦ ਕਰਦੇ ਹੋ ਕਿ ਸਿਰਫ਼ ਉਸ ਡੋਮੇਨ ਦੇ ਨਾਮ ਟਨਲ ਰਿਜ਼ੌਲਵਰ ਵਰਤਣਗੇ। Apple ਕਲਾਇੰਟ ’ਤੇ ਹੁਣ ਸਾਰੇ ਨਾਮ ਉੱਥੇ ਜਾਂਦੇ ਹਨ, ਅਤੇ ਡੋਮੇਨ ਦੇ ਛੋਟੇ ਨਾਮ ਵੀ ਹੱਲ ਹੁੰਦੇ ਹਨ। ਲਾਈਨ ਦੋ ਵੱਖਰੇ ਕੰਮ ਕਰਦੀ ਹੈ, ਅਤੇ ਉਨ੍ਹਾਂ ਵਿੱਚੋਂ ਸਿਰਫ਼ ਇੱਕ ਇਸ ਬਾਰੇ ਹੈ ਕਿ ਟਨਲ ਕਿਹੜੀਆਂ ਕਵੈਰੀਆਂ ਸੰਭਾਲਦਾ ਹੈ। ਦੂਜਾ ਟਾਈਪਿੰਗ ਦੀ ਸੁਵਿਧਾ ਹੈ, ਜਿਸ ਨੂੰ ਇੱਛਾਪੂਰਨ ਪੜ੍ਹਤ ਨੇ ਨੀਤੀ ਤੱਕ ਉਚਾ ਕੀਤਾ।

DNS ਲਾਈਨ ਕਿਸ ਵਿੱਚ ਪਾਰਸ ਹੁੰਦੀ ਹੈ

ਕਲਾਇੰਟ ਐਂਟਰੀ ਨੂੰ ਸੂਚੀ ਵਜੋਂ ਪੜ੍ਹਦਾ ਹੈ ਅਤੇ ਹਰ ਆਈਟਮ ਨੂੰ ਉਸਦੀ ਸ਼ਕਲ ਅਨੁਸਾਰ ਵਰਗੀਕ੍ਰਿਤ ਕਰਦਾ ਹੈ। ਪਤੇ ਵਰਗਾ ਦਿਸਣ ਵਾਲਾ ਕੁਝ ਵੀ DNS ਸਰਵਰ ਬਣ ਜਾਂਦਾ ਹੈ; ਡੋਮੇਨ ਵਰਗਾ ਦਿਸਣ ਵਾਲਾ ਕੁਝ ਵੀ ਖੋਜ ਸਫ਼ਿਕਸ ਬਣ ਜਾਂਦਾ ਹੈ। ਦੋਵੇਂ ਟਨਲ ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਪਹੁੰਚਦੇ ਹਨ, ਪਰ ਵੱਖਰੇ ਫ਼ੀਲਡ ਵਿੱਚ। ਨਿੱਜੀ ਰਿਜ਼ੌਲਵਰ ਅਤੇ ਇੱਕ ਅੰਦਰੂਨੀ ਡੋਮੇਨ ਢੋਣ ਵਾਲੇ ਟਨਲ ਲਈ ਉਦਾਹਰਨ ਲਾਈਨ ਅਜਿਹੀ ਦਿਸਦੀ ਹੈ।

DNS = 10.24.8.53, lab.internal.example

ਪਤਾ ਰਿਜ਼ੌਲਵਰ ਦਿੰਦਾ ਹੈ। ਡੋਮੇਨ ਇੱਕ ਸਫ਼ਿਕਸ ਦਿੰਦਾ ਹੈ ਜੋ ਕਲਾਇੰਟ ਨੂੰ ਛੋਟਾ ਨਾਮ ਟਾਈਪ ਕਰਨ ਦਿੰਦਾ ਹੈ ਅਤੇ ਸਿਸਟਮ ਨੂੰ ਪੁੱਛਣ ਤੋਂ ਪਹਿਲਾਂ ਬਾਕੀ ਜੋੜਨ ਦਿੰਦਾ ਹੈ। ਦੋਹਾਂ ਵਿੱਚੋਂ ਕੋਈ ਵੀ ਰਿਜ਼ੌਲਵਰ ਨੂੰ ਉਸ ਡੋਮੇਨ ਤੱਕ ਸੀਮਤ ਕਰਨ ਬਾਰੇ ਕੁਝ ਨਹੀਂ ਕਹਿੰਦਾ, ਅਤੇ ਲੋਕ ਠੀਕ ਇਹੀ ਹਿੱਸਾ ਚਾਹੁੰਦੇ ਹਨ ਪਰ ਪਾਉਂਦੇ ਨਹੀਂ। ਪਲੇਟਫਾਰਮ ’ਤੇ ਸਿਰਫ਼ ਇੱਕ ਫ਼ੀਲਡ ਇਹ ਪਾਬੰਦੀ ਦੱਸ ਸਕਦੀ ਹੈ, ਅਤੇ ਉਹ ਇਹ ਫ਼ੀਲਡ ਨਹੀਂ ਹੈ।

Apple ਦੀਆਂ ਦੋ ਫ਼ੀਲਡਾਂ, ਦੋ ਵੱਖਰੇ ਕੰਮ

Apple ਆਪਣੇ DNS ਸੈਟਿੰਗਾਂ ਆਬਜੈਕਟ ਵਿੱਚ ਇਹ ਫ਼ਰਕ ਦਿਖਾਉਂਦਾ ਹੈ। ਖੋਜ-ਡੋਮੇਨ ਸੂਚੀ ਨੂੰ ਇੱਕ-ਲੇਬਲ ਹੋਸਟਨਾਮ ਨੂੰ ਯੋਗ ਬਣਾਉਣ ਲਈ ਵਰਤੀ ਜਾਣ ਵਾਲੀ ਸੂਚੀ ਵਜੋਂ ਦਰਜ ਕੀਤਾ ਗਿਆ ਹੈ: ਖਾਲੀ ਹੋਸਟਨਾਮ ਟਾਈਪ ਕਰੋ ਅਤੇ ਸਿਸਟਮ ਹਰ ਸਫ਼ਿਕਸ ਵਾਰੀ-ਵਾਰੀ ਜੋੜ ਸਕਦਾ ਹੈ। ਇਹ ਪੂਰਤੀ ਦਾ ਨਿਯਮ ਹੈ, ਰਾਊਟਿੰਗ ਦਾ ਨਿਯਮ ਨਹੀਂ। ਉਸ ਸੂਚੀ ਵਿੱਚ ਕੁਝ ਵੀ ਇਹ ਤੈਅ ਨਹੀਂ ਕਰਦਾ ਕਿ ਕਿਹੜੇ ਸਰਵਰ ਨੂੰ ਪੁੱਛਿਆ ਜਾਵੇਗਾ।

ਮਿਲਾਨ-ਡੋਮੇਨ ਸੂਚੀ ਇੱਕ ਵੱਖਰੀ ਵਿਸ਼ੇਸ਼ਤਾ ਹੈ। ਇਹ ਤੈਅ ਕਰਦੀ ਹੈ ਕਿ ਕਿਹੜੇ ਨੇਮਸਪੇਸ ਇਹ DNS ਸੈਟਿੰਗਾਂ ਵਰਤਦੇ ਹਨ, ਅਤੇ ਖਾਲੀ ਐਂਟਰੀ ਦਾ ਮਤਲਬ ਡਿਫ਼ਾਲਟ ਡੋਮੇਨ ਹੈ, ਕੋਈ ਖ਼ਾਸ ਸਫ਼ਿਕਸ ਨਹੀਂ। ਪੈਕਟ-ਟਨਲ ਸੈਟਿੰਗਾਂ ਜਨਰੇਟਰ Apple ਕਲਾਇੰਟ ਵਿੱਚ ਉਸ ਮਾਡਲ ਦੀ ਪਾਲਣਾ ਕਰਦਾ ਹੈ। ਇਹ ਪਾਰਸ ਕੀਤੇ ਖੋਜ ਸਫ਼ਿਕਸਾਂ ਨੂੰ ਖੋਜ ਸੂਚੀ ਵਿੱਚ ਰੱਖਦਾ ਹੈ, ਅਤੇ ਸਰਵਰ ਹੋਣ ’ਤੇ ਮਿਲਾਨ ਸੂਚੀ ਨੂੰ ਖਾਲੀ ਸਟ੍ਰਿੰਗ ’ਤੇ ਸੈੱਟ ਕਰਦਾ ਹੈ। ਨਤੀਜਾ ਇੱਕ ਟਨਲ ਰਿਜ਼ੌਲਵਰ ਹੈ ਜੋ ਸਿਸਟਮ ਵੱਲੋਂ ਭੇਜੇ ਹਰ ਚੀਜ਼ ਦਾ ਜਵਾਬ ਦਿੰਦਾ ਹੈ, ਨਾਲ ਹੀ ਇੱਕ ਸਫ਼ਿਕਸ ਜੋ ਛੋਟੇ ਨਾਮਾਂ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ।

ਇਸ ਲਈ ਉਸ ਲਾਈਨ ’ਤੇ ਡੋਮੇਨ ਨੇਮਸਪੇਸ ਚੋਣਕਾਰ ਨਹੀਂ ਹੈ। ਦੂਜਾ ਜੋੜਨ ਨਾਲ ਇਹ ਸੰਕੁਚਿਤ ਨਹੀਂ ਹੁੰਦਾ ਕਿ ਟਨਲ ਕਿਹੜੀਆਂ ਕਵੈਰੀਆਂ ਵਰਤਦਾ ਹੈ, ਅਤੇ ਹਟਾਉਣ ਨਾਲ ਉਹ ਫੈਲਦੀਆਂ ਵੀ ਨਹੀਂ। ਸਿਰਫ਼ ਇੱਕ ਚੀਜ਼ ਬਦਲਦੀ ਹੈ: ਕਿੰਨੇ ਛੋਟੇ ਨਾਮ ਪੂਰੇ ਹੁੰਦੇ ਹਨ।

ਕਿਉਂ ਹਰ ਨਾਮ ਅਜੇ ਵੀ ਟਨਲ ਰਿਜ਼ੌਲਵਰ ਤੱਕ ਪਹੁੰਚਦਾ ਹੈ

ਖਾਲੀ ਮਿਲਾਨ ਐਂਟਰੀ ਨਾਲ, ਟਨਲ ਆਮ ਨਾਮਾਂ ਲਈ ਉਮੀਦਵਾਰ ਰਿਜ਼ੌਲਵਰ ਹੈ, ਸਿਰਫ਼ ਕੰਪਨੀ ਡੋਮੇਨ ਲਈ ਨਹੀਂ। ਪੂਰੀ-ਟਨਲ ਕਾਨਫ਼ਿਗਰੇਸ਼ਨ ਵਿੱਚ ਇਹ ਆਮ ਤੌਰ ’ਤੇ ਘੱਟ ਮਾਇਨੇ ਰੱਖਦਾ ਹੈ, ਕਿਉਂਕਿ ਸਾਰਾ ਟ੍ਰੈਫ਼ਿਕ ਪਹਿਲਾਂ ਹੀ ਟਨਲ ਵਿੱਚ ਹੁੰਦਾ ਹੈ। ਵਿਭਾਜਿਤ ਟਨਲ ਵਿੱਚ ਇਹ ਬਹੁਤ ਮਾਇਨੇ ਰੱਖਦਾ ਹੈ। ਜਨਤਕ ਨਾਮ ਹੁਣ ਸਿਰਫ਼ ਨਿੱਜੀ ਜ਼ੋਨ ਰੱਖਣ ਵਾਲੇ ਰਿਜ਼ੌਲਵਰ ਦੁਆਰਾ ਹੱਲ ਹੋ ਸਕਦੇ ਹਨ, ਅਤੇ ਅਸਫ਼ਲਤਾ ਟੁੱਟੇ VPN ਵਰਗੀ ਦਿਸਦੀ ਹੈ ਜਦੋਂ ਕਿ ਅਸਲ ਵਿੱਚ ਇਹ ਨੇਮਸਪੇਸ ਦੇ ਸਿਰਫ਼ ਇੱਕ ਹਿੱਸੇ ਦਾ ਜਵਾਬ ਦੇਣ ਵਾਲਾ ਰਿਜ਼ੌਲਵਰ ਹੈ। ਟਨਲ ਠੀਕ ਹੈ, ਕਵੈਰੀਆਂ ਬਾਹਰ ਜਾਂਦੀਆਂ ਹਨ, ਅਤੇ ਜਵਾਬ ਖਾਲੀ ਵਾਪਸ ਆਉਂਦੇ ਹਨ।

ਦੋ ਸੁਧਾਰ ਉਪਲਬਧ ਹਨ ਅਤੇ ਉਹ ਵੱਖਰੇ ਫ਼ੈਸਲੇ ਹਨ। ਟਨਲ ਰਿਜ਼ੌਲਵਰ ਨੂੰ ਪੂਰਾ ਰਿਜ਼ੌਲਵਰ ਬਣਾਓ ਜੋ ਜਨਤਕ ਨਾਮ ਮਨਜ਼ੂਰ ਰਸਤੇ ਰਾਹੀਂ ਅੱਗੇ ਭੇਜਦਾ ਹੈ, ਜਾਂ ਡੋਮੇਨ ਸੂਚੀ ਦੀ ਥਾਂ ਕਲਾਇੰਟ ਕਾਨਫ਼ਿਗਰੇਸ਼ਨ ਬਦਲ ਕੇ ਜਨਤਕ ਨਾਮ ਉੱਥੇ ਭੇਜਣਾ ਬੰਦ ਕਰੋ। ਪਹਿਲਾ ਹਰ ਕਵੈਰੀ ਟਨਲ ’ਤੇ ਰੱਖਦਾ ਹੈ ਅਤੇ ਉੱਪਰਲੇ ਪ੍ਰਵਾਹ ’ਤੇ ਭਰੋਸਾ ਕਰਦਾ ਹੈ। ਦੂਜਾ ਕੁਝ ਕਵੈਰੀਆਂ ਸਥਾਨਕ ਰੱਖਦਾ ਹੈ ਅਤੇ ਮੰਨਦਾ ਹੈ ਕਿ ਟਨਲ ਬੰਦ ਹੋਣ ’ਤੇ ਨਿੱਜੀ ਨਾਮ ਹੱਲ ਹੋਣਾ ਬੰਦ ਹੋ ਸਕਦਾ ਹੈ।

ਵਿਭਾਜਿਤ DNS ਨੂੰ ਅਸਲ ਵਿੱਚ ਕੀ ਚਾਹੀਦਾ ਹੋਵੇਗਾ

ਨੇਮਸਪੇਸ-ਸੀਮਤ ਰਿਜ਼ੌਲਵਰ ਨੀਤੀ ਲਈ ਅਜਿਹਾ ਕਲਾਇੰਟ ਚਾਹੀਦਾ ਹੈ ਜੋ ਤੁਹਾਨੂੰ ਇਸਨੂੰ ਦੱਸਣ ਦੇਵੇ: Apple ਪਲੇਟਫਾਰਮਾਂ ’ਤੇ ਡੋਮੇਨ ਮਿਲਾਓ, ਜਾਂ ਤੁਸੀਂ ਵਰਤਦੇ ਉਤਪਾਦ ਵਿੱਚ ਬਰਾਬਰ ਸੈਟਿੰਗ। ਸਿਰਫ਼ ਸਰਵਰ ਅਤੇ ਸਫ਼ਿਕਸ ਸਵੀਕਾਰ ਕਰਨ ਵਾਲੀ ਕਾਨਫ਼ਿਗਰੇਸ਼ਨ ਫ਼ੀਲਡ ਇਸਨੂੰ ਕਿਵੇਂ ਵੀ ਵਿਰਾਮ ਚਿੰਨ੍ਹ ਲਾਇਆ ਜਾਵੇ, ਦੱਸ ਨਹੀਂ ਸਕਦੀ। ਪ੍ਰੋਫ਼ਾਈਲ ਇਹ ਨੀਤੀ ਢੋ ਸਕਦੀ ਹੈ, ਕਿਉਂਕਿ ਇਹ ਕਨੈਕਟ ਸਮੇਂ ਦਾ ਸੰਕੇਤ ਨਹੀਂ, ਸੰਚਾਲਿਤ ਕਾਨਫ਼ਿਗਰੇਸ਼ਨ ਦੱਸਦੀ ਹੈ। ਇਹ ਡੋਮੇਨ, ਸਰਵਰ ਅਤੇ ਉਹ ਦੱਸ ਸਕਦੀ ਹੈ ਜੋ ਉਸ ਡੋਮੇਨ ਦੇ ਨਾ ਪਹੁੰਚਣ ’ਤੇ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ। ਸੈਟਿੰਗ ਅਤੇ ਇਕਰਾਰਨਾਮੇ ਵਿਚਕਾਰ ਇਹੀ ਫ਼ਰਕ ਹੈ।

ਸੰਚਾਲਿਤ Apple ਡਿਵਾਈਸਾਂ ’ਤੇ ਇਹ ਆਮ ਤੌਰ ’ਤੇ ਅਜਿਹੀ ਕਾਨਫ਼ਿਗਰੇਸ਼ਨ ਪ੍ਰੋਫ਼ਾਈਲ ਰਾਹੀਂ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ ਜੋ ਡੋਮੇਨ-ਖ਼ਾਸ DNS ਸੈਟਿੰਗਾਂ ਢੋਂਦੀ ਹੈ। ਇਹ WireGuard ਕਾਨਫ਼ਿਗਰੇਸ਼ਨ ਫ਼ਾਈਲ ਤੋਂ ਵੱਖਰਾ ਸੰਜੀਵਨ ਹੈ, ਅਤੇ ਦੋਵੇਂ ਇਕੱਠੇ ਤਾਂ ਹੀ ਰਹਿ ਸਕਦੇ ਹਨ ਜੇ ਕਲਾਇੰਟ ਪ੍ਰੋਫ਼ਾਈਲ ਦਾ ਸਤਿਕਾਰ ਕਰੇ। ਇਹ ਮੰਨਣ ਤੋਂ ਪਹਿਲਾਂ ਕਿ ਦੋਵੇਂ ਉਤਪਾਦ ਇੱਕੋ ਜਿਹਾ ਵਿਵਹਾਰ ਕਰਦੇ ਹਨ, ਵੇਖੋ ਕਿ ਤੁਹਾਡਾ ਕਲਾਇੰਟ ਉਸ ਫ਼ੀਲਡ ਨੂੰ ਅਸਲ ਵਿੱਚ ਕੀ ਕਹਿੰਦਾ ਹੈ। Mac ’ਤੇ wg-quick ਸਕ੍ਰਿਪਟ ਅਤੇ iPhone ’ਤੇ WireGuard ਐਪ ਸਮਾਨ ਲਾਈਨਾਂ ਪੜ੍ਹਦੇ ਹਨ ਅਤੇ ਉਨ੍ਹਾਂ ਨੂੰ ਵੱਖਰੀਆਂ ਪਰਤਾਂ ਰਾਹੀਂ ਸਥਾਪਿਤ ਕਰਦੇ ਹਨ।

ਸਥਾਪਿਤ ਸੈਟਿੰਗਾਂ ਪੜ੍ਹੋ, ਕਾਨਫ਼ਿਗ ਨਹੀਂ

Mac ’ਤੇ ਤੁਸੀਂ ਵੇਖ ਸਕਦੇ ਹੋ ਕਿ ਸਿਸਟਮ ਆਖ਼ਰ ਵਿੱਚ ਕਿੱਥੇ ਪਹੁੰਚਿਆ, ਜੋ ਤੁਹਾਡੀ ਲਿਖੀ ਫ਼ਾਈਲ ਦੁਬਾਰਾ ਪੜ੍ਹਨ ਨਾਲੋਂ ਵਧੇਰੇ ਜਾਣਕਾਰੀ ਦਿੰਦਾ ਹੈ। ਰਿਜ਼ੌਲਵਰ ਸੂਚੀ ਦਿਖਾਉਂਦੀ ਹੈ ਕਿ ਕਿਹੜੇ ਸਰਵਰ ਕਿਹੜੇ ਡੋਮੇਨ ਲਈ ਕਾਨਫ਼ਿਗਰ ਹਨ, ਅਤੇ ਦਾਇਰਾ-ਬੱਧ ਕਵੈਰੀਆਂ ਦਿਖਾਉਂਦੀਆਂ ਹਨ ਕਿ ਕਿਹੜੀ ਜਿੱਤੀ। ਲਾਈਨ ਵਿਗਾੜਨ ਵਾਲਾ ਕਲਾਇੰਟ ਇਹ ਤੁਹਾਡੀ ਲਿਖੀ ਫ਼ਾਈਲ ਵਿੱਚ ਨਹੀਂ, ਇੱਥੇ ਦਿਖਾਉਂਦਾ ਹੈ। iOS ’ਤੇ ਬਰਾਬਰ ਕਮਾਂਡ ਲਾਈਨ ਨਹੀਂ ਹੈ, ਇਸ ਲਈ ਉੱਥੇ ਸਬੂਤ ਇੱਕ ਨਤੀਜਾ ਹੈ: ਟਨਲ ਰਾਹੀਂ ਹੱਲ ਹੋਣ ਵਾਲਾ ਨਿੱਜੀ ਨਾਮ, ਅਤੇ ਅਜਿਹਾ ਜਨਤਕ ਨਾਮ ਜਿਸਦਾ ਜਵਾਬ ਦੱਸਦਾ ਹੈ ਕਿ ਕਿਹੜੇ ਰਿਜ਼ੌਲਵਰ ਨੇ ਜਵਾਬ ਦਿੱਤਾ।

scutil --dns | grep -A3 resolver
networksetup -getdnsservers Wi-Fi

ਇਹ ਦੋ ਕਮਾਂਡਾਂ ਮੌਜੂਦਾ ਰਿਜ਼ੌਲਵਰ ਕਾਨਫ਼ਿਗਰੇਸ਼ਨ ਅਤੇ ਸਰਗਰਮ ਸੇਵਾ ਦੇ DNS ਸਰਵਰ ਛਾਪਦੀਆਂ ਹਨ। ਜੇ ਟਨਲ ਰਿਜ਼ੌਲਵਰ ਕਿਸੇ ਡੋਮੇਨ ਪਾਬੰਦੀ ਤੋਂ ਬਿਨਾਂ ਡਿਫ਼ਾਲਟ ਰਿਜ਼ੌਲਵਰ ਵਜੋਂ ਦਿਸਦਾ ਹੈ, ਤਾਂ ਕਾਨਫ਼ਿਗਰੇਸ਼ਨ ਠੀਕ ਉਹੀ ਕਰ ਰਹੀ ਹੈ ਜੋ ਕਲਾਇੰਟ ਨੇ ਮੰਗਿਆ ਸੀ। ਸੰਜੀਵਨ ਬਦਲ ਕੇ ਇਸਨੂੰ ਠੀਕ ਕਰੋ, ਦੂਜਾ ਸਫ਼ਿਕਸ ਜੋੜ ਕੇ ਵਿਵਹਾਰ ਬਦਲਣ ਦੀ ਉਮੀਦ ਕਰਕੇ ਨਹੀਂ।

ਸੰਬੰਧਿਤ ਲੇਖ