ਹਰ ਕਲਾਇੰਟ ਪ੍ਰੋਫਾਈਲ ਇੱਕ ਸਰਵਰ ਦਾ ਨਾਮ ਦਿੰਦਾ ਹੈ, ਇਸ ਲਈ ਵਰਤੋਂਕਾਰ ਦੀ ਥਾਂ ਤੋਂ ਇੱਕ ਟਨਲ ਅਤੇ ਸੁਰੱਖਿਆ ਖਤਮ ਹੋਣ ਦੀ ਇੱਕ ਥਾਂ ਹੁੰਦੀ ਹੈ। ਉਸ ਪਹਿਲੇ ਗੇਟਵੇ ਤੋਂ ਬਾਅਦ ਕੀ ਹੁੰਦਾ ਹੈ, ਇਹ ਅਜਿਹਾ ਡਿਜ਼ਾਈਨ ਫੈਸਲਾ ਹੈ ਜੋ ਕਲਾਇੰਟ ਕਦੇ ਨਹੀਂ ਵੇਖਦਾ, ਅਤੇ ਦੋਵੇਂ ਆਮ ਡਿਜ਼ਾਈਨ ਜਾਂਚ ਵਿੱਚ ਬਹੁਤ ਵੱਖਰੇ ਵਿਵਹਾਰ ਕਰਦੇ ਹਨ। ਸੀਰੀਅਲ ਚੇਨ ਵਿੱਚ ਪਹਿਲਾ ਗੇਟਵੇ ਡੀਕ੍ਰਿਪਟ ਕਰਦਾ ਹੈ ਅਤੇ ਦੁਬਾਰਾ ਐਨਕ੍ਰਿਪਟ ਕਰਦਾ ਹੈ। ਨੈਸਟਡ ਚੇਨ ਵਿੱਚ ਇਹ ਬਾਹਰੀ ਪਰਤ ਹਟਾਉਂਦਾ ਹੈ ਅਤੇ ਉਹ ਅੰਦਰੂਨੀ ਟਨਲ ਅੱਗੇ ਭੇਜਦਾ ਹੈ ਜਿਸਨੂੰ ਇਹ ਖੋਲ੍ਹ ਨਹੀਂ ਸਕਦਾ। ਹਾਪ ਦੀ ਗਿਣਤੀ ਦੋਵਾਂ ਵਿੱਚ ਇੱਕੋ ਹੈ, ਇਸ ਲਈ ਫਰਕ ਗਿਣਨਾ ਨਹੀਂ, ਖਿੱਚਣਾ ਚਾਹੀਦਾ ਹੈ।

ਕਲਾਇੰਟ ਤੋਂ ਸ਼ੁਰੂ ਕਰੋ ਅਤੇ ਦੋਵੇਂ ਸਿਰਿਆਂ ਦੇ ਨਾਮ ਦਿਓ

ਵਰਤੋਂਕਾਰ ਜਿੱਥੋਂ ਸ਼ੁਰੂ ਕਰਦਾ ਹੈ ਉੱਥੋਂ ਸ਼ੁਰੂ ਕਰੋ, ਕਨੈਕਸ਼ਨ ਪ੍ਰੋਫਾਈਲ ਵਿੱਚ। ਇਸ ਵਿੱਚ ਇੱਕ ਦੂਰ ਦਾ ਪਤਾ, ਇੱਕ ਪ੍ਰਮਾਣੀਕਰਨ ਢੰਗ ਅਤੇ, ਜਦੋਂ ਡਿਜ਼ਾਈਨ ਸਮਰਥਨ ਕਰਦਾ ਹੈ, ਰੂਟਾਂ ਦੀ ਸੂਚੀ ਹੁੰਦੀ ਹੈ। ਕਲਾਇੰਟ ਤੋਂ ਗੇਟਵੇ A ਤੱਕ ਦੇ ਉਸ ਬਾਹਰੀ ਟਨਲ ਨੂੰ ਲੇਬਲ ਕਰੋ ਅਤੇ ਇਸਨੂੰ ਉਦਾਹਰਨ ਪਤੇ ਦਿਓ: ਕਲਾਇੰਟ ਦਾ ਟਨਲ ਪਤਾ 10.77.0.2, A ਦਾ 10.77.0.1, ਅਤੇ A ਦਾ ਜਨਤਕ ਅੰਤ ਬਿੰਦੂ 198.51.100.10, TEST-NET-2 ਦਸਤਾਵੇਜ਼ੀ ਰੇਂਜ ਤੋਂ ਲਿਆ, ਤਾਂ ਜੋ ਉਦਾਹਰਨ ਵਿੱਚ ਕੁਝ ਵੀ ਅਸਲੀ ਹੋਸਟ ਨਾਲ ਟਕਰਾ ਨਾ ਸਕੇ।

