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

ਇੱਕੋ ਲੈਬ ਬਣਾਉਣ ਦੇ ਦੋ ਤਰੀਕੇ, ਅਤੇ ਕਦੋਂ ਕਿਹੜਾ ਜਿੱਤਦਾ ਹੈ

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

AspectNamespace labHost-route lab
IsolationFull stack per roleShares the host stack
CleanupDelete named namespacesManual route and rule removal
RealismStrong for routingNeeded for GUI clients

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

ਹਰ ਭੂਮਿਕਾ ਲਈ ਇੱਕ ਸੰਦਰਭ, ਜਾਣ-ਬੁੱਝ ਕੇ ਜੋੜਿਆ

ਹਰ ਭੂਮਿਕਾ ਲਈ ਇੱਕ ਨੇਮਸਪੇਸ ਬਣਾਓ ਅਤੇ ਹਰ veth ਜੋੜੀ ਦਾ ਹਰ ਸਿਰਾ ਉਸ ਸੰਦਰਭ ਵਿੱਚ ਭੇਜੋ ਜੋ ਉਸਦਾ ਮਾਲਕ ਹੈ। ਪਹਿਲੇ ਚਾਰ ਕਮਾਂਡ ਸ਼ਕਲ ਦੇਖਣ ਲਈ ਕਾਫ਼ੀ ਹਨ:

ip netns add client
ip netns add gateway
ip link add veth-c type veth peer name veth-g
ip link set veth-c netns client

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

ਫਾਰਵਰਡਿੰਗ ਭੂਮਿਕਾ ਹੀ ਉਹ ਥਾਂ ਹੈ ਜਿੱਥੇ ਲੈਬ ਦਿਲਚਸਪ ਹੁੰਦੀ ਹੈ

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

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

ਬੇਸਲਾਈਨ ਦਰਜ ਕਰੋ, ਫਿਰ ਇੱਕ ਰੂਟ ਤੋੜੋ

ਜੋ ਮੌਜੂਦ ਹੈ ਉਸਨੂੰ ਦਰਜ ਕਰਕੇ ਸ਼ੁਰੂ ਕਰੋ, ਹਰ ਲਾਈਨ ਦੇ ਕੋਲ ਸੰਦਰਭ ਲਿਖੋ। ਨੇਮਸਪੇਸ ਪੜ੍ਹੋ, ਫਿਰ ਉਹ ਰੂਟ ਜੋ ਇੱਕ ਟੈਸਟ ਮੰਜ਼ਿਲ ਉਹਨਾਂ ਵਿੱਚੋਂ ਇੱਕ ਦੇ ਅੰਦਰ ਲਵੇਗੀ, ਫਿਰ ਉਸ ਲਿੰਕ ਉੱਤੇ ਕਾਊਂਟਰ ਜੋ ਇਸਨੂੰ ਢੋਂਦਾ ਹੈ:

ip netns list
ip -n client route get 10.0.0.5
ip -n gateway -s link show veth-g

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

ਸਫ਼ਾਈ ਹੀ ਅਗਲੀ ਵਾਰ ਚਲਾਉਣ ਨੂੰ ਦੁਹਰਾਉਣਯੋਗ ਬਣਾਉਂਦੀ ਹੈ

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

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

ਸੰਬੰਧਿਤ ਲੇਖ