ਦੂਜੀ VPN ਟਨਲ ਪਹਿਲੀ ਨੂੰ ਕਿਉਂ ਤੋੜਦੀ ਹੈ?
ਦੂਜਾ VPN ਕਲਾਇੰਟ ਦੋ ਅੱਧ-ਡਿਫਾਲਟ ਰੂਟ ਸਥਾਪਿਤ ਕਰਦਾ ਹੈ ਅਤੇ ਪਹਿਲੀ ਟਨਲ ਹਨੇਰੀ ਹੋ ਜਾਂਦੀ ਹੈ: ਕਿਹੜਾ ਰੂਟ ਜਿੱਤਦਾ ਹੈ ਪੜ੍ਹੋ, ਫਿਰ ਪ੍ਰੋਫਾਈਲ, ਟੇਬਲ ਜਾਂ ਨੇਮਸਪੇਸ ਨਾਲ ਵੱਖ ਕਰੋ।
ਇੱਕ ਗਾਹਕ ਨੈੱਟਵਰਕ ਤੱਕ ਪਹੁੰਚਣ ਲਈ ਦੂਜਾ VPN ਕਲਾਇੰਟ ਸਥਾਪਿਤ ਕਰਨਾ ਇਸ ਦੇ ਸ਼ੁਰੂ ਹੋਣ ਦਾ ਆਮ ਤਰੀਕਾ ਹੈ, ਅਤੇ ਦੋਵੇਂ ਕਲਾਇੰਟ ਸਫਲਤਾ ਦੀ ਰਿਪੋਰਟ ਕਰਦੇ ਹਨ ਜਦੋਂ ਕਿ ਪਹਿਲੀ ਟਨਲ ਹਨੇਰੀ ਹੋ ਜਾਂਦੀ ਹੈ। ਹਰ ਕਲਾਇੰਟ ਨੇ ਡਿਫਾਲਟ ਰੂਟ ਸਥਾਪਿਤ ਕੀਤਾ, ਦੂਜਾ ਵਧੇਰੇ ਖਾਸ ਸੀ, ਅਤੇ ਕਰਨਲ ਹੁਣ ਪਹਿਲੀ ਟਨਲ ਦੇ ਆਪਣੇ ਬਾਹਰੀ ਕਨੈਕਸ਼ਨ ਤੋਂ ਇਲਾਵਾ ਸਭ ਲਈ ਉਸ ਦੀ ਪਾਲਣਾ ਕਰਦਾ ਹੈ। ਕੁਝ ਨਹੀਂ ਡਿੱਗਿਆ ਅਤੇ ਕੋਈ ਪ੍ਰੋਫਾਈਲ ਗਲਤ ਨਹੀਂ ਹੈ। ਇੱਕ ਰੂਟ ਨੇ ਦੂਜੇ ਦੀ ਥਾਂ ਲਈ, ਅਤੇ ਹੱਲ ਇਹ ਤੈਅ ਕਰਨਾ ਹੈ ਕਿ ਕਿਹੜੀ ਟਨਲ ਡਿਫਾਲਟ ਦੀ ਮਾਲਕ ਹੋਣੀ ਚਾਹੀਦੀ ਹੈ।
ਲੱਛਣ: ਦੂਜਾ ਕਲਾਇੰਟ ਚੁੱਪਚਾਪ ਜਿੱਤਦਾ ਹੈ
OpenVPN: redirect-gateway def1 ਵਿਕਲਪ 0.0.0.0/0 ਨੂੰ ਦੁਬਾਰਾ ਨਹੀਂ ਲਿਖਦਾ। ਇਹ 0.0.0.0/1 ਅਤੇ 128.0.0.0/1 ਜੋੜਦਾ ਹੈ: ਦੋਵੇਂ ਮਿਲ ਕੇ ਹਰ IPv4 ਪਤੇ ਨੂੰ ਢੱਕਦੇ ਹਨ, ਅਤੇ ਹਰ ਪ੍ਰੀਫਿਕਸ ਲੰਬਾਈ ਵਿੱਚ ਸਾਧਾਰਨ ਡਿਫਾਲਟ ਨੂੰ ਹਰਾਉਂਦਾ ਹੈ। ਮੂਲ ਡਿਫਾਲਟ ਟੇਬਲ ਵਿੱਚ ਰਹਿੰਦਾ ਹੈ ਅਤੇ ਆਮ ਟ੍ਰੈਫਿਕ ਲਈ ਵਰਤਿਆ ਜਾਣਾ ਬੰਦ ਹੋ ਜਾਂਦਾ ਹੈ, ਅਤੇ VPN ਸਰਵਰ ਵੱਲ ਹੋਸਟ ਰੂਟ ਟਨਲ ਨੂੰ ਆਪਣੇ ਬਾਹਰੀ ਪੈਕੇਟ ਫੜਨ ਤੋਂ ਰੋਕਦਾ ਹੈ। ਦੋਵੇਂ ਕਲਾਇੰਟ ਇਹ ਕਰਦੇ ਹਨ, ਅਤੇ ਦੂਜਾ ਸਿਰਫ਼ ਆਪਣੀ ਜੋੜੀ ਬਾਅਦ ਵਿੱਚ ਸਥਾਪਿਤ ਕਰਦਾ ਹੈ।
ਇਸ ਲਈ ਪਹਿਲੀ ਟਨਲ ਡਿਸਕਨੈਕਟ ਨਹੀਂ ਸਗੋਂ ਮਰੀ ਦਿਖਦੀ ਹੈ। ਇਸ ਦਾ ਇੰਟਰਫੇਸ ਉੱਪਰ ਹੈ, ਇਸ ਦਾ ਕੰਟਰੋਲ ਚੈਨਲ ਜੀਵਤ ਹੈ, ਅਤੇ ਹੁਣ ਕੋਈ ਐਪਲੀਕੇਸ਼ਨ ਟ੍ਰੈਫਿਕ ਇਸ ਤੱਕ ਨਹੀਂ ਪਹੁੰਚਦਾ। ਉਲਟੀ ਸ਼ਿਕਾਇਤ ਵੀ ਉਸੇ ਗੁੰਮ push ਕਾਰਨ ਹੈ: ਜੁੜਦਾ ਪਰ ਕੁਝ ਨਹੀਂ ਭੇਜਦਾ ਫ਼ੋਨ ਆਮ ਤੌਰ 'ਤੇ ਉਸ ਸਰਵਰ ਨਾਲ ਗੱਲ ਕਰਦਾ ਹੈ ਜਿਸ ਨੇ ਕਦੇ redirect-gateway ਦੀ ਘੋਸ਼ਣਾ ਨਹੀਂ ਕੀਤੀ, ਇਸ ਲਈ ਡਿਵਾਈਸ ਆਪਣਾ ਡਿਫਾਲਟ ਰੱਖਦੀ ਹੈ ਅਤੇ ਸਿਰਫ਼ ਪੂਲ ਤੱਕ ਪਹੁੰਚਦੀ ਹੈ।
ਦੂਜੇ ਕਲਾਇੰਟ ਦੇ ਜੁੜਨ ਤੋਂ ਪਹਿਲਾਂ ਅਤੇ ਬਾਅਦ ਰੂਟਿੰਗ ਸਨੈਪਸ਼ਾਟ ਲਓ। ਟੇਬਲ ਵਿੱਚ ਦਿਖਣ ਵਾਲੇ ਦੋ ਅੱਧ-ਰੂਟ ਹੀ ਪੂਰੀ ਤਬਦੀਲੀ ਹਨ, ਅਤੇ ਉਹ ਦੋਵੇਂ ਸ਼ਿਕਾਇਤਾਂ ਸਮਝਾਉਂਦੇ ਹਨ। ਲੱਛਣ ਦਿਖਣ ਲਈ ਟੇਬਲ ਵਿੱਚ ਹੋਰ ਕੁਝ ਹਿਲਣ ਦੀ ਲੋੜ ਨਹੀਂ। ਇਸ ਲਈ ਦੂਜਾ ਕਲਾਇੰਟ ਹਟਾਉਣ ਨਾਲ ਪਹਿਲਾ ਤੁਰੰਤ ਬਹਾਲ ਹੋ ਜਾਂਦਾ ਹੈ।
ਕਿਹੜੀ ਟਨਲ ਅਸਲ ਵਿੱਚ ਜਿੱਤਦੀ ਹੈ ਪੜ੍ਹੋ
ਕਲਾਇੰਟ ਕਿਸ ਕ੍ਰਮ ਵਿੱਚ ਸ਼ੁਰੂ ਹੋਏ ਜਾਂ ਟਰੇ ਦੇ ਆਈਕਨ ਤੋਂ ਜੇਤੂ ਦਾ ਅਨੁਮਾਨ ਨਾ ਲਗਾਓ। ਕਰਨਲ ਨੂੰ ਪੁੱਛੋ ਕਿ ਦੋਵੇਂ ਨਿੱਜੀ ਨੈੱਟਵਰਕਾਂ ਤੋਂ ਬਾਹਰਲੇ ਟਿਕਾਣੇ ਲਈ ਇਹ ਕਿਹੜਾ ਰੂਟ ਵਰਤੇਗਾ, ਅਤੇ ਵਾਪਸ ਆਇਆ ਇੰਟਰਫੇਸ ਪੜ੍ਹੋ।
ip route show
ip route get 198.51.100.24
route print -4
Find-NetRoute -RemoteIPAddress 198.51.100.24
ਪਹਿਲੇ ਦੋ ਲੀਨਕਸ ਦਾ ਜਵਾਬ ਹਨ ਅਤੇ ਆਖਰੀ ਦੋ ਵਿੰਡੋਜ਼ ਦੇ ਬਰਾਬਰ ਹਨ। ਦੋਵੇਂ ਟਨਲ ਚਾਲੂ ਹੋਣ ਵੇਲੇ ਇਹਨਾਂ ਨੂੰ ਚਲਾਓ, ਫਿਰ ਇੱਕ ਡਿਸਕਨੈਕਟ ਕਰੋ ਅਤੇ ਦੁਬਾਰਾ ਚਲਾਓ। ਦੋਵਾਂ ਆਉਟਪੁੱਟਾਂ ਵਿਚਕਾਰ ਫ਼ਰਕ ਹੀ ਹੱਲ ਚੁਣਨ ਤੋਂ ਪਹਿਲਾਂ ਲੋੜੀਂਦੀ ਤੱਥ ਹੈ, ਅਤੇ ਇਹ ਕਿਸੇ ਵੀ ਕਲਾਇੰਟ ਦਾ ਲੌਗ ਪੜ੍ਹਨ ਨਾਲੋਂ ਘੱਟ ਸਮਾਂ ਲੈਂਦਾ ਹੈ।
ਨਤੀਜਾ ਦਰਜ ਕਰੋ, ਇੰਟਰਫੇਸ ਦਾ ਨਾਮ ਅਤੇ ਮਿਲੇ ਪ੍ਰੀਫਿਕਸ ਸਮੇਤ। ਜੋ ਟਿਕਟ ਕਹਿੰਦੀ ਹੈ ਕਿ ਦੂਜੇ VPN ਨੇ ਪਹਿਲੀ ਤੋੜੀ, ਉਹ ਲੱਛਣ ਦਾ ਵਰਣਨ ਹੈ, ਅਜਿਹਾ ਰੂਟਿੰਗ ਬਿਆਨ ਨਹੀਂ ਜਿਸ 'ਤੇ ਕੋਈ ਕੰਮ ਕਰ ਸਕੇ। ਖੋਜ ਇਸ ਨੂੰ ਅਜਿਹੀ ਤੱਥ ਵਿੱਚ ਬਦਲਦੀ ਹੈ ਜਿਸ ਨੂੰ ਅਗਲਾ ਇੰਜੀਨੀਅਰ ਇੱਕ ਹੁਕਮ ਵਿੱਚ ਦੁਹਰਾ ਸਕਦਾ ਹੈ।
ਵਿੰਡੋਜ਼: ਇੱਕ ਪ੍ਰੋਫਾਈਲ ਨੂੰ ਡਿਫਾਲਟ ਦੀ ਮਾਲਕੀ ਲੈਣ ਤੋਂ ਰੋਕੋ
ਵਿੰਡੋਜ਼ ਸੰਭਾਲੇ ਪ੍ਰੋਫਾਈਲ ਰੱਖਦਾ ਹੈ, ਅਤੇ ਬਿਲਟ-ਇਨ ਕਲਾਇੰਟ ਇੱਕ ਨੂੰ ਦੂਜੇ 'ਤੇ ਨਿਰਭਰ ਹੋਣ ਦਿੰਦਾ ਹੈ ਤਾਂ ਜੋ ਦੂਜਾ ਡਾਇਲ ਕਰਨ 'ਤੇ ਪਹਿਲਾ ਆਪਣੇ ਆਪ ਉੱਠੇ। ਜੋ ਪ੍ਰੋਫਾਈਲ ਸਭ ਤੋਂ ਬਾਅਦ ਜੁੜਿਆ ਉਹ ਡਿਫਾਲਟ ਰੱਖਣ ਦੀ ਪ੍ਰਵਿਰਤੀ ਰੱਖਦਾ ਹੈ, ਇਸ ਲਈ ਵਿਹਾਰਕ ਮਾਲਕ ਪਹਿਲਾ ਨਹੀਂ ਸਗੋਂ ਆਖਰੀ ਡਾਇਲ ਹੈ। ਹਰ ਪ੍ਰੋਫਾਈਲ ਨੂੰ ਆਪਣੇ push ਰੂਟ ਦਿਓ ਅਤੇ ਜਿਸ ਨੂੰ ਡਿਫਾਲਟ ਨਹੀਂ ਹੋਣਾ ਚਾਹੀਦਾ ਉਸ ਲਈ ਸਪਲਿਟ ਟਨਲ ਚਾਲੂ ਕਰੋ।
Set-VpnConnection -Name "Contoso" -SplitTunneling $true
rasdial Contoso
ਸਪਲਿਟ ਟਨਲ ਇਸ ਨੂੰ ਬਦਲਦੀ ਹੈ: ਟੇਬਲ ਵਿੱਚ ਸਿਰਫ਼ ਸਰਵਰ ਵੱਲੋਂ push ਕੀਤੇ ਪ੍ਰੀਫਿਕਸ ਆਉਂਦੇ ਹਨ, ਜੋ ਡਿਫਾਲਟ ਪਹਿਲੀ ਟਨਲ ਕੋਲ ਛੱਡਦਾ ਹੈ। ਜੇ ਦੋਵੇਂ ਸਰਵਰ ਡਿਫਾਲਟ ਰੂਟ push ਕਰਨ ਤਾਂ ਡਿਜ਼ਾਈਨ ਫਿਰ ਵੀ ਫੇਲ੍ਹ ਹੁੰਦਾ ਹੈ, ਕਿਉਂਕਿ ਤਦ ਆਖਰੀ ਕਨੈਕਸ਼ਨ ਜਿੱਤਦਾ ਹੈ ਅਤੇ ਕਲਾਇੰਟ-ਸਾਈਡ ਦੀ ਕੋਈ ਸੈਟਿੰਗ ਇਸ ਨੂੰ ਨਹੀਂ ਬਦਲਦੀ। ਸਰਵਰ-ਸਾਈਡ push ਸੁਧਾਰੋ ਜਾਂ ਇੱਕ ਮਾਲਕ ਸਵੀਕਾਰ ਕਰੋ।
ਐਪ-ਟ੍ਰਿਗਰ ਪ੍ਰੋਫਾਈਲ ਹੋਰ ਵਿਸ਼ੇਸ਼ਤਾ ਹੈ ਅਤੇ ਜਾਣਨ ਯੋਗ ਹੈ: ਵਿੰਡੋਜ਼ ਪ੍ਰੋਫਾਈਲ ਨਾਮਿਤ ਐਗਜ਼ੀਕਿਊਟੇਬਲ ਸ਼ੁਰੂ ਹੋਣ 'ਤੇ ਸ਼ੁਰੂ ਹੋ ਸਕਦਾ ਹੈ, ਜਿਸ ਵਿੱਚ ਟ੍ਰੈਫਿਕ ਫਿਲਟਰ ਤੈਅ ਕਰਦੇ ਹਨ ਕਿ ਇਹ ਕੀ ਢੋਵੇਗਾ। ਇਹ ਫਾਇਰਵਾਲ ਨਿਯਮ ਨਹੀਂ ਸਗੋਂ ਪ੍ਰੋਫਾਈਲ ਸੈਟਿੰਗ ਹੈ, ਅਤੇ ਇਹ ਡਿਫਾਲਟ-ਰੂਟ ਟਕਰਾਅ ਤੋਂ ਵੱਖਰੀ ਸਮੱਸਿਆ ਹੱਲ ਕਰਦੀ ਹੈ।
ਲੀਨਕਸ: ਦੂਜੀ ਟਨਲ ਨੂੰ ਮੁੱਖ ਟੇਬਲ ਤੋਂ ਬਾਹਰ ਰੱਖੋ
ਇੱਕ ਮਸ਼ੀਨ 'ਤੇ openvpn --config ਦੋ ਇੰਸਟੈਂਸ ਚਲਾਉਣ ਨਾਲ ਦੋਵੇਂ ਕਲਾਇੰਟ ਇੱਕੋ ਟੇਬਲ ਵਿੱਚ ਆ ਜਾਂਦੇ ਹਨ, ਅਤੇ ਤਿੰਨ ਵਿਕਲਪ ਵਧਦੀ ਅਲੱਗਤਾ ਨਾਲ ਉਹਨਾਂ ਨੂੰ ਵੱਖ ਕਰਦੇ ਹਨ। ਸਭ ਤੋਂ ਹਲਕਾ ਹੈ ਦੂਜੇ ਕਲਾਇੰਟ ਨੂੰ ਟੇਬਲ ਸੰਪਾਦਿਤ ਕਰਨ ਤੋਂ ਪੂਰੀ ਤਰ੍ਹਾਂ ਰੋਕਣਾ: ਸਪੱਸ਼ਟ ਰੂਟਾਂ ਨਾਲ route-nopull, ਜਾਂ route-up ਸਕ੍ਰਿਪਟ ਜੋ ਸਿਰਫ਼ ਤੁਹਾਡੇ ਇਰਾਦੇ ਵਾਲਾ ਇੰਸਟਾਲ ਕਰੇ। ਫਿਰ ਦੂਜੀ ਟਨਲ ਠੀਕ ਤੁਹਾਡੇ ਨਾਮ ਵਾਲੇ ਪ੍ਰੀਫਿਕਸ ਢੋਂਦੀ ਹੈ ਅਤੇ ਹੋਰ ਕੁਝ ਨਹੀਂ। ਫਿਰ ਤੁਸੀਂ ਤੈਅ ਕਰਦੇ ਹੋ ਕਿ ਕਿਹੜੇ ਪ੍ਰੀਫਿਕਸ ਕਿੱਥੇ ਜਾਣ, ਬਾਅਦ ਵਿੱਚ ਲੱਭਣ ਦੀ ਥਾਂ।
ਪਾਲਿਸੀ ਰੂਟਿੰਗ ਵਿਚਕਾਰਲਾ ਵਿਕਲਪ ਹੈ। ਇੱਕ ਨਿਯਮ ਇੱਕ ਸਰੋਤ ਪਤੇ ਜਾਂ ਫਾਇਰਵਾਲ ਨਿਸ਼ਾਨ ਲਈ ਵੱਖਰਾ ਟੇਬਲ ਚੁਣਦਾ ਹੈ, ਅਤੇ ਉਹ ਟੇਬਲ ਦੂਜੀ ਟਨਲ ਦੇ ਰੂਟ ਢੋਂਦਾ ਹੈ। ਉਲਟੇ ਰਾਹ ਦੀ ਫਿਲਟਰਿੰਗ ਇੱਥੇ ਜਾਲ ਹੈ, ਕਿਉਂਕਿ ਟੇਬਲ ਜਿਹੜਾ ਇੰਟਰਫੇਸ ਚੁਣੇਗਾ ਉਸ ਤੋਂ ਵੱਖਰੇ ਇੰਟਰਫੇਸ 'ਤੇ ਆਉਣ ਵਾਲਾ ਜਵਾਬ ਰੱਦ ਹੋ ਜਾਂਦਾ ਹੈ, ਇਸ ਲਈ ਟਨਲ ਟੁੱਟੀ ਹੈ ਇਹ ਮੰਨਣ ਤੋਂ ਪਹਿਲਾਂ rp_filter ਸੈਟਿੰਗ ਜਾਂਚੋ।
ip rule add from 10.44.7.0/24 table 100
ip route add default dev tun1 table 100
sysctl net.ipv4.conf.all.rp_filter
ਨੈੱਟਵਰਕ ਨੇਮਸਪੇਸ ਸਭ ਤੋਂ ਭਾਰੀ ਅਤੇ ਸਭ ਤੋਂ ਸਾਫ਼ ਵਿਕਲਪ ਹਨ। ਦੂਜੇ ਕਲਾਇੰਟ ਨੂੰ ip netns ਦੇ ਅੰਦਰ ਸ਼ੁਰੂ ਕਰੋ, ਉਸ ਨੂੰ veth ਜੋੜੀ ਦਿਓ, ਅਤੇ ਵਰਤਣ ਲਈ ਉਸ ਨੇਮਸਪੇਸ ਵਿੱਚ ਦਾਖਲ ਹੋਵੋ। ਦਖਲ ਅੰਦਾਜ਼ੀ ਮਿਟ ਜਾਂਦੀ ਹੈ ਕਿਉਂਕਿ ਹਰ ਨੇਮਸਪੇਸ ਇੱਕ ਟੇਬਲ ਸਾਂਝਾ ਕਰਨ ਦੀ ਥਾਂ ਆਪਣੇ ਟੇਬਲ ਰੱਖਦਾ ਹੈ, ਜੋ ਦੋਵੇਂ ਟਨਲ ਹਫ਼ਤਿਆਂ ਤੱਕ ਚਾਲੂ ਰੱਖਣੀਆਂ ਪੈਣ ਤਾਂ ਵਾਧੂ ਸੈਟਅਪ ਦੇ ਯੋਗ ਹੈ।
ਪ੍ਰਤੀ-ਐਪਲੀਕੇਸ਼ਨ, ਅਤੇ ਚੇਨਿੰਗ ਵੱਖਰੀ ਸਮੱਸਿਆ ਵਜੋਂ
ਕਦੇ-ਕਦੇ ਸਿਰਫ਼ ਇੱਕ ਪ੍ਰੋਗਰਾਮ ਨੂੰ ਦੂਜੀ ਟਨਲ ਵਰਤਣੀ ਚਾਹੀਦੀ ਹੈ। ਲੀਨਕਸ ਵਿੱਚ ਵਰਤੋਂਕਾਰ, cgroup ਜਾਂ ਪੋਰਟ ਅਨੁਸਾਰ ਪਾਲਿਸੀ ਰੂਟਿੰਗ ਉਹ ਨਤੀਜਾ ਦਿੰਦੀ ਹੈ, ਅਤੇ ਇੱਕ ਟਿਕਾਣੇ ਨੂੰ ਡਿਫਾਲਟ ਨੂੰ ਛੂਹੇ ਬਿਨਾਂ ਹੀ ਇੰਟਰਫੇਸ ਨਾਲ ਪਿੰਨ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ। ਜੋ ਐਪਲੀਕੇਸ਼ਨ ਆਪਣਾ ਸਾਕਟ ਇੱਕ ਇੰਟਰਫੇਸ ਨਾਲ ਪਿੰਨ ਕਰਦਾ ਹੈ ਉਹ ਰੂਟਿੰਗ ਟੇਬਲ ਨੂੰ ਬਿਲਕੁਲ ਨਹੀਂ ਪੁੱਛਦਾ, ਇਸ ਲਈ ਲਾਂਚਰ ਭੌਤਿਕ ਅਡੈਪਟਰ ਵਰਤਣਾ ਜਾਰੀ ਰੱਖ ਸਕਦਾ ਹੈ ਜਦ ਤੱਕ ਉਸ ਦੀਆਂ ਆਪਣੀਆਂ ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਪਤਾ ਨਾ ਚੁਣਿਆ ਜਾਵੇ।
ਚੇਨਿੰਗ ਦੋ ਟਨਲਾਂ ਨੂੰ ਨਾਲ-ਨਾਲ ਚਲਾਉਣ ਤੋਂ ਵੱਖਰੀ ਕਾਰਵਾਈ ਹੈ। A ਨੂੰ B ਉੱਤੇ ਚੇਨ ਕਰਨ ਦਾ ਮਤਲਬ ਹੈ ਕਿ ਅੰਦਰਲੇ ਸਰਵਰ ਦਾ ਪਤਾ ਬਾਹਰੀ ਟਨਲ ਦੇ ਅੰਦਰੋਂ ਪਹੁੰਚਯੋਗ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ। ਬਾਹਰੀ ਕਲਾਇੰਟ ਨੂੰ ਵੀ ਅੰਦਰਲੇ ਕਲਾਇੰਟ ਦੇ ਐਨਕ੍ਰਿਪਟ ਪੈਕੇਟ ਲੀਕ ਨਹੀਂ ਸਮਝਣੇ ਚਾਹੀਦੇ। ਵਰਚੁਅਲ ਮਸ਼ੀਨ ਦੇ ਅੰਦਰ ਇੱਕ ਕਲਾਇੰਟ ਮੋਟਾ ਪਰ ਭਰੋਸੇਯੋਗ ਸੰਸਕਰਣ ਹੈ; ਇੱਕੋ ਹੋਸਟ 'ਤੇ ਦੋਵੇਂ ਹੋਣ ਤਾਂ ਉੱਪਰ ਦਾ ਰੂਟਿੰਗ ਕੰਮ ਅਤੇ ਅੰਦਰਲੇ ਸਰਵਰ ਵੱਲ ਬਾਹਰੀ ਰਾਹ ਚਾਹੀਦਾ ਹੈ ਜੋ ਕਦੇ ਅੰਦਰਲੀ ਟਨਲ ਵਿੱਚ ਨਾ ਵੜੇ।
ਡਿਫਾਲਟ ਦਾ ਮਾਲਕ, ਹਰ ਟਨਲ ਵੱਲੋਂ ਢੋਏ ਜਾਣ ਵਾਲੇ ਪ੍ਰੀਫਿਕਸ ਦੀ ਸੂਚੀ ਅਤੇ DNS ਰਾਹ ਲਿਖੋ। ਉਹ ਤਿੰਨ ਤੱਥ ਅਗਲੀ ਘਟਨਾ ਨੂੰ ਜਾਂਚ ਦੀ ਥਾਂ ਖੋਜ ਵਿੱਚ ਬਦਲ ਦਿੰਦੇ ਹਨ।