GCP VM ਲਈ Cloud VPN: NAT IP ਨਹੀਂ, ਅੰਦਰੂਨੀ IP ਵਰਤੋ
ਗੇਟਵੇ ਐਂਡਪੁਆਇੰਟ, VM ਦਾ ਅੰਦਰੂਨੀ ਪਤਾ ਅਤੇ ਬਾਹਰੀ ਇੱਕ-ਤੋਂ-ਇੱਕ NAT ਪਤਾ ਤਿੰਨ ਵੱਖਰੇ ਕੰਮ ਕਰਦੇ ਹਨ। ਦੇਖੋ ਤੁਹਾਡਾ ਰੂਟ ਕਿਹੜਾ ਵਰਤਦਾ ਹੈ।
ਜਦੋਂ ਕੋਈ ਆਨ-ਪ੍ਰੀਮਾਈਜ਼ ਨੈੱਟਵਰਕ Cloud VPN ਰਾਹੀਂ VPC ਤੱਕ ਪਹੁੰਚਦਾ ਹੈ, ਤਾਂ Compute Engine ਸੇਵਾ ਦਾ ਟੀਚਾ ਆਮ ਤੌਰ 'ਤੇ VM ਦਾ ਅੰਦਰੂਨੀ ਪਤਾ ਹੁੰਦਾ ਹੈ। ਬਾਹਰੀ IPv4 ਪਤਾ ਉਹ ਦੂਜਾ ਪਤਾ ਨਹੀਂ ਹੈ ਜਿਸਨੂੰ ਤੁਸੀਂ ਉਸੇ ਪ੍ਰਾਈਵੇਟ ਰੂਟ ਵਿੱਚ ਪਾ ਸਕਦੇ ਹੋ। ਇਸ ਖੇਤਰ ਦੀ ਬਹੁਤੀ ਉਲਝਣ ਇਸ ਗੱਲ ਤੋਂ ਆਉਂਦੀ ਹੈ ਕਿ ਤਿੰਨ ਕੰਮਾਂ ਵਾਲੇ ਤਿੰਨ ਪਤਿਆਂ ਨੂੰ ਇੱਕ-ਦੂਜੇ ਦੀ ਥਾਂ ਵਰਤਣ ਯੋਗ ਮੰਨ ਲਿਆ ਜਾਂਦਾ ਹੈ, ਇਸ ਲਈ ਪਹਿਲਾਂ ਇਹ ਨਾਮ ਦਿਓ ਕਿ ਕੋਈ ਦਿੱਤਾ ਪੈਕਟ ਕਿਹੜਾ ਵਰਤ ਰਿਹਾ ਹੈ।
ਤਿੰਨ ਪਤੇ, ਤਿੰਨ ਕੰਮ
ਇਨ੍ਹਾਂ ਵਿੱਚੋਂ ਕਿਸੇ ਨੂੰ ਵੀ ਡੀਬੱਗ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਤਿੰਨੇ ਨਾਮ ਦਿਓ, ਕਿਉਂਕਿ ਜਵਾਬ ਬਦਲ ਦਿੰਦਾ ਹੈ ਕਿ ਅੱਗੇ ਤੁਸੀਂ ਕਿਹੜੀ ਚੀਜ਼ ਦੇਖੋਗੇ।
| Address | Job |
|---|---|
| Cloud VPN endpoint | where the IPsec peers meet |
| Internal IP | the address your route and firewall must name |
| External IPv4 | the platform's inbound mapping, not a guest address |
ਪਹਿਲਾ ਟਨਲ ਦਾ ਹੈ। ਦੂਜਾ ਤੁਹਾਡੇ ਰੂਟ ਅਤੇ ਫਾਇਰਵਾਲ ਡਿਜ਼ਾਈਨ ਦਾ ਹੈ। ਤੀਜਾ ਆਉਂਦੀ ਇੰਟਰਨੈੱਟ ਪਹੁੰਚ ਦਾ ਹੈ ਅਤੇ ਉਹ ਮੈਪ ਹੁੰਦਾ ਹੈ, ਜੁੜਦਾ ਨਹੀਂ। ਇਨ੍ਹਾਂ ਵਿੱਚੋਂ ਇੱਕ ਲਈ ਕੰਮ ਕਰਨ ਵਾਲਾ ਡਿਜ਼ਾਈਨ ਬਾਕੀ ਦੋ ਬਾਰੇ ਕੁਝ ਨਹੀਂ ਕਹਿੰਦਾ।
ਬਾਹਰੀ ਪਤਾ ਦੂਜਾ ਇੰਟਰਫੇਸ ਕਿਉਂ ਨਹੀਂ
Compute Engine 'ਤੇ ਅੰਦਰੂਨੀ ਅਤੇ ਬਾਹਰੀ ਪਹੁੰਚ ਕਿਵੇਂ ਵੱਖਰੀ ਹੈ ਇਸ ਲਈ ਐਡਰੈਸਿੰਗ ਗਾਈਡ ਹੀ ਅਧਿਕਾਰਤ ਸਰੋਤ ਹੈ। Compute Engine ਦਾ ਬਾਹਰੀ IPv4 ਇੰਸਟੈਂਸ ਦੇ ਇੱਕੋ ਇੱਕ ਅੰਦਰੂਨੀ NIC 'ਤੇ ਇੱਕ-ਤੋਂ-ਇੱਕ ਮੈਪਿੰਗ ਹੈ, ਇਸ ਲਈ ਮਹਿਮਾਨ ਨੂੰ ਉਸ NIC 'ਤੇ ਕਦੇ ਦੂਜਾ ਇੰਟਰਫੇਸ ਜਾਂ ਦੂਜਾ ਪਤਾ ਨਹੀਂ ਦਿਸਦਾ। VM ਅੰਦਰੋਂ ਜੋ ਰਿਪੋਰਟ ਕਰਦਾ ਹੈ ਉਹ ਅਜੇ ਵੀ ਇੱਕ ਪ੍ਰਾਇਮਰੀ ਅੰਦਰੂਨੀ ਪਤਾ ਹੈ।
ਇਸੇ ਲਈ ਨਿੱਜੀ ਕਲਾਇੰਟ ਟਨਲ ਰਾਹੀਂ 10.24.1.7 ਵੱਲ ਰੂਟ ਕਰਦਾ ਹੈ ਅਤੇ VM ਦੇ ਬਾਹਰੀ ਪਤੇ ਨੂੰ ਨਿਸ਼ਾਨਾ ਬਣਾਉਣ ਵਾਲਾ ਕਲਾਇੰਟ ਵੱਖਰੇ ਰਾਹਾਂ 'ਤੇ ਹੁੰਦੇ ਹਨ। ਜਨਤਕ ਪਤੇ ਲਈ ਫਾਇਰਵਾਲ ਨਿਯਮ ਖੋਲ੍ਹਣ ਨਾਲ ਉਸ VPC ਰੂਟ ਵਿੱਚ ਕੁਝ ਨਹੀਂ ਬਦਲਦਾ ਜਿਸਨੂੰ ਟਨਲ ਦਾ ਟ੍ਰੈਫਿਕ ਲੈ ਕੇ ਜਾਣਾ ਹੈ, ਅਤੇ ਮਹਿਮਾਨ ਦਾ ਰੂਟ ਸੰਪਾਦਿਤ ਕਰਨ ਨਾਲ ਪਲੇਟਫਾਰਮ ਦੀ ਮੈਪਿੰਗ ਨਹੀਂ ਹਿੱਲਦੀ। ਉਹ ਪਤਾ ਚੁਣੋ ਜੋ ਤੁਹਾਡਾ ਰੂਟ ਨਾਮ ਦਿੰਦਾ ਹੈ, ਫਿਰ ਸਿਰਫ਼ ਉਹੀ ਚੀਜ਼ਾਂ ਜਾਂਚੋ ਜੋ ਇਸਨੂੰ ਨਿਯੰਤਰਿਤ ਕਰਦੀਆਂ ਹਨ। ਇਹ ਅਨੁਸ਼ਾਸਨ ਇਸ ਟਰਬਲਸ਼ੂਟਿੰਗ ਰਾਹ ਤੋਂ ਬਹੁਤੀ ਅਟਕਲ ਹਟਾ ਦਿੰਦਾ ਹੈ।
gcloud ਨਾਲ ਰਾਹ ਤੁਰੋ
ਇੰਸਟੈਂਸ ਤੋਂ ਸ਼ੁਰੂ ਕਰੋ ਅਤੇ ਦੋਵੇਂ ਪਤੇ ਉਸੇ ਚੀਜ਼ ਤੋਂ ਪੜ੍ਹੋ, ਤਾਂ ਜੋ ਤੁਸੀਂ ਜਾਣ ਸਕੋ ਕਿ ਤੁਹਾਡਾ ਦਸਤਾਵੇਜ਼ ਕਿਸ ਬਾਰੇ ਗੱਲ ਕਰ ਰਿਹਾ ਹੈ:
gcloud compute instances describe app-1 --zone=europe-west1-b \
--format="value(networkInterfaces[0].networkIP,networkInterfaces[0].accessConfigs[0].natIP)"ਫਿਰ ਉਸ ਰਾਊਟਿੰਗ ਅਤੇ ਇਜਾਜ਼ਤ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ ਜਿਸ 'ਤੇ ਰਾਹ ਅਸਲ ਵਿੱਚ ਨਿਰਭਰ ਹੈ:
gcloud compute routes list --filter="destRange:10.24.1.0/24"
gcloud compute firewall-rules list --filter="sourceRanges:10.99.0.0/24"
gcloud compute vpn-tunnels describe TUNNEL_NAME --region=europe-west1ਟਨਲ ਦੀਆਂ ਐਲਾਨੀਆਂ ਅਤੇ ਸਿੱਖੀਆਂ ਰੇਂਜਾਂ ਪੜ੍ਹੋ, ਵਰਕਲੋਡ ਸਬਨੈੱਟ ਲਈ VPC ਰੂਟ, ਅਤੇ ਉਹ ਫਾਇਰਵਾਲ ਨਿਯਮ ਜੋ ਆਨ-ਪ੍ਰੀਮਾਈਜ਼ ਸਰੋਤ ਨੂੰ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ। ਮਹਿਮਾਨ 'ਤੇ ਸੁਣਨ ਵਾਲਾ ਪ੍ਰਾਸੰਗਿਕ ਹੋਣ ਤੋਂ ਪਹਿਲਾਂ ਇਹ ਤਿੰਨੇ ਮੇਲ ਖਾਣੇ ਚਾਹੀਦੇ ਹਨ।
ਫਿਰ ਮਹਿਮਾਨ ਜਾਂਚੋ: ਕੀ ਸੇਵਾ ਅੰਦਰੂਨੀ ਪਤੇ 'ਤੇ ਸੁਣ ਰਹੀ ਹੈ, ਅਤੇ ਕੀ ਇਸਦਾ ਵਾਪਸੀ ਰਾਹ ਦੁਬਾਰਾ VPC ਰਾਹੀਂ ਜਾਂਦਾ ਹੈ? ਸਿਰਫ਼ ਜਨਤਕ ਪਤੇ ਨਾਲ ਬੱਝਿਆ ਸੁਣਨ ਵਾਲਾ ਇਸ ਪਰਖ ਵਿੱਚ ਫੇਲ੍ਹ ਹੋਵੇਗਾ, ਭਾਵੇਂ ਕਲਾਉਡ ਪਾਸੇ ਦੀ ਹਰ ਚੀਜ਼ ਸਹੀ ਹੋਵੇ।
ਜਨਤਕ ਪ੍ਰੀਫਿਕਸ ਇੱਕ ਵੱਖਰਾ ਸਵਾਲ ਹੈ
ਉੱਪਰਲੀ ਕੋਈ ਗੱਲ ਇਹ ਨਹੀਂ ਕਹਿੰਦੀ ਕਿ VPN ਦੇ ਅੰਦਰ ਲਿਜਾਇਆ ਹਰ ਪਤਾ RFC1918 ਹੀ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ। ਦੂਰ ਦੇ ਨੈੱਟਵਰਕ ਨੂੰ ਜਨਤਕ ਥਾਂ ਤੋਂ ਜਾਇਜ਼ ਤੌਰ 'ਤੇ ਨੰਬਰ ਦਿੱਤੇ ਜਾ ਸਕਦੇ ਹਨ, ਬਸ਼ਰਤੇ ਪਲੇਟਫਾਰਮ ਰਾਊਟਿੰਗ ਦਾ ਸਮਰਥਨ ਕਰੇ ਅਤੇ ਆਪਰੇਟਰ ਕੋਲ ਪਤੇ ਦਾ ਅਧਿਕਾਰ ਹੋਵੇ। ਇਹ ਆਮ ਡਿਜ਼ਾਈਨ ਚੋਣ ਹੈ।
ਇਹ ਕਿਸੇ ਆਮ ਬਾਹਰੀ NAT ਪਤੇ ਨੂੰ ਦੂਜੇ ਅੰਦਰੂਨੀ ਸਬਨੈੱਟ ਪਤੇ ਵਾਂਗ ਸਮਝਣ ਦੇ ਬਰਾਬਰ ਨਹੀਂ ਹੈ। ਇੱਕ ਪ੍ਰੀਫਿਕਸ ਹੈ ਜਿਸਨੂੰ ਤੁਸੀਂ ਰੂਟ ਕਰਦੇ ਹੋ; ਦੂਜਾ ਮੈਪਿੰਗ ਹੈ ਜੋ ਪਲੇਟਫਾਰਮ ਆਉਂਦੀ ਪਹੁੰਚ 'ਤੇ ਲਾਗੂ ਕਰਦਾ ਹੈ।
ਬਾਹਰੀ IPv6 ਅਤੇ ਖਾਸ ਤੌਰ 'ਤੇ ਬਣਾਏ ਪਤਾ ਪ੍ਰਬੰਧਾਂ ਦਾ ਆਪਣਾ ਅਰਥ-ਸ਼ਾਸਤਰ ਹੈ। ਜੇ ਤੁਹਾਡੀ ਯੋਜਨਾ ਇਨ੍ਹਾਂ ਵਿੱਚੋਂ ਇੱਕ 'ਤੇ ਨਿਰਭਰ ਹੈ, ਤਾਂ IPv4 ਕੇਸ ਤੋਂ ਸਧਾਰਨ ਬਣਾਉਣ ਦੀ ਥਾਂ ਉਸ ਵਿਸ਼ੇਸ਼ਤਾ ਲਈ ਪਲੇਟਫਾਰਮ ਦਸਤਾਵੇਜ਼ ਪੜ੍ਹੋ। IPv4 ਮੈਪਿੰਗ ਆਮ ਕੇਸ ਹੈ, ਇੱਕੋ ਇੱਕ ਨਹੀਂ, ਅਤੇ ਹਰ ਅਪਵਾਦ ਦੇ ਆਪਣੇ ਨਿਯਮ ਹਨ।
ਓਵਰਲੈਪ ਹੁੰਦੀਆਂ ਰੇਂਜਾਂ ਇੱਕ ਵੱਖਰੀ ਸਮੱਸਿਆ ਹਨ
ਓਵਰਲੈਪ ਹੁੰਦੀਆਂ ਨਿੱਜੀ ਰੇਂਜਾਂ ਇੱਕ ਅਸਲੀ ਕਾਰਨ ਹਨ ਜਿਸ ਕਰਕੇ ਲੋਕ ਜਨਤਕ ਪਤੇ ਵੱਲ ਜਾਂਦੇ ਹਨ, ਅਤੇ ਇਹ ਗਲਤ ਸਾਧਨ ਹੈ। ਟੀਚੇ ਨੂੰ VM ਦੇ NAT ਪਤੇ ਵਿੱਚ ਬਦਲਣ ਨਾਲ ਓਵਰਲੈਪ ਹੱਲ ਨਹੀਂ ਹੁੰਦਾ; ਇਹ ਬਦਲਦਾ ਹੈ ਕਿ ਪੈਕਟ ਕਿਹੜੇ ਪਤੇ ਲਈ ਹੈਗਾ ਦਾਅਵਾ ਕਰਦਾ ਹੈ, ਵਾਪਸੀ ਰਾਹ ਕਿਵੇਂ ਕੰਮ ਕਰਦਾ ਹੈ ਇਹ ਪਰਿਭਾਸ਼ਿਤ ਕੀਤੇ ਬਿਨਾਂ।
ਓਵਰਲੈਪ ਜਾਣਬੁੱਝ ਕੇ ਹੱਲ ਕਰੋ: ਦੁਬਾਰਾ ਨੰਬਰ ਦਿਓ, ਸਮਰਥਿਤ ਅਨੁਵਾਦ ਡਿਜ਼ਾਈਨ ਵਰਤੋ, ਜਾਂ ਅਜਿਹੇ ਨੈੱਟਵਰਕ ਰਾਹੀਂ ਰੂਟ ਕਰੋ ਜਿੱਥੇ ਪ੍ਰੀਫਿਕਸ ਨਹੀਂ ਟਕਰਾਉਂਦੇ। ਇਨ੍ਹਾਂ ਵਿੱਚੋਂ ਹਰ ਇੱਕ ਮਾਲਕ ਵਾਲਾ ਡਿਜ਼ਾਈਨ ਹੈ। NAT ਪਤਾ ਡਿਜ਼ਾਈਨ ਨਹੀਂ ਹੈ।
ਦੋਵੇਂ ਖੇਤਰ ਵੱਖਰੇ ਤੌਰ 'ਤੇ ਦਸਤਾਵੇਜ਼ ਕਰੋ
ਟਨਲ ਸਾਥੀ ਅਤੇ ਵਰਕਲੋਡ ਟੀਚੇ ਨੂੰ ਦੋ ਵੱਖਰੇ ਰਨਬੁੱਕ ਖੇਤਰਾਂ ਵਜੋਂ ਦਰਜ ਕਰੋ, ਹਰ ਇੱਕ ਦੇ ਨਾਲ ਉਹ ਰੂਟ ਅਤੇ ਫਾਇਰਵਾਲ ਨਿਯਮ ਜੋ ਇਸਨੂੰ ਸਹਾਰਾ ਦਿੰਦੇ ਹਨ। ਉੱਪਰ ਆਉਣ ਵਾਲਾ IPsec ਟਨਲ ਸਿਰਫ਼ ਇਹ ਦੱਸਦਾ ਹੈ ਕਿ ਧਿਰਾਂ ਸਹਿਮਤ ਹਨ; ਇਹ ਨਹੀਂ ਦੱਸਦਾ ਕਿ ਵਰਕਲੋਡ ਕਿਹੜੇ ਪਤੇ 'ਤੇ ਪਹੁੰਚਯੋਗ ਹੈ, ਅਤੇ ਨਾ ਹੀ ਇਹ ਕਿ ਇਸਦਾ ਨਿੱਜੀ ਰੂਟ ਪੂਰਾ ਹੈ ਜਾਂ ਨਹੀਂ।
ਦੂਜੇ ਪਾਸੇ ਅਸਲੀ ਕਲਾਇੰਟ ਨਾਲ ਪੁਸ਼ਟੀ ਕਰੋ: ਨਾਮ ਹੱਲ ਕਰੋ, ਪੁਸ਼ਟੀ ਕਰੋ ਕਿ ਇਹ ਅੰਦਰੂਨੀ ਪਤਾ ਵਾਪਸ ਦਿੰਦਾ ਹੈ, ਜੁੜੋ ਅਤੇ ਵਾਪਸੀ ਟ੍ਰੈਫਿਕ ਜਾਂਚੋ। Compute Engine IP ਪਤਾ ਦਸਤਾਵੇਜ਼ ਉੱਪਰ ਵਰਤੇ ਗਏ ਅੰਦਰੂਨੀ-ਬਨਾਮ-ਬਾਹਰੀ ਫ਼ਰਕ ਦਾ ਹਵਾਲਾ ਹੈ।