ਉਸ ਪ੍ਰੋਫਾਈਲ ਵਿੱਚ ਗੇਟਵੇ B ਦਾ ਕੋਈ ਜ਼ਿਕਰ ਨਹੀਂ ਹੈ, ਅਤੇ ਇਹ ਕੋਈ ਨੁਕਸ ਨਹੀਂ ਹੈ। ਦੂਜਾ ਹਾਪ A ਦਾ ਹੈ, ਅਤੇ ਕਲਾਇੰਟ ਦਾ ਇੱਕੋ ਇੱਕ ਫਰਜ਼ ਟ੍ਰੈਫਿਕ ਨੂੰ A ਤੱਕ ਪਹੁੰਚਾਉਣਾ ਅਤੇ ਜੋ ਵਾਪਸ ਆਉਂਦਾ ਹੈ ਉਸਨੂੰ ਸਵੀਕਾਰ ਕਰਨਾ ਹੈ। A ਟਨਲ ਖਤਮ ਕਰਦਾ ਹੈ, ਅੱਗੇ ਭੇਜਦਾ ਹੈ ਜਾਂ ਨਵਾਂ ਖੋਲ੍ਹਦਾ ਹੈ — ਇਹ ਸਵਾਲ ਦਾ ਜਵਾਬ ਇਸ ਪੂਰੀ ਯਾਤਰਾ ਦਾ ਬਾਕੀ ਹਿੱਸਾ ਦਿੰਦਾ ਹੈ, ਅਤੇ ਇਹੀ ਤੈਅ ਕਰਦਾ ਹੈ ਕਿ A ਕੀ ਪੜ੍ਹ ਸਕਦਾ ਹੈ।

ਸੀਰੀਅਲ: A ਡੀਕ੍ਰਿਪਟ ਕਰਦਾ ਹੈ, ਫਿਰ ਦੁਬਾਰਾ ਐਨਕ੍ਰਿਪਟ ਕਰਦਾ ਹੈ

ਸੀਰੀਅਲ ਡਿਜ਼ਾਈਨ ਵਿੱਚ A ਟ੍ਰੈਫਿਕ ਨੂੰ ਦੋ ਵਾਰ ਖਤਮ ਕਰਦਾ ਹੈ। ਇਹ ਕਲਾਇੰਟ ਤੋਂ ਸੁਰੱਖਿਆ ਹਟਾਉਂਦਾ ਹੈ, ਐਪਲੀਕੇਸ਼ਨ ਦਾ IP ਪੈਕੇਟ ਲੈਂਦਾ ਹੈ, ਅਤੇ ਫਿਰ ਉਸ ਪੈਕੇਟ ਨੂੰ ਦੂਜੀ ਟਨਲ ਰਾਹੀਂ ਭੇਜਦਾ ਹੈ ਜੋ A ਨੇ B ਵੱਲ ਬਣਾਈ ਹੈ। ਇਹਨਾਂ ਦੋ ਕਿਰਿਆਵਾਂ ਵਿਚਕਾਰ ਪੈਕੇਟ A ਦੇ ਅੱਗੇ ਭੇਜਣ ਦੇ ਰਾਹ ਵਿੱਚ ਨਿੱਜੀ ਮੰਜ਼ਿਲ ਵੱਲ ਪਤਾ ਕੀਤੇ ਆਮ IP ਪੈਕੇਟ ਵਜੋਂ ਬੈਠਦਾ ਹੈ।

