ਤੁਹਾਡੀ Docker VPN ਪੋਰਟ ਮੈਪਿੰਗ OpenVPN ਤੱਕ ਕਿਉਂ ਕਦੇ ਨਹੀਂ ਪਹੁੰਚਦੀ
ਹੋਸਟ ਪੋਰਟ, ਕੰਟੇਨਰ ਪੋਰਟ ਅਤੇ ਟ੍ਰਾਂਸਪੋਰਟ ਤਿੰਨ ਵੱਖਰੇ ਫੈਸਲੇ ਹਨ। ਸਰਟੀਫਿਕੇਟ ਛੂਹਣ ਤੋਂ ਪਹਿਲਾਂ ਇੱਕ UDP ਕੋਸ਼ਿਸ਼ ਨੂੰ ਹਰ ਸੀਮਾ ਤੋਂ ਲੰਘਾ ਕੇ ਦੇਖੋ।
ਤੁਹਾਡਾ ਕੰਟੇਨਰ UDP 1195 ਉੱਤੇ ਸੁਣ ਸਕਦਾ ਹੈ ਜਦੋਂ ਕਿ ਹੋਸਟ 1194 ਪ੍ਰਕਾਸ਼ਿਤ ਕਰਦਾ ਹੈ, ਅਤੇ ਇਹ ਸਹੀ ਹੈ ਜਿੰਨੀ ਦੇਰ ਮੈਪਿੰਗ ਇਹ ਕਹਿੰਦੀ ਹੈ। ਸੰਖਿਆਵਾਂ ਇੱਕ ਅਨੁਵਾਦ ਸਾਰਣੀ ਬਣਾਉਂਦੀਆਂ ਹਨ: ਕਲਾਇੰਟ ਹੋਸਟ ਪੋਰਟ ਡਾਇਲ ਕਰਦਾ ਹੈ, Docker ਮੰਜ਼ਿਲ ਨੂੰ ਕੰਟੇਨਰ ਪੋਰਟ ਉੱਤੇ ਦੁਬਾਰਾ ਲਿਖਦਾ ਹੈ, ਅਤੇ OpenVPN ਆਪਣੀ ਕਨਫਿਗਰੇਸ਼ਨ ਵੱਲੋਂ ਦੱਸੇ ਪੋਰਟ ਉੱਤੇ ਜਵਾਬ ਦਿੰਦਾ ਹੈ। ਇਨ੍ਹਾਂ ਵਿੱਚੋਂ ਕਿਸੇ ਵੀ ਕੜੀ ਵਿੱਚ ਬੇਮੇਲ ਫਾਇਰਵਾਲ ਵਰਗੀ ਦਿਖਣ ਵਾਲੀ ਖਾਮੋਸ਼ ਅਸਫਲਤਾ ਪੈਦਾ ਕਰਦੀ ਹੈ। ਸਰਟੀਫਿਕੇਟ ਅਤੇ ਸਾਈਫਰ ਇਸ ਤੋਂ ਹੇਠਾਂ ਹੁੰਦੇ ਹਨ ਅਤੇ ਇਸਨੂੰ ਠੀਕ ਨਹੀਂ ਕਰ ਸਕਦੇ।
ਪ੍ਰਮਾਣਿਕਤਾ ਬਾਰੇ ਕੁਝ ਵੀ ਬਦਲਣ ਤੋਂ ਪਹਿਲਾਂ ਇੱਕ ਪੈਕਟ ਨੂੰ ਕਲਾਇੰਟ ਤੋਂ ਪ੍ਰਕਿਰਿਆ ਤੱਕ ਟਰੈਕ ਕਰੋ।
ਤਿੰਨ ਸੰਖਿਆਵਾਂ, ਇੱਕ ਕਨੈਕਸ਼ਨ
ਇਹ ਤਿੰਨ ਸੰਖਿਆਵਾਂ ਉਹ ਦੂਰਲਾ ਮੰਜ਼ਿਲ ਹਨ ਜੋ ਕਲਾਇੰਟ ਵਰਤਦਾ ਹੈ, ਹੋਸਟ ਉੱਤੇ ਪ੍ਰਕਾਸ਼ਿਤ ਮੈਪਿੰਗ, ਅਤੇ ਕੰਟੇਨਰ ਦੇ ਅੰਦਰਲਾ ਸਰੋਤਾ। ਇਹਨਾਂ ਦਾ ਬਰਾਬਰ ਹੋਣਾ ਜ਼ਰੂਰੀ ਨਹੀਂ, ਪਰ ਇਹਨਾਂ ਨੂੰ ਜ਼ੰਜੀਰ ਬਣਨੀ ਚਾਹੀਦੀ ਹੈ। ਬਰਾਬਰ ਸੰਖਿਆਵਾਂ ਇੱਕ ਖਾਸ ਹਾਲਤ ਹੈ ਜੋ ਸੰਜੋਗ ਨਾਲ ਸਭ ਤੋਂ ਆਮ ਹੈ, ਇਸ ਲਈ ਬੇਮੇਲ ਇੱਕ ਵਾਰ ਲਿਖਣਾ ਸੌਖਾ ਅਤੇ ਬਾਅਦ ਵਿੱਚ ਵੇਖਣਾ ਔਖਾ ਹੁੰਦਾ ਹੈ।
ਡੀਬੱਗ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਜ਼ੰਜੀਰ ਨੂੰ ਇੱਕ ਲਾਈਨ ਵਿੱਚ ਲਿਖੋ: ਕਲਾਇੰਟ ਪਤਾ ਅਤੇ ਪੋਰਟ, ਹੋਸਟ ਮੈਪਿੰਗ, ਕੰਟੇਨਰ ਸਰੋਤਾ, ਟ੍ਰਾਂਸਪੋਰਟ। ਜ਼ੰਜੀਰ ਵਿੱਚ ਨੁਕਸ ਵੱਖਰੇ ਮੁੱਲਾਂ ਨਾਲ ਦੋ ਵਾਰ ਆਉਣ ਵਾਲੀ ਸੰਖਿਆ ਵਜੋਂ ਦਿਸਦਾ ਹੈ।
| Location | Example |
|---|---|
| Remote client destination | Host address, UDP 1194 |
| Published mapping | Host UDP 1194 to container UDP 1195 |
| Container listener | OpenVPN on UDP 1195 |
ਛੋਟਾ ਸਿੰਟੈਕਸ ਅਸਲ ਵਿੱਚ ਕੀ ਕਹਿੰਦਾ ਹੈ
ਛੋਟੇ ਰੂਪ ਵਿੱਚ ਖੱਬਾ ਪਾਸਾ ਹੋਸਟ ਪੋਰਟ ਅਤੇ ਸੱਜਾ ਪਾਸਾ ਕੰਟੇਨਰ ਪੋਰਟ ਹੁੰਦਾ ਹੈ, ਅਤੇ ਸਲੈਸ਼ ਪਿਛੇਤਰ ਟ੍ਰਾਂਸਪੋਰਟ ਚੁਣਦਾ ਹੈ। ਪਿਛੇਤਰ ਛੱਡ ਦਿਓ ਤਾਂ Docker ਮੈਪਿੰਗ ਨੂੰ TCP ਮੰਨਦਾ ਹੈ, ਇਸ ਲਈ ਪ੍ਰੋਟੋਕੋਲ ਤੋਂ ਬਿਨਾਂ ਮੈਪਿੰਗ ਪਿੱਛੇਲਾ UDP ਸਰੋਤਾ ਉਹ ਸਰੋਤਾ ਹੈ ਜਿੱਥੇ ਕੋਈ ਨਹੀਂ ਪਹੁੰਚ ਸਕਦਾ। ਇਹ ਡਿਫਾਲਟ ਦਸਤਾਵੇਜ਼ੀ ਹੈ ਅਤੇ ਅਜੇ ਵੀ ਉਹਨਾਂ ਨੂੰ ਹੈਰਾਨ ਕਰਦਾ ਹੈ ਜਿਨ੍ਹਾਂ ਸੰਖਿਆਵਾਂ ਮਿਲਾ ਕੇ ਕੰਮ ਮੁੱਕਾ ਮੰਨਿਆ।
ਲੰਮਾ ਰੂਪ ਬਾਈਂਡ ਪਤਾ ਅਤੇ ਪ੍ਰੋਟੋਕੋਲ ਸਪਸ਼ਟ ਤੌਰ ’ਤੇ ਤੈਅ ਕਰਦਾ ਹੈ, ਜੋ ਨੈੱਟਵਰਕ ਵੱਲ ਦੇਖ ਰਹੀ ਹਰ ਚੀਜ਼ ਲਈ ਵਾਧੂ ਲਾਈਨਾਂ ਦੇ ਯੋਗ ਹੈ। ਜਿਸ ਫਾਈਲ ਨੇ ਮੈਪਿੰਗ ਬਣਾਈ ਉਸ ’ਤੇ ਭਰੋਸਾ ਕਰਨ ਦੀ ਥਾਂ ਪ੍ਰਕਾਸ਼ਿਤ ਮੈਪਿੰਗ ਦੁਬਾਰਾ ਪੜ੍ਹੋ।
ports:
- 1194:1195/udpਪੈਕਟ ਕਿੱਥੇ ਰੁਕ ਸਕਦਾ ਹੈ
ਬੇਨਤੀ Docker ਤੋਂ ਪਹਿਲਾਂ, Docker ਵਿੱਚ ਜਾਂ ਸਰੋਤੇ ’ਤੇ ਸੁੱਟੀ ਜਾ ਸਕਦੀ ਹੈ। Docker ਤੋਂ ਅੱਗੇ ਕਲਾਊਡ ਫਾਇਰਵਾਲ ਜਾਂ ਆਪਣੀ ਫਾਰਵਰਡਿੰਗ ਕਰਨ ਵਾਲਾ ਰਾਊਟਰ ਹੋ ਸਕਦਾ ਹੈ, ਅਤੇ ਉਸ ਡਿਵਾਈਸ ਨੂੰ ਹੋਸਟ ਵੱਲ ਵਾਲਾ ਪੋਰਟ ਅਤੇ ਸਹੀ ਟ੍ਰਾਂਸਪੋਰਟ ਚਾਹੀਦਾ ਹੈ। Docker ਦੇ ਅੰਦਰ ਗਲਤ ਕੰਟੇਨਰ ਪੋਰਟ ਦੀ ਮੈਪਿੰਗ ਬੰਦ ਸਾਕਟ ਵੱਲ ਭੇਜਦੀ ਹੈ।
ਫਿਰ ਸਰੋਤਾ: OpenVPN ਦੀ ਕਨਫਿਗਰੇਸ਼ਨ ਇੱਕ ਪੋਰਟ ਅਤੇ ਪ੍ਰੋਟੋਕੋਲ ਦੱਸਦੀ ਹੈ, ਅਤੇ ਕੰਟੇਨਰ ਦੇ ਅੰਦਰ ਕਿਸੇ ਹੋਰ ’ਤੇ ਆਉਣ ਵਾਲਾ ਕਲਾਇੰਟ ਕਿਤੇ ਨਹੀਂ ਪਹੁੰਚਦਾ। UDP ਸੇਵਾ ਦੀ TCP ਨਾਲ ਜਾਂਚ ਇਹਨਾਂ ਕਿਸੇ ਵੀ ਪੜਾਅ ’ਤੇ ਕੁਝ ਸਾਬਤ ਨਹੀਂ ਕਰਦੀ, ਇਸ ਲਈ ਉਹੀ ਟ੍ਰਾਂਸਪੋਰਟ ਵਰਤੋ ਜੋ ਕਲਾਇੰਟ ਵਰਤੇਗਾ।
ਬਾਈਂਡ ਪਤੇ ਪਹੁੰਚ ਤੈਅ ਕਰਦੇ ਹਨ
loopback ਨਾਲ ਬੱਝੀ ਪ੍ਰਕਾਸ਼ਿਤ ਮੈਪਿੰਗ ਸਿਰਫ਼ ਹੋਸਟ ਤੋਂ ਪਹੁੰਚਯੋਗ ਹੁੰਦੀ ਹੈ, ਜਦੋਂ ਕਿ ਸਾਰੇ ਇੰਟਰਫੇਸ ਨਾਲ ਬੱਝੀ ਮੈਪਿੰਗ ਉੱਥੇ ਪਹੁੰਚਯੋਗ ਹੁੰਦੀ ਹੈ ਜਿੱਥੇ ਫਾਇਰਵਾਲ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। ਪਤਾ ਛੱਡਣ ਵਾਲੀ Compose ਫਾਈਲ ਵਿੱਚ ਦੋਵੇਂ ਇੱਕੋ ਜਿਹੀਆਂ ਦਿਸਦੀਆਂ ਹਨ, ਅਤੇ Docker ਦਾ ਡਿਫਾਲਟ ਚੌੜਾ ਹੈ।
ਤਾਇਨਾਤੀ ਕਿਹੜਾ ਖੁਲਾਸਾ ਚਾਹੁੰਦੀ ਹੈ ਇਹ ਤੈਅ ਕਰੋ, ਫਿਰ ਇਸਨੂੰ ਸਪਸ਼ਟ ਲਿਖੋ। loopback ਰਾਹੀਂ ਜੁੜਨ ਵਾਲੀ ਅੰਦਰੂਨੀ ਜਾਂਚ ਅਤੇ ਜੁੜ ਨਾ ਸਕਣ ਵਾਲਾ ਦੂਰਲਾ ਕਲਾਇੰਟ ਦੋਵੇਂ ਇੱਕੋ ਕੰਟੇਨਰ ਦਾ ਸਹੀ ਵਰਣਨ ਹੋ ਸਕਦੇ ਹਨ।
ਚੱਲ ਰਹੀ ਹਾਲਤ ਪੜ੍ਹੋ
ਚੱਲ ਰਹੇ ਕੰਟੇਨਰ ਦੀ ਪ੍ਰਭਾਵੀ ਮੈਪਿੰਗ ਅਤੇ ਉਸਦੇ ਨੈੱਟਵਰਕ ਨਾਮ-ਥਾਂ ਵਿੱਚਲੇ ਸਰੋਤੇ ਦੀ ਜਾਂਚ ਕਰੋ। ਕੰਟੇਨਰ ਸ਼ੁਰੂ ਹੋਣ ਤੋਂ ਬਾਅਦ Compose ਫਾਈਲ ਸੋਧੀ ਗਈ ਹੋ ਸਕਦੀ ਹੈ, ਇਮੇਜ ਮੈਟਾਡੇਟਾ ਪੋਰਟ ਪ੍ਰਕਾਸ਼ਿਤ ਕੀਤੇ ਬਿਨਾਂ ਘੋਸ਼ਿਤ ਕਰ ਸਕਦਾ ਹੈ, ਅਤੇ ਦੂਜਾ ਕੰਟੇਨਰ ਪਹਿਲਾਂ ਹੀ ਹੋਸਟ ਪੋਰਟ ਰੱਖ ਸਕਦਾ ਹੈ। ਇਮੇਜ ਵਿੱਚ ਪੋਰਟ ਘੋਸ਼ਿਤ ਕਰਨਾ ਇਸਨੂੰ ਪ੍ਰਕਾਸ਼ਿਤ ਕਰਨਾ ਨਹੀਂ ਹੈ, ਅਤੇ ਦੋਹਾਂ ਵਿੱਚੋਂ ਕੋਈ ਵੀ ਸੁਣਨ ਦੇ ਬਰਾਬਰ ਨਹੀਂ।
ਤਿੰਨ ਵੱਖਰੀਆਂ ਹਾਲਤਾਂ, ਤਿੰਨ ਵੱਖਰੇ ਕਮਾਂਡ, ਅਤੇ ਸਿਰਫ਼ ਆਖਰੀ OpenVPN ਨਾਲ ਸਬੰਧਤ ਹੈ।
ਮੈਪਿੰਗ ਸਹੀ ਹੋਣ ਤੋਂ ਬਾਅਦ
ਪੈਕਟ OpenVPN ਤੱਕ ਪਹੁੰਚਣ ਤੋਂ ਬਾਅਦ ਉਸਦਾ ਲਾਗ TLS ਅਤੇ ਪ੍ਰਮਾਣਿਕਤਾ ਬਾਰੇ ਪੜ੍ਹਨ ਦੀ ਥਾਂ ਹੈ। ਕਦੇ ਨਾ ਆਏ ਪੈਕਟ ਨੂੰ ਠੀਕ ਕਰਨ ਲਈ ਸਰਟੀਫਿਕੇਟ ਦੁਬਾਰਾ ਬਣਾਉਣਾ ਦੂਜਾ ਚਲ ਜੋੜਨ ਵਾਲਾ ਵਿਅਰਥ ਕੰਮ ਹੈ। ਮੈਪਿੰਗ ਦੀ ਟਿੱਪਣੀ ਕਲਾਇੰਟ ਪਰੋਫਾਈਲ ਦੇ ਕੋਲ ਰੱਖੋ ਤਾਂ ਜੋ ਅਗਲਾ ਵਿਅਕਤੀ ਤਿੰਨੇ ਸੰਖਿਆਵਾਂ ਦੁਬਾਰਾ ਲੱਭਣ ਦੀ ਥਾਂ ਇੱਕ ਲਾਈਨ ਪੜ੍ਹੇ। ਹੋਸਟ ਵੱਲ ਇੱਕ ਵਾਰ ਪੈਕਟ ਕੈਪਚਰ ਕਰਨ ਨਾਲ ਤਿੰਨਾਂ ਕੜੀਆਂ ਵਿੱਚੋਂ ਕਿਹੜੀ ਗਲਤ ਹੈ ਇਹ ਤੈਅ ਹੁੰਦਾ ਹੈ, ਅਤੇ ਇਸਦਾ ਖ਼ਰਚ ਸਰਟੀਫਿਕੇਟ ਦੁਬਾਰਾ ਬਣਾਉਣ ਤੋਂ ਘੱਟ ਹੈ।
ਇੱਥੇ ਦੱਸੀ ਹਾਲਤ ਬ੍ਰਿਜ ਪ੍ਰਕਾਸ਼ਨ ਦੀ ਹੈ। ਹੋਸਟ ਨੈੱਟਵਰਕਿੰਗ ਅਤੇ ਰੂਟ ਕੀਤੇ ਕੰਟੇਨਰ ਪਤੇ ਅਨੁਵਾਦ ਛੱਡ ਦਿੰਦੇ ਹਨ, ਇਸ ਲਈ ਉਹਨਾਂ ਡਿਜ਼ਾਈਨਾਂ ਵਿੱਚ ਉਹੀ ਸੰਖਿਆਵਾਂ ਕੁਝ ਹੋਰ ਅਰਥ ਰੱਖਦੀਆਂ ਹਨ।