VPN ਟਨਲ ਕੀ ਹੈ ਅਤੇ ਸੁਰੱਖਿਆ ਕਿੱਥੇ ਰੁਕਦੀ ਹੈ
ਟਨਲ ਚੁਣੇ ਹੋਏ ਪੈਕਟਾਂ ਨੂੰ ਤੁਹਾਡੇ ਕੋਲ ਪਹਿਲਾਂ ਹੀ ਮੌਜੂਦ ਲਿੰਕ ਉੱਤੇ ਦੂਜੇ ਲਿਫਾਫੇ ਵਿੱਚ ਲਪੇਟਦੀ ਹੈ। ਇੱਕ ਬੇਨਤੀ ਦਾ ਪਿੱਛਾ ਕਰੋ ਅਤੇ ਦੇਖੋ ਕਿ ਸਾਈਟ ਅਸਲ ਵਿੱਚ ਕਿਹੜਾ ਪਤਾ ਦਰਜ ਕਰਦੀ ਹੈ।
ਕਲਾਇੰਟ ਕਹਿੰਦਾ ਹੈ ਜੁੜਿਆ ਹੋਇਆ ਹੈ, ਤਾਲਾ ਬੰਦ ਹੈ, ਅਤੇ ਫਿਰ ਵੀ ਇੱਕ ਸਾਈਟ ਤੁਹਾਡੇ ਫਲੈਟ ਦਾ ਪਤਾ ਦਰਜ ਕਰ ਰਹੀ ਹੈ। ਕੁਝ ਵੀ ਫੇਲ੍ਹ ਨਹੀਂ ਹੋਇਆ। ਟਨਲ ਤੁਹਾਡੇ Wi-Fi ਜਾਂ ਮੋਬਾਈਲ ਲਿੰਕ ਦੀ ਥਾਂ ਨਹੀਂ ਲੈਂਦੀ; ਇਹ ਚੁਣੇ ਹੋਏ ਪੈਕਟਾਂ ਦੁਆਲੇ ਦੂਜਾ ਲਿਫਾਫਾ ਲਾਉਂਦੀ ਹੈ ਅਤੇ ਉਹ ਲਿਫਾਫਾ ਤੁਹਾਡੇ ਕੋਲ ਪਹਿਲਾਂ ਹੀ ਮੌਜੂਦ ਨੈੱਟਵਰਕ ਉੱਤੇ ਭੇਜਦੀ ਹੈ। ਇਸ ਚਾਲ ਨੂੰ ਸਮਝਣਾ ਮੁੱਖ ਤੌਰ 'ਤੇ ਇੱਕ ਬੇਨਤੀ ਦਾ ਪਿੱਛਾ ਕਰਨਾ ਅਤੇ ਇਹ ਦੇਖਣਾ ਹੈ ਕਿ ਲਿਫਾਫਾ ਕਿੱਥੇ ਖੁੱਲ੍ਹਦਾ ਹੈ, ਕਿਉਂਕਿ ਘਰ ਦੇ ਪਤੇ ਦੇ ਲੀਕ ਹੋਣ ਤੋਂ ਲੈ ਕੇ ਵੱਡੇ ਡਾਊਨਲੋਡ ਦੇ ਅਟਕਣ ਤੱਕ ਲਗਭਗ ਹਰ ਉਲਝਾਉਣ ਵਾਲਾ ਲੱਛਣ ਉਸੇ ਸੀਮਾ ਤੋਂ ਆਉਂਦਾ ਹੈ।
ਦੋ ਲਿਫਾਫੇ, ਇੱਕ ਭੌਤਿਕ ਲਿੰਕ
ਤੁਹਾਡਾ ਲੈਪਟਾਪ ਰਾਊਟਰ ਨਾਲ ਆਪਣਾ ਆਮ ਕਨੈਕਸ਼ਨ ਰੱਖਦਾ ਹੈ, ਅਤੇ ਰਾਊਟਰ ਪ੍ਰਦਾਤਾ ਨਾਲ ਆਪਣਾ ਆਮ ਕਨੈਕਸ਼ਨ ਰੱਖਦਾ ਹੈ। ਟਨਲ ਉੱਪਰ ਆਉਣ 'ਤੇ ਉਸ ਰਾਹ ਵਿੱਚ ਕੁਝ ਨਹੀਂ ਬਦਲਦਾ। ਜੋ ਬਦਲਦਾ ਹੈ ਉਹ ਇਹ ਹੈ ਕਿ ਚੁਣੇ ਹੋਏ ਪੈਕਟ ਇੱਕ ਵਰਚੁਅਲ ਇੰਟਰਫੇਸ ਨੂੰ ਦਿੱਤੇ ਜਾਂਦੇ ਹਨ, VPN ਸਾਥੀ ਨੂੰ ਸੰਬੋਧਿਤ ਨਵੇਂ ਪੈਕਟ ਦੇ ਅੰਦਰ ਲਪੇਟੇ ਜਾਂਦੇ ਹਨ, ਅਤੇ ਭੌਤਿਕ ਲਿੰਕ ਉੱਤੇ ਆਮ ਟਰੈਫਿਕ ਵਜੋਂ ਭੇਜੇ ਜਾਂਦੇ ਹਨ।
ਪ੍ਰਾਪਤ ਕਰਨ ਵਾਲਾ ਸਿਰਾ ਇੱਕ ਡਿਵਾਈਸ ਹੈ ਜੋ ਲਿਫਾਫਾ ਖੋਲ੍ਹਦਾ ਹੈ ਅਤੇ ਮੂਲ ਪੈਕਟ ਨੂੰ ਉਸਦੀ ਮੰਜ਼ਿਲ ਵੱਲ ਅੱਗੇ ਭੇਜਦਾ ਹੈ। ਦੋ ਸਿਰਿਆਂ ਵਿਚਕਾਰ, ਨਿਰੀਖਕ ਬਾਹਰੀ ਹੈਡਰ ਦੇਖਦਾ ਹੈ ਅਤੇ ਅੰਦਰਲੇ ਬਾਰੇ ਕੁਝ ਨਹੀਂ ਦੇਖਦਾ, ਜਦੋਂ ਤੱਕ ਪ੍ਰੋਟੋਕੋਲ ਇਸਨੂੰ ਐਨਕ੍ਰਿਪਟ ਨਹੀਂ ਕਰਦਾ, ਜੋ ਜ਼ਿਆਦਾਤਰ ਖਪਤਕਾਰ ਪ੍ਰੋਟੋਕੋਲ ਕਰਦੇ ਹਨ ਅਤੇ ਆਮ ਤਕਨੀਕ ਦੀ ਇਹ ਮੰਗ ਨਹੀਂ ਹੈ।
ਇਸੇ ਲਈ ਵਰਚੁਅਲ ਇੰਟਰਫੇਸ ਇੱਕੋ ਸਮੇਂ ਅਸਲੀ ਅਤੇ ਭੁਲੇਖੇ ਵਿੱਚ ਪਾਉਣ ਵਾਲਾ ਹੈ। ਇਹ ਪਤਾ ਅਤੇ ਅਧਿਕਤਮ ਟ੍ਰਾਂਸਮਿਸ਼ਨ ਇਕਾਈ ਵਾਲੀ ਕਰਨਲ ਵਸਤੂ ਵਜੋਂ ਮੌਜੂਦ ਹੈ, ਅਤੇ ਓਪਰੇਟਿੰਗ ਸਿਸਟਮ ਕਿਸੇ ਵੀ ਹੋਰ ਇੰਟਰਫੇਸ ਵਾਂਗ ਇਸ ਵਿੱਚ ਟਰੈਫਿਕ ਭੇਜਦਾ ਹੈ। ਇਹ ਕੇਬਲ ਨਹੀਂ ਹੈ, ਅਤੇ ਇਸਦੀ ਮੌਜੂਦਗੀ ਸਿਰਫ਼ ਇਹ ਸਾਬਤ ਕਰਦੀ ਹੈ ਕਿ ਕੋਈ ਕੰਪੋਨੈਂਟ ਸਥਾਪਿਤ ਹੈ। ਤੁਹਾਡਾ ਬ੍ਰਾਊਜ਼ਰ ਇਸਨੂੰ ਵਰਤਦਾ ਹੈ ਜਾਂ ਨਹੀਂ, ਇਹ ਰੂਟ ਤੈਅ ਕਰਦੇ ਹਨ, ਇੰਟਰਫੇਸ ਦਾ ਚਾਲੂ ਹੋਣਾ ਨਹੀਂ।
ਇੱਕ ਬੇਨਤੀ ਦਾ ਸਫ਼ਰ ਦੇਖੋ
ਇੱਕ ਮੰਜ਼ਿਲ ਚੁਣੋ ਅਤੇ ਕਰਨਲ ਨੂੰ ਪੁੱਛੋ ਕਿ ਇਹ ਕਿਹੜਾ ਇੰਟਰਫੇਸ ਵਰਤੇਗਾ। ਇਹ ਇੱਕੋ ਕਮਾਂਡ ਟਨਲ ਦੇ ਕੁਝ ਕਰਨ ਜਾਂ ਨਾ ਕਰਨ ਬਾਰੇ ਜ਼ਿਆਦਾਤਰ ਬਹਿਸਾਂ ਦਾ ਫੈਸਲਾ ਕਰਦੀ ਹੈ:
ip route get 203.0.113.7
ip -brief addr show
ip -4 addr show dev wg0
ਜੇ ਰੂਟ ਆਉਟਪੁੱਟ ਟਨਲ ਇੰਟਰਫੇਸ ਦਾ ਨਾਮ ਲੈਂਦੀ ਹੈ, ਤਾਂ ਪੈਕਟ ਲਪੇਟਿਆ ਜਾਵੇਗਾ। ਜੇ ਇਹ ਭੌਤਿਕ ਇੰਟਰਫੇਸ ਦਾ ਨਾਮ ਲੈਂਦੀ ਹੈ, ਤਾਂ ਨਹੀਂ ਲਪੇਟਿਆ ਜਾਵੇਗਾ, ਅਤੇ ਕਲਾਇੰਟ ਨੂੰ ਕਿੰਨੀ ਵੀ ਵਾਰ ਮੁੜ ਚਾਲੂ ਕਰੋ, ਇਹ ਨਹੀਂ ਬਦਲੇਗਾ। ਦੂਜੀ ਕਮਾਂਡ ਦੋਵੇਂ ਇੰਟਰਫੇਸ ਕੋਲ-ਕੋਲ ਦਿਖਾਉਂਦੀ ਹੈ, ਅਤੇ ਇਸੇ ਤਰ੍ਹਾਂ ਤੁਸੀਂ ਬਿਨਾਂ ਪਤੇ ਵਾਲੀ ਜਾਂ ਗਲਤ ਪਰਿਵਾਰ ਦੇ ਪਤੇ ਵਾਲੀ ਟਨਲ ਫੜਦੇ ਹੋ।
ਫਿਰ ਲਿਫਾਫੇ ਦੇ ਅੰਦਰੋਂ ਪਹਿਲੀ ਛਾਲ ਦੇਖੋ, ਅਤੇ ਇਸਦੀ ਤੁਲਨਾ ਬਾਹਰ ਦੀ ਪਹਿਲੀ ਛਾਲ ਨਾਲ ਕਰੋ:
traceroute -n -m 3 203.0.113.7
sudo tcpdump -ni wg0 -c 5
ਟਨਲ ਦੇ ਅੰਦਰ ਪਹਿਲੀ ਛਾਲ ਸਾਥੀ ਦਾ ਅੰਦਰੂਨੀ ਪਤਾ ਹੈ, ਤੁਹਾਡਾ ਰਾਊਟਰ ਨਹੀਂ। ਟਨਲ ਇੰਟਰਫੇਸ 'ਤੇ ਕੈਪਚਰ ਅੰਦਰੂਨੀ ਪੈਕਟ ਦਿਖਾਉਂਦਾ ਹੈ, ਇਹ ਉਹ ਟਰੈਫਿਕ ਹੈ ਜਿਸਨੂੰ ਐਪਲੀਕੇਸ਼ਨ ਭੇਜ ਰਿਹਾ ਮੰਨਦਾ ਹੈ। ਉਸੇ ਸਮੇਂ ਭੌਤਿਕ ਇੰਟਰਫੇਸ 'ਤੇ ਕੈਪਚਰ ਬਾਹਰੀ ਪੈਕਟ ਦਿਖਾਉਂਦਾ ਹੈ, ਅਤੇ ਦੋਵੇਂ ਮਿਲ ਕੇ ਟਨਲ ਦੇ ਅਸਲ ਕੰਮ ਦਾ ਸਭ ਤੋਂ ਸਪਸ਼ਟ ਪ੍ਰਦਰਸ਼ਨ ਹਨ।
ਤਿੰਨ ਪਤੇ, ਅਤੇ ਸਾਈਟ ਨੂੰ ਸਿਰਫ਼ ਇੱਕ ਦਿਸਦਾ ਹੈ
ਲੋਕ ਇਹਨਾਂ ਨੂੰ ਲਗਾਤਾਰ ਉਲਝਾਉਂਦੇ ਹਨ, ਅਤੇ ਇਹ ਉਲਝਣ ਝੂਠੀਆਂ ਲੀਕ ਰਿਪੋਰਟਾਂ ਪੈਦਾ ਕਰਦੀ ਹੈ। ਇਹ ਵੱਖਰੇ ਹੈਡਰਾਂ ਵਿੱਚ ਵੱਖਰੇ ਖੇਤਰ ਹਨ, ਜਿਨ੍ਹਾਂ ਦੀ ਉਮਰ ਵੀ ਵੱਖਰੀ ਹੈ।
| Address | Where it appears | Who can see it |
|---|---|---|
| Endpoint address | Outer header, the peer you connect to | Your access network and the path to it |
| Inner tunnel address | Inside the envelope, on the virtual interface | The peer, and anything the peer routes to |
| Exit address | Source of the packet that reaches the website | The website and its upstream |
ਵਰਚੁਅਲ ਅਡੈਪਟਰ ਦੇ ਕੋਲ ਦਾ ਨੰਬਰ ਦੂਜੀ ਕਤਾਰ ਹੈ। ਇਹ ਉਹ ਪਤਾ ਨਹੀਂ ਜੋ ਕੋਈ ਸਾਈਟ ਦਰਜ ਕਰਦੀ ਹੈ, ਅਤੇ ਇਸਨੂੰ ਤੁਹਾਡਾ ਜਨਤਕ IP ਦੱਸਣਾ ਬਸ ਗਲਤ ਹੈ। ਸਾਈਟ ਜੋ ਪਤਾ ਦੇਖਦੀ ਹੈ ਉਹ ਐਗਜ਼ਿਟ ਦੱਸਦਾ ਹੈ, ਅਤੇ ਨਿੱਜੀ ਨੈੱਟਵਰਕ ਦੀ ਟਨਲ ਵਿੱਚ ਜਨਤਕ ਐਗਜ਼ਿਟ ਬਿਲਕੁਲ ਨਹੀਂ ਹੋ ਸਕਦਾ, ਕਿਉਂਕਿ ਮੰਜ਼ਿਲ ਇੰਟਰਨੈੱਟ ਉੱਤੇ ਨਹੀਂ, ਸੰਸਥਾ ਦੇ ਅੰਦਰ ਹੈ।
ਸਾਈਟ-ਤੋਂ-ਸਾਈਟ ਟਨਲ ਵੱਖਰੇ ਅੰਤ ਬਿੰਦੂਆਂ ਨਾਲ ਉਹੀ ਵਿਧੀ ਹੈ। ਦੋ ਰਾਊਟਰ ਨੈੱਟਵਰਕਾਂ ਵਿਚਕਾਰ ਟਰੈਫਿਕ ਲਪੇਟਦੇ ਹਨ, ਅਤੇ ਕਿਸੇ ਵੀ ਵਿਅਕਤੀਗਤ ਡਿਵਾਈਸ ਵਿੱਚ ਕਲਾਇੰਟ ਸਥਾਪਿਤ ਨਹੀਂ ਹੁੰਦਾ। ਲਿਫਾਫਾ ਸਿਧਾਂਤ ਵਿੱਚ ਇੱਕੋ ਜਿਹਾ ਹੈ, ਪ੍ਰਬੰਧਕੀ ਸੀਮਾ ਨਹੀਂ।
ਲਿਫਾਫਾ ਕਿੱਥੇ ਖੁੱਲ੍ਹਦਾ ਹੈ, ਅਤੇ ਇਸ ਤੋਂ ਕੀ ਬਚਦਾ ਹੈ
ਟਨਲ ਆਪਣੇ ਸਾਥੀ 'ਤੇ ਖ਼ਤਮ ਹੁੰਦੀ ਹੈ। ਜੇ ਐਪਲੀਕੇਸ਼ਨ ਦੀ ਆਪਣੀ ਐਨਕ੍ਰਿਪਸ਼ਨ ਹੋਰ ਦੂਰ ਤੱਕ ਜਾਂਦੀ ਹੈ, ਤਾਂ ਇਹ ਉਸ ਸੀਮਾ ਤੋਂ ਬਚ ਜਾਂਦੀ ਹੈ, ਜੋ HTTPS ਲਈ ਆਮ ਸਥਿਤੀ ਹੈ: ਬ੍ਰਾਊਜ਼ਰ ਦਾ ਸੈਸ਼ਨ ਸਾਈਟ 'ਤੇ ਖ਼ਤਮ ਹੁੰਦਾ ਹੈ, ਇਸ ਲਈ ਐਗਜ਼ਿਟ ਅਜਿਹਾ ਸਾਈਫਰਟੈਕਸਟ ਭੇਜਦਾ ਹੈ ਜੋ ਇਹ ਪੜ੍ਹ ਨਹੀਂ ਸਕਦਾ।
ਹੋਰ ਕੁਝ ਵੀ ਡਿਫੌਲਟ ਤੌਰ 'ਤੇ ਨਹੀਂ ਬਚਦਾ। ਬਿਨਾਂ ਐਨਕ੍ਰਿਪਸ਼ਨ ਵਾਲੀ ਬੇਨਤੀ ਐਗਜ਼ਿਟ 'ਤੇ ਉੱਨੀ ਹੀ ਪੜ੍ਹਨਯੋਗ ਹੈ ਜਿੰਨੀ ਕੈਫੇ ਦੇ Wi-Fi 'ਤੇ ਸੀ, ਅਤੇ ਟਨਲ ਅਜਿਹੀ ਸੁਰੱਖਿਆ ਨਹੀਂ ਜੋੜਦੀ ਜੋ ਐਪਲੀਕੇਸ਼ਨ ਕੋਲ ਕਦੇ ਨਹੀਂ ਸੀ। ਇਸੇ ਤਰ੍ਹਾਂ, ਐਗਜ਼ਿਟ ਦੇ ਫਾਇਰਵਾਲ ਨਿਯਮ ਅਤੇ ਫਾਰਵਰਡਿੰਗ ਨੀਤੀ ਤੈਅ ਕਰਦੇ ਹਨ ਕਿ ਅੱਗੇ ਕੀ ਹੋਵੇਗਾ; ਸਫਲ ਹੈਂਡਸ਼ੇਕ ਸਾਥੀ ਕਨੈਕਸ਼ਨ ਬਾਰੇ ਤੱਥ ਹੈ, ਬਾਕੀ ਸਫ਼ਰ ਬਾਰੇ ਨਹੀਂ।
ਓਵਰਹੈੱਡ ਦੂਜਾ ਦਿਸਣ ਵਾਲਾ ਨਤੀਜਾ ਹੈ। ਹਰ ਪੈਕਟ ਵਾਧੂ ਹੈਡਰ ਚੁੱਕਦਾ ਹੈ, ਅਤੇ ਬਾਹਰੀ ਟਰਾਂਸਪੋਰਟ ਆਪਣਾ ਜੋੜ ਸਕਦਾ ਹੈ, ਇਸ ਲਈ ਪ੍ਰਤੀ ਪੈਕਟ ਵਰਤੋਂਯੋਗ ਪੇਲੋਡ ਘਟਦਾ ਹੈ। ਸਥਿਰ ਅਧਿਕਤਮ ਟ੍ਰਾਂਸਮਿਸ਼ਨ ਇਕਾਈ ਵਾਲੇ ਰਾਹ 'ਤੇ, ਟਨਲ ਦੇ ਪਿੰਗ ਪਾਰ ਕਰਨ ਅਤੇ ਵੱਡਾ ਅੱਪਲੋਡ ਰੋਕਣ ਦਾ ਕਾਰਨ ਇਹੀ ਹੈ।
ਐਪਲੀਕੇਸ਼ਨ ਨੇ ਅਸਲ ਵਿੱਚ ਜੋ ਰਾਹ ਲਿਆ ਉਹ ਜਾਂਚੋ
ਆਖਰੀ ਕਦਮ ਆਮ ਤੌਰ 'ਤੇ ਮਸ਼ੀਨ ਨਹੀਂ, ਬਲਕਿ ਖਾਸ ਐਪਲੀਕੇਸ਼ਨ ਦੀ ਪੁਸ਼ਟੀ ਕਰਨਾ ਹੈ। ਮੰਜ਼ਿਲ ਹੱਲ ਕਰੋ, ਉਸ ਪਤੇ ਲਈ ਰੂਟ ਦੇਖੋ, ਅਤੇ ਫਿਰ ਕਨੈਕਸ਼ਨ ਖੁੱਲ੍ਹਾ ਹੋਣ ਵੇਲੇ ਇਸਦਾ ਨਿਰੀਖਣ ਕਰੋ:
getent hosts example.com
ip route get "$(getent hosts example.com | awk '{print $1; exit}')"
ss -tnp state established '( dport = :443 )'
ਜੇ ਰੂਟ ਟਨਲ ਦਾ ਨਾਮ ਲੈਂਦੀ ਹੈ ਪਰ ਸਾਕਟ ਸੂਚੀ ਭੌਤਿਕ ਇੰਟਰਫੇਸ ਦੇ ਸਰੋਤ ਪਤੇ ਵਾਲਾ ਕਨੈਕਸ਼ਨ ਦਿਖਾਉਂਦੀ ਹੈ, ਤਾਂ ਐਪਲੀਕੇਸ਼ਨ ਕਿਸੇ ਖਾਸ ਚੀਜ਼ ਨਾਲ ਬੱਝੀ ਹੈ, ਜਾਂ ਦੂਜੀ ਟਨਲ ਡਿਫੌਲਟ ਰੂਟ ਲਈ ਮੁਕਾਬਲਾ ਕਰ ਰਹੀ ਹੈ। ਇਹ ਰੂਟਿੰਗ ਦਾ ਸਵਾਲ ਹੈ, ਅਤੇ ਕਲਾਇੰਟ ਦੀ ਸਥਿਤੀ ਸਕਰੀਨ ਦੀ ਥਾਂ ਇਹਨਾਂ ਤਿੰਨ ਆਉਟਪੁੱਟਾਂ ਤੋਂ ਇਸਦਾ ਜਵਾਬ ਦਿੱਤਾ ਜਾ ਸਕਦਾ ਹੈ।
RFC 4301 ਸੁਰੱਖਿਆ ਢਾਂਚਾ IPsec ਲਈ ਇਸ ਲਪੇਟਣ ਦਾ IP-ਪੱਧਰ ਸੰਸਕਰਣ ਦੱਸਦਾ ਹੈ, ਅਤੇ ਉਹੀ ਪੱਧਰ-ਤਰਕ WireGuard ਅਤੇ OpenVPN ਉੱਤੇ ਵੀ ਲਾਗੂ ਹੁੰਦਾ ਹੈ। ਇੱਕ ਵਾਰ ਤੁਸੀਂ ਅੰਦਰਲੇ ਪੈਕਟ ਅਤੇ ਬਾਹਰਲੇ ਪੈਕਟ ਨੂੰ ਵੱਖਰੀਆਂ ਵਸਤੂਆਂ ਵਜੋਂ ਦਿਖਾ ਸਕਦੇ ਹੋ, ਤਾਂ ਟਨਲ ਦਾ ਜ਼ਿਆਦਾਤਰ ਵਿਵਹਾਰ ਰਹੱਸਮਈ ਰਹਿਣਾ ਬੰਦ ਕਰ ਦਿੰਦਾ ਹੈ ਅਤੇ ਇੱਕ ਰੂਟਿੰਗ ਸਾਰਣੀ ਬਣ ਜਾਂਦਾ ਹੈ ਜਿਸਨੂੰ ਤੁਸੀਂ ਪੜ੍ਹ ਸਕਦੇ ਹੋ।