ਇਸ ਤੋਂ ਦੋ ਨਤੀਜੇ ਨਿਕਲਦੇ ਹਨ ਜੋ ਸਪਸ਼ਟ ਕਹਿਣੇ ਚਾਹੀਦੇ ਹਨ। A ਅੰਦਰੂਨੀ ਪੈਕੇਟ 'ਤੇ ਨੀਤੀ ਲਾਗੂ ਕਰ ਸਕਦਾ ਹੈ, ਰੂਟਾਂ, ਫਿਲਟਰ ਨਿਯਮਾਂ ਅਤੇ ਸਰੋਤ ਤੇ ਮੰਜ਼ਿਲ ਦੇ ਲੌਗ ਦੇ ਰੂਪ ਵਿੱਚ, ਅਤੇ A ਨੂੰ ਦੋ ਸੈੱਟ ਪ੍ਰਮਾਣ ਪੱਤਰ ਰੱਖਣੇ ਪੈਂਦੇ ਹਨ: ਇੱਕ ਕਲਾਇੰਟ ਲਈ ਸਰਵਰ ਵਜੋਂ ਅਤੇ ਇੱਕ B ਦੇ ਕਲਾਇੰਟ ਵਜੋਂ। ਹਰ ਪਲ ਸੁਰੱਖਿਆ ਮੌਜੂਦ ਹੈ, ਫਿਰ ਵੀ ਸੁਰੱਖਿਅਤ ਵਸਤੂ A 'ਤੇ ਆਪਣੀ ਪਛਾਣ ਬਦਲ ਲੈਂਦੀ ਹੈ।

ਇਸ ਤੋਂ ਇਹ ਨਹੀਂ ਨਿਕਲਦਾ ਕਿ A ਐਪਲੀਕੇਸ਼ਨ ਦਾ ਸਾਦਾ ਪਾਠ ਪੜ੍ਹਦਾ ਹੈ। ਜਦੋਂ ਕਲਾਇੰਟ ਅਤੇ ਸੇਵਾ TLS ਚਲਾਉਂਦੇ ਹਨ ਅਤੇ ਇੱਕ ਦੂਜੇ ਦੇ ਸਰਟੀਫਿਕੇਟ ਜਾਂਚਦੇ ਹਨ, A ਪੜ੍ਹਨਯੋਗ ਬੇਨਤੀ ਦੀ ਬਜਾਏ TLS ਰਿਕਾਰਡ ਸਟ੍ਰੀਮ ਵੇਖਦਾ ਹੈ। ਇਹ ਪੱਕਾ ਕਰਨ ਲਈ ਕਿ ਉਹ ਸੁਰੱਖਿਆ ਕਿੱਥੇ ਖਤਮ ਹੁੰਦੀ ਹੈ, ਟਨਲ ਦਾ ਚਿੱਤਰ ਨਹੀਂ, ਸੇਵਾ ਦੀ ਸਰਟੀਫਿਕੇਟ ਚੇਨ ਵੇਖਣੀ ਪੈਂਦੀ ਹੈ।

ਨੈਸਟਡ: A ਸਿਰਫ ਬਾਹਰੀ ਪਰਤ ਹਟਾਉਂਦਾ ਹੈ

ਨੈਸਟਡ ਡਿਜ਼ਾਈਨ ਵਿੱਚ ਕਲਾਇੰਟ ਪਹਿਲਾਂ B ਵੱਲ ਅੰਦਰੂਨੀ ਟਨਲ ਬਣਾਉਂਦਾ ਹੈ ਅਤੇ ਫਿਰ ਉਸ ਟਨਲ ਨੂੰ ਬਾਹਰੀ ਟਨਲ ਦੇ ਅੰਦਰ ਲੈ ਕੇ A ਤੱਕ ਜਾਂਦਾ ਹੈ। A ਬਾਹਰੀ ਹੈਡਰ ਹਟਾਉਂਦਾ ਹੈ, ਅੰਦਰੂਨੀ ਟਨਲ ਲੱਭਦਾ ਹੈ ਅਤੇ ਉਸਦੀਆਂ ਚਾਬੀਆਂ ਰੱਖੇ ਬਿਨਾਂ ਅੱਗੇ ਭੇਜਦਾ ਹੈ, ਇਸ ਲਈ ਅੰਦਰੂਨੀ ਸੁਰੱਖਿਆ ਅਜੇ ਵੀ B 'ਤੇ ਖਤਮ ਹੁੰਦੀ ਹੈ।

