VPN ਪ੍ਰਵਾਹ ਵਿੱਚ ਕਲਾਇੰਟ ਦਾ ਸਰੋਤ ਪੋਰਟ ਅਤੇ ਸਰਵਰ ਦਾ ਸੁਣਨ ਵਾਲਾ
ਇੱਕ ਸੁਰੰਗ ਵਿੱਚ ਦੋ ਪੋਰਟ ਨੰਬਰਾਂ ਦੀ ਤੁਲਨਾ ਕਰੋ: ਸਰਵਰ ਦਾ ਸਥਿਰ ਸੁਣਨ ਵਾਲਾ ਅਤੇ ਕਲਾਇੰਟ ਦਾ ਥੋੜ੍ਹੇ ਸਮੇਂ ਦਾ ਸਰੋਤ, ਅਤੇ ਉਨ੍ਹਾਂ ਵਿਚਕਾਰ ਰਾਊਟਰ ਦਾ ਅਨੁਵਾਦ ਕਿਵੇਂ ਬੈਠਦਾ ਹੈ।
ਇੱਕੋ ਗੱਲਬਾਤ ਵਿੱਚ ਦੋ ਨੰਬਰ ਦਿਸਦੇ ਹਨ, ਅਤੇ ਦੋਵਾਂ ਵਿੱਚੋਂ ਕੋਈ ਗਲਤ ਨਹੀਂ। ਸਰਵਰ ਦਾ ਲੌਗ ਸੇਵਾ ਦੇਣ ਵਾਲਾ ਸੁਣਨ ਵਾਲਾ ਦਿਖਾਉਂਦਾ ਹੈ, ਲੈਪਟਾਪ ਡੇਟਾਗ੍ਰਾਮ ਭੇਜਣ ਵਾਲਾ ਸਾਕਟ ਦਿਖਾਉਂਦਾ ਹੈ, ਅਤੇ ਵਿਚਕਾਰਲਾ ਰਾਊਟਰ ਬਾਹਰ ਜਾਂਦਿਆਂ ਦੂਜੇ ਨੂੰ ਦੁਬਾਰਾ ਲਿਖ ਸਕਦਾ ਹੈ। ਅੰਕਾਂ ਦੀ ਤੁਲਨਾ ਕਰਨ ਨਾਲੋਂ ਗੱਲਬਾਤ ਦੇ ਦੋਵੇਂ ਸਿਰਿਆਂ ਦੀ ਤੁਲਨਾ ਵਧੇਰੇ ਲਾਹੇਵੰਦ ਹੈ। ਹੇਠਾਂ ਦਿੱਤੀ ਤੁਲਨਾ ਸੁਣਨ ਵਾਲੇ, ਕਲਾਇੰਟ ਸਾਕਟ ਅਤੇ ਅਨੁਵਾਦਿਤ ਸਰੋਤ ਨੂੰ ਵੱਖਰਾ ਰੱਖਦੀ ਹੈ, ਕਿਉਂਕਿ ਉਹ ਵੱਖਰੇ ਸਵਾਲਾਂ ਦਾ ਜਵਾਬ ਦਿੰਦੇ ਹਨ।
ਉਲਟ ਸਿਰਿਆਂ ਦਾ ਵਰਣਨ ਕਰਨ ਵਾਲੇ ਦੋ ਨੰਬਰ
ਸਰਵਰ ਦਾ ਸੰਰਚਿਤ ਪੋਰਟ ਉਹ ਮੰਜ਼ਿਲ ਹੈ ਜਿੱਥੇ ਕਲਾਇੰਟ ਡਾਇਲ ਕਰਦਾ ਹੈ। ਇਹ ਨੀਤੀ ਦੁਆਰਾ ਤੈਅ ਹੁੰਦਾ ਹੈ, ਪ੍ਰੋਫਾਈਲ ਵਿੱਚ ਦਿਸਦਾ ਹੈ ਅਤੇ ਸਰਵਰ ਵਾਲੇ ਪਾਸੇ ਖੁੱਲ੍ਹਾ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ। ਕਲਾਇੰਟ ਦਾ ਸਰੋਤ ਪੋਰਟ ਸਥਾਨਕ ਤੌਰ 'ਤੇ, ਆਮ ਤੌਰ 'ਤੇ ਥੋੜ੍ਹੇ ਸਮੇਂ ਦੀ ਰੇਂਜ ਵਿੱਚੋਂ ਚੁਣਿਆ ਜਾਂਦਾ ਹੈ, ਅਤੇ ਇਸ ਲਈ ਹੁੰਦਾ ਹੈ ਕਿ ਜਵਾਬ ਨੂੰ ਉਤਰਨ ਦੀ ਥਾਂ ਮਿਲੇ। ਇਹ ਹਰ ਮੁੜ-ਜੁੜਾਅ ਵਿੱਚ ਬਦਲ ਸਕਦਾ ਹੈ, ਅਤੇ ਡਿਜ਼ਾਈਨ ਵਿੱਚ ਕੁਝ ਵੀ ਇਸਦੀ ਸਥਿਰਤਾ 'ਤੇ ਨਿਰਭਰ ਨਹੀਂ ਕਰਦਾ।
ਵਿਚਕਾਰਲਾ ਰਾਊਟਰ ਉਸ ਸਰੋਤ ਨੂੰ ਆਪਣੀ 'NAT' ਮੈਪਿੰਗ ਵਿੱਚ ਦੁਬਾਰਾ ਲਿਖ ਸਕਦਾ ਹੈ। ਇਸ ਲਈ ਸਰਵਰ 'ਤੇ ਦਿਸਣ ਵਾਲੇ ਨੰਬਰ ਦਾ ਲੈਪਟਾਪ ਵੱਲੋਂ ਚੁਣੇ ਨੰਬਰ ਨਾਲ ਅਕਸਰ ਕੋਈ ਸੰਬੰਧ ਨਹੀਂ ਹੁੰਦਾ।
ਬਾਹਰ ਜਾਂਦਿਆਂ ਸਰੋਤ ਨੰਬਰ ਕਿੱਥੇ ਬਦਲਦਾ ਹੈ
IPv4 ਦੀ ਇੱਕ ਕਾਲਪਨਿਕ ਉਦਾਹਰਨ ਲਓ: ਅਨੁਵਾਦ ਕਰਨ ਵਾਲੇ ਰਾਊਟਰ ਪਿੱਛੇ ਇੱਕ ਕਲਾਇੰਟ, ਇੱਕ 'UDP' ਸੁਣਨ ਵਾਲਾ ਸਰਵਰ, ਅਤੇ ਦੋਵਾਂ ਨੂੰ ਪਾਰ ਕਰਨ ਵਾਲਾ ਇੱਕ ਡੇਟਾਗ੍ਰਾਮ। ਸਾਰਣੀ ਤਿੰਨ ਨਿਰੀਖਣ ਬਿੰਦੂਆਂ 'ਤੇ ਪੈਕਟ ਦੁਬਾਰਾ ਚਲਾਉਣ ਦੀ ਥਾਂ ਹਰ ਸਿਰੇ ਅਤੇ ਉਸ ਨਾਲ ਕੀ ਹੁੰਦਾ ਹੈ ਦਾ ਨਾਮ ਦਿੰਦੀ ਹੈ।
| Endpoint | What stays fixed | What changes on reconnect | Who owns it |
|---|---|---|---|
| Server listener | The service port and the address the profile names | Nothing; the listener does not follow the client | The server operator |
| Client socket | The destination it dials | The local source port, chosen per socket | The client, or its operating system |
| Translated source | Usually the public address of the router | The port, and sometimes the address after a network switch | The NAT device or the upstream carrier |
ਮੰਜ਼ਿਲ ਹਰ ਕਤਾਰ ਵਿੱਚ ਸਥਿਰ ਹੈ, ਅਤੇ ਸਿਰਫ਼ ਸਰੋਤ ਦੀ ਪਛਾਣ ਬਦਲਦੀ ਹੈ। UDP NAT ਦੀਆਂ ਲੋੜਾਂ ਅੰਦਰੂਨੀ ਪਤੇ ਅਤੇ ਪੋਰਟ ਨੂੰ ਬਾਹਰੀ ਮੈਪਿੰਗ ਤੋਂ ਵੱਖ ਕਰਦੀਆਂ ਹਨ, ਅਤੇ ਇਹੀ ਦੂਜੀ ਤੇ ਤੀਜੀ ਕਤਾਰ ਵਿਚਕਾਰਲਾ ਫ਼ਰਕ ਹੈ। ਰਾਊਟਰ ਕਲਾਇੰਟ ਦਾ ਸਰੋਤ ਪੋਰਟ ਰੱਖ ਸਕਦਾ ਹੈ ਜਾਂ ਹੋਰ ਚੁਣ ਸਕਦਾ ਹੈ; ਰੱਖਿਆ ਜਾਣਾ ਇਹੋ ਜਿਹੀ ਗੱਲ ਨਹੀਂ ਜੋ ਐਪਲੀਕੇਸ਼ਨ ਮੰਨ ਲਵੇ।
ਤਿੰਨੇ ਸਿਰੇ ਹੋਸਟਾਂ ਤੋਂ ਹੀ ਪੜ੍ਹੋ
ਹੇਠਾਂ ਦਿੱਤੀਆਂ ਸੂਚੀਆਂ ਤਿੰਨ ਵੱਖਰੀਆਂ ਮਸ਼ੀਨਾਂ ਤੋਂ ਆਉਂਦੀਆਂ ਹਨ ਅਤੇ ਮਿਲ ਕੇ ਪੂਰੀ ਗੱਲਬਾਤ ਦਿਖਾਉਂਦੀਆਂ ਹਨ। ਪਹਿਲੀ ਸਰਵਰ 'ਤੇ, ਦੂਜੀ ਕਲਾਇੰਟ 'ਤੇ ਅਤੇ ਤੀਜੀ ਜਿੱਥੇ ਮੈਪਿੰਗ ਹੈ ਉੱਥੇ ਚਲਾਓ। ਇੱਕ ਲੌਗ ਲਾਈਨ ਕਦੇ ਵੀ ਤਿੰਨੇ ਨਹੀਂ ਦਿਖਾਉਂਦੀ।
ss -lunp 'sport = :1194'
ss -unp | grep 1194
conntrack -L -p udp | grep 1194
ਪਹਿਲੀ ਸੂਚੀ ਸਾਬਤ ਕਰਦੀ ਹੈ ਕਿ ਸਰਵਰ ਸੇਵਾ ਪੋਰਟ ਨਾਲ ਬੱਝਾ ਹੈ ਅਤੇ ਦਿਖਾਉਂਦੀ ਹੈ ਕਿ ਕਿਹੜੀ ਪ੍ਰਕਿਰਿਆ ਇਸਦੀ ਮਾਲਕ ਹੈ। ਦੂਜੀ ਕਲਾਇੰਟ ਦਾ ਸਥਾਨਕ ਸਾਕਟ ਅਤੇ ਉਹ ਮੰਜ਼ਿਲ ਦਿਖਾਉਂਦੀ ਹੈ ਜਿੱਥੇ ਉਸਨੇ ਡਾਇਲ ਕੀਤਾ। ਤੀਜੀ ਰਾਊਟਰ ਵੱਲੋਂ ਬਣਾਈ ਮੈਪਿੰਗ ਦਿਖਾਉਂਦੀ ਹੈ, ਅਤੇ ਅਨੁਵਾਦਿਤ ਸਰੋਤ ਸਿਰਫ਼ ਉੱਥੇ ਹੀ ਦਿਸਦਾ ਹੈ। ਇਹਨਾਂ ਨੂੰ ਇਸੇ ਕ੍ਰਮ ਵਿੱਚ ਪੜ੍ਹੋ ਅਤੇ ਦੋਵੇਂ ਨੰਬਰ ਵਿਰੋਧਾਭਾਸੀ ਲੱਗਣਾ ਬੰਦ ਕਰ ਦਿੰਦੇ ਹਨ।
ਮੁੜ-ਜੁੜਾਅ ਕੀ ਬਦਲਦਾ ਹੈ ਅਤੇ ਕੀ ਨਹੀਂ
ਕੁਝ ਰਾਊਟਰ ਕਲਾਇੰਟ ਦਾ ਸਰੋਤ ਪੋਰਟ ਖਾਲੀ ਹੋਣ 'ਤੇ ਰੱਖਦੇ ਹਨ, ਅਤੇ ਕੁਝ ਹਰ ਵਾਰ ਵੱਖਰਾ ਦਿੰਦੇ ਹਨ। ਦੋਵੇਂ ਵਿਵਹਾਰ ਆਮ ਹਨ, ਅਤੇ ਪਹਿਲਾ ਮੰਗਣ ਵਾਲੀ ਐਪਲੀਕੇਸ਼ਨ ਦੂਜੇ 'ਤੇ ਟੁੱਟ ਜਾਵੇਗੀ। ਮੁੜ-ਜੁੜਾਅ ਜਾਂ ਨੈੱਟਵਰਕ ਬਦਲਣ ਤੋਂ ਬਾਅਦ ਮੈਪਿੰਗ ਬਦਲਣਾ ਸਰਵਰ ਦੀ ਖਰਾਬੀ ਨਹੀਂ ਹੈ: ਕਲਾਇੰਟ ਨਵਾਂ ਸਾਕਟ ਖੋਲ੍ਹਦਾ ਹੈ, ਰਾਊਟਰ ਆਪਣੇ ਕੋਲ ਜੋ ਹੈ ਦਿੰਦਾ ਹੈ, ਅਤੇ ਸਰਵਰ ਉਸੇ ਸੁਣਨ ਵਾਲੇ 'ਤੇ ਨਵਾਂ ਸਰੋਤ ਦੇਖਦਾ ਹੈ। ਖਰਾਬੀ ਇਹ ਹੋਵੇਗੀ ਕਿ ਅਸੀਂ ਆਸ ਰੱਖੀਏ ਕਿ ਸਰਵਰ ਕਿਸੇ ਵੀ ਕਲਾਇੰਟ ਪੋਰਟ ਨੂੰ ਭੇਜਿਆ ਟ੍ਰੈਫਿਕ ਸਵੀਕਾਰ ਕਰੇਗਾ।
ਭਾਈਚਾਰੇ ਦੇ OpenVPN ਕਲਾਇੰਟ ਇਹ ਵਿਵਹਾਰ nobind ਰਾਹੀਂ ਪਾਉਂਦੇ ਹਨ, ਜੋ ਓਪਰੇਟਿੰਗ ਸਿਸਟਮ ਨੂੰ ਸਥਾਨਕ ਪੋਰਟ ਚੁਣਨ ਦਿੰਦਾ ਹੈ; ਦੂਰ ਦਾ ਪੋਰਟ ਅਜੇ ਵੀ ਪ੍ਰੋਫਾਈਲ ਤੋਂ ਆਉਂਦਾ ਹੈ। ਸਪਸ਼ਟ ਤੌਰ 'ਤੇ ਬਾਈਂਡ ਕਰਨਾ ਸੁਚੇਤ ਫ਼ੈਸਲਾ ਹੈ, ਪ੍ਰੋਟੋਕਾਲ ਦੀ ਲੋੜ ਨਹੀਂ। ਸਰਵਰ ਇੱਕ ਸਿਰਾ ਦਿੰਦਾ ਰਹਿੰਦਾ ਹੈ ਜਦੋਂ ਕਿ ਕਲਾਇੰਟ ਆਪਣੀਆਂ ਸਥਾਨਕ ਪਛਾਣਾਂ ਚੁਣਦੇ ਹਨ।
ਰਿਕਾਰਡ ਵਿੱਚ ਪਰਤਾਂ ਨੂੰ ਵੱਖਰਾ ਲੇਬਲ ਕਰੋ
ਸੁਰੰਗ ਦੇ ਅੰਦਰ ਆਪਣੇ ਪੋਰਟਾਂ ਵਾਲੀ ਦੂਜੀ ਗੱਲਬਾਤ ਹੈ। ਸੁਰੰਗ ਵੱਲੋਂ ਲਿਜਾਈ ਜਾਣ ਵਾਲੀ HTTPS ਬੇਨਤੀ ਦੀ ਮੰਜ਼ਿਲ TCP 443 ਹੈ, ਜਦੋਂ ਕਿ ਬਾਹਰੀ ਐਨਕ੍ਰਿਪਟਿਡ ਕਨੈਕਸ਼ਨ UDP 1194 ਵਰਤਦਾ ਹੈ, ਇਸ ਲਈ ਬਾਹਰੀ ਸਰੋਤ ਪੋਰਟ ਬਦਲਣ ਨਾਲ ਅੰਦਰਲੀ ਸੇਵਾ ਵਿੱਚ ਕੁਝ ਨਹੀਂ ਬਦਲਦਾ।
ਬਾਹਰੀ ਪਰਤ 'ਤੇ ਵੀ ਪ੍ਰੋਟੋਕਾਲ ਮਹੱਤਵਪੂਰਨ ਹੈ। UDP 1194 ਅਤੇ TCP 1194 ਵੱਖਰੇ ਸਿਰੇ ਹਨ, ਅਤੇ 'TCP' ਸੁਣਨ ਵਾਲਾ ਕਦੇ ਵੀ UDP ਡੇਟਾਗ੍ਰਾਮ ਨਹੀਂ ਲਵੇਗਾ ਕਿਉਂਕਿ ਨੰਬਰ ਮਿਲਦਾ ਹੈ। ਤੈਨਾਤੀ ਦਾ ਦਸਤਾਵੇਜ਼ ਬਣਾਉਂਦਿਆਂ ਸਰਵਰ ਸੁਣਨ ਵਾਲੇ, ਕਲਾਇੰਟ ਸਾਕਟ ਅਤੇ ਅਨੁਵਾਦਿਤ ਸਰੋਤ ਨੂੰ ਤਿੰਨ ਵੱਖਰੀਆਂ ਚੀਜ਼ਾਂ ਵਜੋਂ ਲੇਬਲ ਕਰੋ, ਅਤੇ ਹਰ ਇੱਕ ਵਿੱਚ ਟਰਾਂਸਪੋਰਟ ਸ਼ਾਮਲ ਕਰੋ।
ਫਿਰ ਨੀਤੀ ਨੂੰ ਭੂਮਿਕਾਵਾਂ ਦੀ ਪਾਲਣਾ ਕਰਨ ਦਿਓ। ਸਰਵਰ ਆਪਣੇ ਸੁਣਨ ਵਾਲੇ 'ਤੇ ਇੱਛਤ ਟਰਾਂਸਪੋਰਟ ਖੋਲ੍ਹਦਾ ਹੈ ਅਤੇ ਅਜੇ ਵੀ ਸਾਥੀ ਦੀ ਪ੍ਰਮਾਣਿਕਤਾ ਕਰਦਾ ਹੈ; ਕਲਾਇੰਟ ਦਾ ਫਾਇਰਵਾਲ ਬਿਨਾਂ ਕੋਈ ਇਨਬਾਊਂਡ ਸੇਵਾ ਪ੍ਰਕਾਸ਼ਿਤ ਕੀਤੇ ਆਪਣੇ ਆਊਟਬਾਊਂਡ ਵਟਾਂਦਰੇ ਦੇ ਜਵਾਬ ਸਵੀਕਾਰ ਕਰਦਾ ਹੈ। ਸਟੇਟਲੈੱਸ ਫਿਲਟਰ ਨੂੰ ਵਾਪਸੀ ਦਿਸ਼ਾ ਸਪਸ਼ਟ ਲਿਖਣੀ ਪੈਂਦੀ ਹੈ, ਅਤੇ ਸਾਫ਼-ਸੁਥਰੇ ਚਿੱਤਰਾਂ ਤੋਂ ਬਾਹਰ ਵੀ ਇਹ ਫ਼ਰਕ ਮਹੱਤਵਪੂਰਨ ਹੋਣ ਦਾ ਵਿਹਾਰਕ ਕਾਰਨ ਇਹੀ ਹੈ।