ਪੂਰੀ ਟਨਲ ਬਨਾਮ ਐਂਡਪੁਆਇੰਟ ਰੂਟ: VPN ਸਰਵਰ ਨੂੰ ਪਹੁੰਚਯੋਗ ਰੱਖਣਾ
ਟਨਲ ਉਸੇ ਨੈੱਟਵਰਕ ਰਾਹੀਂ ਲੰਘਦੀ ਹੈ ਜਿਸਦੀ ਇਹ ਥਾਂ ਲੈਂਦੀ ਹੈ। ਹੋਸਟ ਰੂਟ ਅਪਵਾਦ ਦੀ ਤੁਲਨਾ ਐਪਲੀਕੇਸ਼ਨ-ਪੱਧਰੀ ਸਾਕਟ ਮਾਰਕ ਨਾਲ ਕਰੋ ਅਤੇ ਜਾਣੋ ਕਿ ਹਰ ਇੱਕ ਕਦੋਂ ਫੇਲ੍ਹ ਹੁੰਦਾ ਹੈ।
ਟਨਲ ਰਾਹੀਂ ਇੱਕ ਡਿਫਾਲਟ ਰੂਟ ਜੋੜੋ, ਅਤੇ ਟਨਲ ਦੇ ਆਪਣੇ ਪੈਕਟ ਵੀ ਉਸਦਾ ਪਾਲਣ ਕਰਨਗੇ। ਫਿਰ ਸਾਰਣੀ ਵਿੱਚ ਇੱਕ ਨਿਯਮ ਹੁੰਦਾ ਹੈ ਜੋ ਆਪਣੇ ਆਪ ਨੂੰ ਹਰਾਉਂਦਾ ਹੈ। ਸਰਵਰ ਨਾਲ਼ ਇਨਕ੍ਰਿਪਟਿਡ ਕਨੈਕਸ਼ਨ ਉਸੇ ਕਨੈਕਸ਼ਨ ਦੇ ਅੰਦਰ ਜਾਣ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦਾ ਹੈ ਜਿਸਨੂੰ ਇਹ ਸਥਾਪਿਤ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰ ਰਿਹਾ ਹੈ।
ਦੋ ਵਿਧੀਆਂ ਉਸ ਲੂਪ ਨੂੰ ਰੋਕਦੀਆਂ ਹਨ। ਇੱਕ ਰਾਊਟਿੰਗ ਸਾਰਣੀ ਵਿੱਚ ਦਿਖਦੀ ਹੈ, ਦੂਜੀ ਐਪਲੀਕੇਸ਼ਨ ਦੇ ਅੰਦਰ ਰਹਿੰਦੀ ਹੈ।
ਅੰਦਰੂਨੀ ਅਤੇ ਬਾਹਰੀ ਟ੍ਰੈਫਿਕ ਵੱਖਰੇ ਫੈਸਲੇ ਹਨ
ਇੱਕ ਐਪਲੀਕੇਸ਼ਨ ਪੈਕਟ ਵਰਚੁਅਲ ਇੰਟਰਫੇਸ ਵਿੱਚ ਦਾਖਲ ਹੁੰਦਾ ਹੈ ਅਤੇ ਐਨਕੈਪਸੁਲੇਟ ਹੁੰਦਾ ਹੈ। ਨਤੀਜਾ ਸਰਵਰ ਦੇ ਜਨਤਕ ਪਤੇ 'ਤੇ ਪਤਾ-ਯੁਕਤ ਨਵਾਂ ਪੈਕਟ ਹੈ। ਉਸ ਪੈਕਟ ਨੂੰ ਭੌਤਿਕ ਨੈੱਟਵਰਕ 'ਤੇ ਰੂਟ ਚਾਹੀਦਾ ਹੈ, ਕਿਉਂਕਿ ਇਸਦਾ ਕੋਈ ਵੀ ਹਿੱਸਾ ਟਨਲ ਵਿੱਚ ਦਾਖਲ ਨਹੀਂ ਹੋ ਸਕਦਾ।
ਦੋਵੇਂ ਰਾਊਟਿੰਗ ਫੈਸਲੇ ਹਨ, ਅਤੇ ਸਿਰਫ਼ ਪਹਿਲਾ ਟਨਲ ਦਾ ਹੈ। ਜਦੋਂ ਕਲਾਇੰਟ ਸਰਵਰ ਨੂੰ ਵੀ ਕਵਰ ਕਰਨ ਵਾਲਾ ਡਿਫਾਲਟ ਰੂਟ ਸਥਾਪਿਤ ਕਰਦਾ ਹੈ, ਬਾਹਰੀ ਪੈਕਟ ਵੀ ਫੜਿਆ ਜਾਂਦਾ ਹੈ।
ਲੱਛਣ ਤੁਰੰਤ ਅਤੇ ਪੂਰੇ ਹਨ। ਹੈਂਡਸ਼ੇਕ ਪੂਰਾ ਹੁੰਦਾ ਹੈ ਅਤੇ ਫਿਰ ਕੁਝ ਵੀ ਨਹੀਂ ਵਹਿੰਦਾ, ਜਾਂ ਰੂਟ ਸਥਾਪਿਤ ਹੋਣ ਵਾਲੇ ਪਲ ਹੀ ਕਨੈਕਸ਼ਨ ਡਿੱਗ ਜਾਂਦਾ ਹੈ। ਦੋਵਾਂ ਹਾਲਤਾਂ ਵਿੱਚ keepalive ਹੁਣ ਬਾਹਰ ਨਹੀਂ ਜਾ ਸਕਦਾ।
ਪਹਿਲਾ ਵਿਕਲਪ: ਐਂਡਪੁਆਇੰਟ ਲਈ ਹੋਸਟ ਰੂਟ
ਸਿੱਧਾ ਤਰੀਕਾ ਅਸਲ ਗੇਟਵੇ ਰਾਹੀਂ ਸਰਵਰ ਦੇ ਪਤੇ ਲਈ ਰੂਟ ਜੋੜਦਾ ਹੈ। ਇਸ ਵਿੱਚ ਇੱਕ ਲਾਈਨ ਲੱਗਦੀ ਹੈ। ਸਾਰਣੀ ਪੜ੍ਹਨ ਵਾਲਾ ਹਰ ਕੋਈ ਇਸਨੂੰ ਦੇਖ ਸਕਦਾ ਹੈ। ਤਬਦੀਲੀ ਰਿਕਾਰਡ ਵਿੱਚ ਸਮਝਾਉਣਾ ਵੀ ਸੌਖਾ ਹੈ।
ਇਸਦੀ ਕਮਜ਼ੋਰੀ ਉਦੋਂ ਦਿਖਦੀ ਹੈ ਜਦੋਂ ਅੰਤਰਨਿਹਿਤ ਮਾਰਗ ਬਦਲਦਾ ਹੈ. ਸੰਭਾਲਿਆ ਰੂਟ ਪੁਰਾਣੇ ਨੈੱਟਵਰਕ ਦਾ ਗੇਟਵੇ ਅਤੇ ਇੰਟਰਫੇਸ ਦੱਸਦਾ ਹੈ। Wi-Fi ਬਦਲਣ ਤੋਂ ਬਾਅਦ ਉਹ ਗੇਟਵੇ ਨਹੀਂ ਵੀ ਹੋ ਸਕਦਾ, ਅਤੇ ਰੂਟ ਪਿੱਛੇ ਰਹਿ ਜਾਂਦਾ ਹੈ, ਸਹੀ ਦਿਖਦਾ ਹੈ ਅਤੇ ਕੁਝ ਨਹੀਂ ਕਰਦਾ।
# before the tunnel: which path reaches the endpoint?
ip route get 198.51.100.7
# pin it through the current gateway
ip route add 198.51.100.7/32 via 192.168.1.1 dev wlan0
# after the tunnel is up, confirm the pin survived
ip route get 198.51.100.7
ਹੋਸਟਨਾਮ ਇਸਨੂੰ ਹੋਰ ਔਖਾ ਬਣਾਉਂਦਾ ਹੈ। ਜੇ ਐਂਡਪੁਆਇੰਟ ਅਜਿਹਾ ਨਾਮ ਹੈ ਜੋ ਕਈ ਪਤਿਆਂ ਵਿੱਚ ਹੱਲ ਹੁੰਦਾ ਹੈ, ਤਾਂ ਅਪਵਾਦ ਨੂੰ ਅਸਲ ਵਿੱਚ ਵਰਤੇ ਜਾ ਰਹੇ ਪਤੇ ਨੂੰ ਕਵਰ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ। ਬਾਅਦ ਦੀ ਖੋਜ ਕੁਝ ਅਜਿਹਾ ਵਾਪਸ ਕਰ ਸਕਦੀ ਹੈ ਜੋ ਰੂਟ ਨੇ ਕਦੇ ਕਵਰ ਨਹੀਂ ਕੀਤਾ।
ਦੂਜਾ ਵਿਕਲਪ: ਸਾਕਟ ਦੀ ਸੁਰੱਖਿਆ
ਦੂਜਾ ਤਰੀਕਾ ਰਾਊਟਿੰਗ ਸਾਰਣੀ ਨੂੰ ਕਦੇ ਨਹੀਂ ਛੂਹਦਾ। ਕਲਾਇੰਟ ਟਨਲ ਢੋਣ ਵਾਲੇ ਸਾਕਟ ਨੂੰ ਮਾਰਕ ਕਰਦਾ ਹੈ ਜਾਂ ਸੁਰੱਖਿਅਤ ਕਰਦਾ ਹੈ, ਇਸ ਲਈ ਓਪਰੇਟਿੰਗ ਸਿਸਟਮ ਨੀਤੀ ਅਨੁਸਾਰ ਉਸ ਸਾਕਟ ਦਾ ਟ੍ਰੈਫਿਕ ਟਨਲ ਤੋਂ ਬਾਹਰ ਭੇਜਦਾ ਹੈ। Android ਇਹ ਵਿਧੀ ਸਿੱਧੀ VPN ਐਪਲੀਕੇਸ਼ਨਾਂ ਨੂੰ ਦਿੰਦਾ ਹੈ। ਡੈਸਕਟਾਪ ਕਲਾਇੰਟ ਫਾਇਰਵਾਲ ਮਾਰਕ ਜਾਂ ਡਿਵਾਈਸ ਨਾਲ ਬੰਨ੍ਹਣ ਵਾਲੀਆਂ ਕਾਲਾਂ ਨਾਲ ਸਮਾਨ ਲਾਗੂ ਕਰਦੇ ਹਨ।
ਲਾਭ ਇਹ ਹੈ ਕਿ ਅਪਵਾਦ ਸੰਭਾਲੇ ਗੇਟਵੇ ਦੀ ਬਜਾਏ ਕਨੈਕਸ਼ਨ ਦਾ ਪਾਲਣ ਕਰਦਾ ਹੈ। ਨੈੱਟਵਰਕ ਤਬਦੀਲੀ ਅੰਤਰਨਿਹਿਤ ਮਾਰਗ ਨੂੰ ਦੁਬਾਰਾ ਲਿਖਦੀ ਹੈ, ਅਤੇ ਸੁਰੱਖਿਅਤ ਸਾਕਟ ਉਸਦੇ ਨਾਲ ਚੱਲਦਾ ਹੈ ਕਿਉਂਕਿ ਇਹ ਕਦੇ ਪਤੇ 'ਤੇ ਪਿੰਨ ਨਹੀਂ ਹੋਇਆ ਸੀ। ਰੂਟ ਸਾਰਣੀ ਸਾਫ਼ ਰਹਿੰਦੀ ਹੈ।
ਕੀਮਤ ਦਿੱਖ ਹੈ। ਰਾਊਟਿੰਗ ਸਾਰਣੀ ਵਿੱਚ ਕੁਝ ਵੀ ਅਪਵਾਦ ਨਹੀਂ ਦਿਖਾਉਂਦਾ, ਇਸ ਲਈ ਹੋਸਟ ਰੂਟ ਲੱਭਣ ਵਾਲੇ ਸਮੀਖਿਅਕ ਨੂੰ ਕੁਝ ਨਹੀਂ ਮਿਲਦਾ ਅਤੇ ਉਹ ਸਿੱਟਾ ਕੱਢ ਸਕਦਾ ਹੈ ਕਿ ਡਿਜ਼ਾਈਨ ਅਸੁਰੱਖਿਅਤ ਹੈ। ਸੁਰੱਖਿਆ ਕਲਾਇੰਟ ਦੇ ਕੋਡ ਵਿੱਚ ਅਤੇ ਉਸ ਕੋਡ ਵੱਲੋਂ ਸਥਾਪਿਤ ਨੀਤੀ ਨਿਯਮਾਂ ਵਿੱਚ ਰਹਿੰਦੀ ਹੈ।
ਦੋਵਾਂ ਵਿਚਕਾਰ ਚੋਣ
ਜੇ ਕਲਾਇੰਟ ਸਮਰਥਨ ਕਰਦਾ ਹੈ ਤਾਂ ਸਾਕਟ-ਪੱਧਰੀ ਵਿਧੀ ਚੁਣੋ, ਕਿਉਂਕਿ ਇਹ ਪਿੰਨ ਕੀਤੇ ਰੂਟ ਨੂੰ ਤੋੜਨ ਵਾਲੀਆਂ ਨੈੱਟਵਰਕ ਤਬਦੀਲੀਆਂ ਨੂੰ ਝੱਲ ਲੈਂਦੀ ਹੈ। ਜੇ ਅਪਵਾਦ ਹੋਰ ਸਾਧਨਾਂ ਨੂੰ ਦਿਖਣਾ ਚਾਹੀਦਾ ਹੈ, ਜਾਂ ਜੇ ਕਲਾਇੰਟ ਕੁਝ ਵਧੀਆ ਨਹੀਂ ਦਿੰਦਾ ਤਾਂ ਹੋਸਟ ਰੂਟ ਚੁਣੋ।
ਕੋਈ ਵੀ ਵਿਧੀ ਸਰਵਰ ਦੇ ਪਤੇ ਦੇ ਬਿਲਕੁਲ ਪਹੁੰਚਯੋਗ ਹੋਣ ਦੀ ਲੋੜ ਨੂੰ ਨਹੀਂ ਹਟਾਉਂਦੀ। ਨਿੱਜੀ ਗੇਟਵੇ ਦਾ ਇੱਕ ਜਨਤਕ ਸੁਣਨ ਵਾਲਾ ਪਤਾ ਹੁੰਦਾ ਹੈ, ਅਤੇ ਉਹੀ ਪਤਾ ਟਨਲ ਤੋਂ ਬਾਹਰ ਰਹਿਣਾ ਚਾਹੀਦਾ ਹੈ। ਇਸਦੇ ਪਿੱਛੇ ਦੇ ਅੰਦਰੂਨੀ ਨੈੱਟਵਰਕ ਟਨਲ ਹੋਣ ਤੋਂ ਬਾਅਦ ਹੀ ਪਹੁੰਚਯੋਗ ਹੁੰਦੇ ਹਨ।
ਤੁਸੀਂ ਜੋ ਵੀ ਚੁਣੋ, ਇਸਨੂੰ ਟਨਲ ਦੇ ਮਾਲਕ ਹਿੱਸੇ ਕੋਲ ਰੱਖੋ। ਹੱਥ ਨਾਲ ਜੋੜਿਆ ਭਟਕਦਾ ਹੋਸਟ ਰੂਟ ਅਗਲੇ ਨੈੱਟਵਰਕ ਤੱਕ ਕੰਮ ਕਰਦਾ ਹੈ, ਅਤੇ ਫਿਰ ਉਹ ਕੱਲ੍ਹ ਦੀ ਰਹੱਸਮਈ ਰੁਕਾਵਟ ਬਣ ਜਾਂਦਾ ਹੈ।