ਫਿਰ ਕਲਾਇੰਟ ਦਾ ਉੱਪਰ ਵੱਲ ਲਿੰਕ ਦੋ ਪਰਤਾਂ ਢੋਂਦਾ ਹੈ, ਜਦੋਂ ਕਿ A ਅਤੇ B ਵਿਚਕਾਰਲਾ ਰਾਹ ਇੱਕ। A ਅੰਦਰੂਨੀ ਟਨਲ ਦੇ ਬਾਹਰੀ ਪਤੇ ਵੇਖਦਾ ਹੈ, ਜੋ ਇਹ ਜਾਣਨ ਲਈ ਕਾਫ਼ੀ ਹੈ ਕਿ ਟ੍ਰੈਫਿਕ ਹੈ ਅਤੇ ਲਗਭਗ ਕਿੱਧਰ ਜਾ ਰਿਹਾ ਹੈ, ਅਤੇ ਪੇਲੋਡ ਪੜ੍ਹਨ ਲਈ ਕਾਫ਼ੀ ਨਹੀਂ। ਸੀਰੀਅਲ ਮਾਮਲੇ ਤੋਂ ਪੂਰਾ ਫਰਕ ਇਹੀ ਹੈ, ਅਤੇ ਕੋਈ ਹਾਪ ਕਾਊਂਟਰ ਇਹ ਨਹੀਂ ਦਿਖਾਉਂਦਾ। A ਅਜੇ ਵੀ ਜੋ ਕਰ ਸਕਦਾ ਹੈ ਉਹ ਹੈ ਜੋ ਪੜ੍ਹ ਨਹੀਂ ਸਕਦਾ ਉਸਨੂੰ ਅੱਗੇ ਭੇਜਣ ਤੋਂ ਇਨਕਾਰ ਕਰਨਾ, ਅਤੇ ਇਹ ਉਸ ਗੇਟਵੇ ਦੇ ਆਪਰੇਟਰ ਲਈ ਹਮੇਸ਼ਾ ਉਪਲਬਧ ਹੈ।

ਨੈਸਟਿੰਗ ਉਸ ਗੁਣ ਦੀ ਕੀਮਤ ਲੈਂਦੀ ਹੈ। ਹਰ ਪਰਤ ਹੈਡਰ ਓਵਰਹੈੱਡ ਜੋੜਦੀ ਹੈ, ਇਸ ਲਈ MTU ਅਤੇ MSS ਯੋਜਨਾ ਸੁਥਰੀ ਹੋਣ ਦੀ ਬਜਾਏ ਲਾਜ਼ਮੀ ਹੋ ਜਾਂਦੀ ਹੈ, ਅਤੇ ਇੱਕ ਪਰਤ ਨਾਲ ਚੱਲਣ ਵਾਲਾ ਰਾਹ ਦੋ ਨਾਲ ਵੱਡੇ ਪੈਕੇਟ ਚੁੱਪਚਾਪ ਡੇਗ ਸਕਦਾ ਹੈ। ਹਰ ਪਰਤ ਨੂੰ ਆਪਣਾ ਮੁੜ-ਜੁੜਨ ਅਤੇ ਜੀਵਤ ਰੱਖਣ ਦਾ ਵਿਵਹਾਰ ਵੀ ਚਾਹੀਦਾ ਹੈ, ਅਤੇ ਇੱਕ ਪਰਤ ਦੀ ਖਰਾਬੀ ਦੂਜੀ ਰਾਹੀਂ ਅੰਸ਼ਕ ਰੁਕਾਵਟ ਵਾਂਗ ਦਿਖਦੀ ਹੈ।

ਸਿਰਫ ਟਨਲ ਨਹੀਂ, ਨਿਰੀਖਕ ਖਿੱਚੋ

ਟਨਲ ਚਿੱਤਰ ਦਾ ਸੌਖਾ ਹਿੱਸਾ ਹਨ। ਨਿਰੀਖਕ ਹੀ ਡਿਜ਼ਾਈਨ ਦਾ ਵਿਸ਼ਾ ਹਨ, ਇਸ ਲਈ ਹਰ ਦ੍ਰਿਸ਼ਟੀਕੋਣ ਲਈ ਇੱਕ ਕਤਾਰ ਲਿਖੋ ਅਤੇ ਭਰੋ ਕਿ ਹਰ ਇੱਕ ਅਸਲ ਵਿੱਚ ਕੀ ਪੜ੍ਹ ਸਕਦਾ ਹੈ।

Vantage pointSerial chainNested chain
Client's access networkOuter tunnel onlyOuter tunnel only
Operator of AInner IP packet between A and BOuter addresses of the inner tunnel, not its payload
Path between A and BSecond tunnelSecond tunnel
Operator of BInner packet re-originated by APayload after the inner layer is removed
Service edgeTraffic from the exit addressTraffic from the exit address

ਦੋ ਕਤਾਰਾਂ ਸਦਾ ਰਲ ਜਾਂਦੀਆਂ ਹਨ: A ਦਾ ਆਪਰੇਟਰ ਅਤੇ ਕਲਾਇੰਟ ਦੀ ਟਨਲ ਦਾ ਸਪਲਾਇਰ। ਇਹ ਇੱਕੋ ਸੰਸਥਾ ਹੋ ਸਕਦੇ ਹਨ, ਅਤੇ ਵੱਖਰੇ ਗੇਟਵੇ ਨਾਮ ਉਹਨਾਂ ਨੂੰ ਸੁਤੰਤਰ ਨਹੀਂ ਬਣਾਉਂਦੇ। ਸੁਤੰਤਰ ਮਾਲਕੀ ਲਈ ਵੱਖਰਾ ਪ੍ਰਬੰਧਕੀ ਨਿਯੰਤਰਣ, ਵੱਖਰੇ ਪ੍ਰਮਾਣ ਪੱਤਰ ਅਤੇ ਵੱਖਰਾ ਲੌਗ ਚਾਹੀਦਾ ਹੈ।

ਮੈਟਾਡੇਟਾ ਦੋਵੇਂ ਡਿਜ਼ਾਈਨਾਂ ਵਿੱਚ ਬਚਦਾ ਹੈ। ਸਮਾਂ, ਪੈਕੇਟ ਆਕਾਰ ਅਤੇ ਕਨੈਕਸ਼ਨ ਗਿਣਤੀ ਹਰ ਹਾਪ 'ਤੇ ਨਿਰੀਖਣਯੋਗ ਰਹਿੰਦੀ ਹੈ, ਇਸ ਲਈ ਦੋ ਹਾਪ ਸਿਗਨਲ ਹਟਾਉਣ ਦੀ ਬਜਾਏ ਸਹਿਸੰਬੰਧ ਦੀ ਕੀਮਤ ਵਧਾਉਂਦੇ ਹਨ। ਅਦ੍ਰਿਸ਼ਯਤਾ ਦਾ ਵਾਅਦਾ ਕਰਨ ਵਾਲਾ ਡਿਜ਼ਾਈਨ ਕਿਸੇ ਦੇ ਉਸ 'ਤੇ ਭਰੋਸਾ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਉਸ ਸੂਚੀ ਨਾਲ ਜਾਂਚਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ।

ਚੁਣਨ ਤੋਂ ਪਹਿਲਾਂ ਅਸਫਲਤਾ ਦੇ ਰਾਹ ਚੱਲੋ

ਵਰਤੋਂਕਾਰ ਨੂੰ ਮਿਲਣ ਵਾਲੇ ਕ੍ਰਮ ਵਿੱਚ ਕਲਾਇੰਟ ਤੋਂ ਜਾਣਬੁੱਝ ਕੇ ਚੀਜ਼ਾਂ ਤੋੜੋ। ਇੰਟਰਫੇਸ ਅਤੇ ਉਸਦੇ MTU ਤੋਂ ਸ਼ੁਰੂ ਕਰੋ, ਕਿਉਂਕਿ ਨੈਸਟਿੰਗ ਪ੍ਰਮਾਣੀਕਰਨ ਵਿੱਚ ਅਸਫਲ ਹੋਣ ਤੋਂ ਬਹੁਤ ਪਹਿਲਾਂ ਪੈਕੇਟ ਆਕਾਰ 'ਤੇ ਅਸਫਲ ਹੁੰਦੀ ਹੈ।

ip -4 addr show dev tun0
ip link show dev tun0 | grep mtu
ping -M do -s 1380 -c 2 10.77.1.1

ਫਿਰ ਸੁਰੱਖਿਆ ਦੇ ਅੰਤ ਬਿੰਦੂਆਂ ਨੂੰ ਮੰਨਣ ਦੀ ਬਜਾਏ ਪੱਕਾ ਕਰੋ। ਜੋ ਟਨਲ ਚਾਲੂ ਹੈ ਉਸਦੇ ਅੰਦਰੋਂ ਸੇਵਾ ਤੋਂ ਉਸਦਾ ਸਰਟੀਫਿਕੇਟ ਮੰਗੋ, ਅਤੇ ਕਲਾਇੰਟ ਜੋ ਚੇਨ ਵੇਖਦਾ ਹੈ ਉਸਦੀ ਤੁਲਨਾ ਸੇਵਾ ਅਸਲ ਵਿੱਚ ਜੋ ਚੇਨ ਪੇਸ਼ ਕਰਦੀ ਹੈ ਉਸ ਨਾਲ ਕਰੋ। ਮੁੜ ਦਸਤਖਤ ਕਰਨ ਵਾਲਾ ਜਾਂ ਰੋਕਣ ਵਾਲਾ ਗੇਟਵੇ ਉਹ ਸਰਟੀਫਿਕੇਟ ਬਦਲਦਾ ਹੈ, ਅਤੇ ਜਾਂਚ ਇੱਕ ਹੀ ਕਮਾਂਡ ਵਿੱਚ ਦਿਖਣ ਲੱਗਦੀ ਹੈ।

openssl s_client -connect intranet.example.com:443 -brief < /dev/null

ਮੁੜ-ਜੁੜਨ ਮੈਟ੍ਰਿਕਸ ਨਾਲ ਖਤਮ ਕਰੋ: ਕਲਾਇੰਟ ਦੀ ਟਨਲ ਡਿੱਗਦੀ ਹੈ, B ਦੀ ਟਨਲ ਡਿੱਗਦੀ ਹੈ, A ਅਤੇ B ਵਿਚਕਾਰਲਾ ਰਾਹ ਬਦਲਦਾ ਹੈ। ਕੀ ਵਾਪਸ ਆਉਂਦਾ ਹੈ ਅਤੇ ਕੀ ਨਹੀਂ, ਅਤੇ ਕੀ ਅੰਦਰੂਨੀ ਕਨੈਕਸ਼ਨ ਕਦੇ ਆਪਣੇ ਇੱਛਤ ਵਾਹਕ ਤੋਂ ਬਾਹਰਲੇ ਰੂਟ 'ਤੇ ਡਿੱਗਦਾ ਹੈ, ਨੋਟ ਕਰੋ। ਹਰ ਪਰਖ ਨੇ ਜੋ ਪਤੇ ਵਰਤੇ ਉਹ ਦਰਜ ਕਰੋ, ਕਿਉਂਕਿ ਕਿਸੇ ਹੋਰ ਐਕਸੈਸ ਨੈੱਟਵਰਕ 'ਤੇ ਦੁਹਰਾਉਣਾ ਕਿਸੇ ਹੋਰ ਸਵਾਲ ਦਾ ਜਵਾਬ ਦਿੰਦਾ ਹੈ। ਹਰ ਮੁੜ-ਜੁੜਨ ਤੋਂ ਬਾਅਦ MTU ਪਰਖ ਵੀ ਦੁਹਰਾਓ, ਕਿਉਂਕਿ ਬਦਲਿਆ ਰਾਹ ਇੱਕ ਵੀ ਸੰਰਚਨਾ ਲਾਈਨ ਹਿਲੇ ਬਿਨਾਂ ਵਰਤੋਂਯੋਗ ਆਕਾਰ ਘਟਾ ਸਕਦਾ ਹੈ।

ਸੀਰੀਅਲ ਚੁਣੋ ਜਦੋਂ A ਨੂੰ ਅੰਦਰੂਨੀ ਪੈਕੇਟ 'ਤੇ ਨੀਤੀ ਲਾਗੂ ਕਰਨੀ ਹੋਵੇ, ਜਾਂ ਜਦੋਂ ਕਲਾਇੰਟ ਦੋ ਪਰਤੀ ਟਨਲ ਨਾ ਚਲਾ ਸਕੇ। ਨੈਸਟਿੰਗ ਚੁਣੋ ਜਦੋਂ ਅੰਦਰੂਨੀ ਪੇਲੋਡ A 'ਤੇ ਅਪੜ੍ਹਿਆ ਰਹਿਣਾ ਹੋਵੇ। ਚੋਣ ਨੂੰ ਉਸਦੇ ਨਿਰੀਖਕਾਂ ਅਤੇ MTU ਅੰਕੜਿਆਂ ਸਮੇਤ ਲਿਖੋ, ਅਤੇ ਅਗਲੇ ਵਿਅਕਤੀ ਨੂੰ ਇੱਕ ਸਵਾਲ ਦਾ ਜਵਾਬ ਦੇਣ ਲਈ ਪੂਰਾ ਚਿੱਤਰ ਮੁੜ ਨਹੀਂ ਖਿੱਚਣਾ ਪਵੇਗਾ।

ਸੰਬੰਧਿਤ ਲੇਖ