VPN ਕਲਾਇੰਟ ਦੀ ਸੇਵਾ ਤੱਕ ਪਹੁੰਚਣਾ: ਰਿਵਰਸ ਟਨਲ ਜਾਂ DNAT
ਪੋਰਟ ਫਾਰਵਰਡਿੰਗ ਤੋਂ ਬਿਨਾਂ OpenVPN ਕਲਾਇੰਟ ਦੀ ਸੇਵਾ ਤੱਕ ਪਹੁੰਚਣਾ: ਰਿਵਰਸ SSH ਟਨਲ ਦੀ ਸਰਵਰ-ਸਾਈਡ DNAT ਨਾਲ ਅਤੇ ਚੋਣ ਕਰਨ ਵਾਲੀਆਂ ਤਿੰਨ ਸ਼ਰਤਾਂ ਨਾਲ ਤੁਲਨਾ ਕਰੋ।
ਕੈਰੀਅਰ NAT ਪਿੱਛੇ ਰੱਖਿਆ ਲੈਪਟਾਪ ਵੀ ਸਹਿਕਰਮੀ ਨੂੰ ਸੇਵਾ ਦੇ ਸਕਦਾ ਹੈ, ਜੇ VPN ਸਰਵਰ ਮਿਲਣ-ਥਾਂ ਦੀ ਭੂਮਿਕਾ ਨਿਭਾਏ। ਉੱਥੇ ਦੋ ਤਰੀਕੇ ਹਨ: ਕਲਾਇੰਟ ਬਾਹਰ ਡਾਇਲ ਕਰਦਾ ਹੈ ਅਤੇ ਸਰਵਰ ਨੂੰ ਸੁਣਨ ਵਾਲਾ ਪੋਰਟ ਰੱਖਣ ਲਈ ਕਹਿੰਦਾ ਹੈ, ਜਾਂ ਸਰਵਰ ਪੋਰਟ ਪ੍ਰਕਾਸ਼ਿਤ ਕਰਦਾ ਹੈ ਅਤੇ ਉਸਨੂੰ ਟਨਲ ਵਿੱਚ ਅਨੁਵਾਦ ਕਰਦਾ ਹੈ। ਦੋਵੇਂ ਇੱਕੋ ਪਹੁੰਚ ਸਮੱਸਿਆ ਹੱਲ ਕਰਦੇ ਹਨ ਅਤੇ ਨਾਕਾਮੀ, ਨਿਗਰਾਨੀ ਤੇ ਲੌਗਿੰਗ ਵਿੱਚ ਵੱਖਰੇ ਵਿਵਹਾਰ ਕਰਦੇ ਹਨ। ਤੁਹਾਡੇ ਸੈਟਅਪ ਵਿੱਚ ਕਿਹੜਾ ਢੁਕਦਾ ਹੈ, ਇਹ ਤਿੰਨ ਸ਼ਰਤਾਂ ਤੈਅ ਕਰਦੀਆਂ ਹਨ।
ਦੋ ਆਕਾਰ, ਇੱਕ ਮਿਲਣ-ਥਾਂ
ਪਹਿਲੇ ਆਕਾਰ ਵਿੱਚ ਕਲਾਇੰਟ ਬਾਹਰ ਵੱਲ SSH ਸੈਸ਼ਨ ਖੋਲ੍ਹਦਾ ਹੈ ਅਤੇ ਸਰਵਰ ਨੂੰ ਚੁਣੇ ਪੋਰਟ 'ਤੇ ਸੁਣਨ ਲਈ ਕਹਿੰਦਾ ਹੈ, ਤੇ ਹਰ ਕਨੈਕਸ਼ਨ ਉਸੇ ਸੈਸ਼ਨ ਰਾਹੀਂ ਵਾਪਸ ਭੇਜਦਾ ਹੈ। ਸਰਵਰ 'ਤੇ ਕੁਝ ਵੀ ਫਾਰਵਰਡ ਨਹੀਂ ਹੁੰਦਾ ਅਤੇ ਕੋਈ ਪੈਕੇਟ ਅਨੁਵਾਦ ਨਹੀਂ ਹੁੰਦਾ, ਇਸ ਲਈ ਇਕੱਲੀਆਂ ਲੋੜਾਂ SSH ਖਾਤਾ, ਮਨਜ਼ੂਰ ਫਾਰਵਰਡਿੰਗ ਅਤੇ ਪੋਰਟ ਲਈ ਫਾਇਰਵਾਲ ਨਿਯਮ ਹਨ। ਸੇਵਾ ਕਲਾਇੰਟ 'ਤੇ ਲੂਪਬੈਕ ਨਾਲ ਬੱਝੀ ਰਹਿੰਦੀ ਹੈ, ਜੋ ਆਮ ਤੌਰ 'ਤੇ ਤੁਸੀਂ ਚਾਹੁੰਦੇ ਹੋ।
ssh -N -R 8081:127.0.0.1:8080 -o ExitOnForwardFailure=yes -o ServerAliveInterval=30 [email protected]
ਦੂਜੇ ਆਕਾਰ ਵਿੱਚ ਜਨਤਕ ਪੋਰਟ ਸਰਵਰ ਕੋਲ ਹੁੰਦਾ ਹੈ ਅਤੇ ਹਰ ਕਨੈਕਸ਼ਨ ਨੂੰ ਕਲਾਇੰਟ ਦੇ ਟਨਲ ਪਤੇ ਵੱਲ ਮੁੜ ਲਿਖਦਾ ਹੈ। ਇਸ ਲਈ IP ਫਾਰਵਰਡਿੰਗ ਸਮਰੱਥ, ਅੰਦਰ ਆਉਂਦੇ ਸਮੇਂ ਮੰਜ਼ਿਲ ਅਨੁਵਾਦ ਅਤੇ ਬਾਹਰ ਜਾਂਦੇ ਸਮੇਂ ਸਰੋਤ ਅਨੁਵਾਦ ਲੋੜੀਂਦਾ ਹੈ, ਅਤੇ SSH ਸੈਸ਼ਨ ਨਾ ਹੋਣ 'ਤੇ ਵੀ ਇਹ ਕੰਮ ਕਰਦਾ ਰਹਿੰਦਾ ਹੈ। ਪੋਰਟ ਸੈਸ਼ਨ ਦਾ ਨਹੀਂ, ਸਰਵਰ ਦਾ ਹੈ, ਅਤੇ ਇਹੀ ਗੁਣ ਬਹੁਤੇ ਅਸਲ ਮਾਮਲਿਆਂ ਦਾ ਫੈਸਲਾ ਕਰਦਾ ਹੈ।
ਦੋਵਾਂ ਆਕਾਰਾਂ ਵਿੱਚੋਂ ਕੋਈ ਵੀ ਬਣਤਰ ਨਾਲ ਵਧੇਰੇ ਸੁਰੱਖਿਅਤ ਨਹੀਂ। ਦੋਵੇਂ ਇੱਕ ਸੇਵਾ ਪੋਰਟ ਨੂੰ ਹਰ ਉਸ ਵਿਅਕਤੀ ਲਈ ਖੋਲ੍ਹਦੇ ਹਨ ਜੋ ਸਰਵਰ ਦੇ ਜਨਤਕ ਪਤੇ ਤੱਕ ਪਹੁੰਚ ਸਕਦਾ ਹੈ, ਅਤੇ ਦੋਵੇਂ ਅਜੇ ਵੀ ਸੇਵਾ ਦੀ ਆਪਣੀ ਪ੍ਰਮਾਣਿਕਤਾ 'ਤੇ ਨਿਰਭਰ ਹਨ।
ਸ਼ਰਤ ਇੱਕ: ਕੀ ਪੋਰਟ ਨੂੰ ਸੈਸ਼ਨ ਤੋਂ ਵੱਧ ਜੀਣਾ ਚਾਹੀਦਾ ਹੈ
ਰਿਵਰਸ ਫਾਰਵਰਡਿੰਗ ਉੱਨਾ ਹੀ ਜੀਉਂਦੀ ਰਹਿੰਦੀ ਹੈ ਜਿੰਨਾ ਉਸਨੂੰ ਬਣਾਉਣ ਵਾਲਾ SSH ਸੈਸ਼ਨ। ਜਦੋਂ ਲਿੰਕ ਡਿੱਗਦਾ ਹੈ, ਸੁਣਨ ਵਾਲਾ ਗਾਇਬ ਹੋ ਜਾਂਦਾ ਹੈ ਅਤੇ ਸਹਿਕਰਮੀ ਹੌਲੀ ਰਾਹ ਦੀ ਥਾਂ ਨਾਮਨਜ਼ੂਰ ਕਨੈਕਸ਼ਨ ਦੇਖਦਾ ਹੈ। systemd ਯੂਨਿਟ ਅਤੇ ਰੀਸਟਾਰਟ ਨੀਤੀ ਨਾਲ ਹੁਕਮ ਦੀ ਨਿਗਰਾਨੀ ਇਸਨੂੰ ਠੀਕ ਕਰਦੀ ਹੈ, ਅਤੇ ExitOnForwardFailure=yes ਨਾਕਾਮ ਬਾਈਂਡ ਨੂੰ ਤੁਰੰਤ ਦਿੱਖਣਯੋਗ ਬਣਾਉਂਦਾ ਹੈ, ਫਾਰਵਰਡਿੰਗ ਤੋਂ ਬਿਨਾਂ ਚੱਲਦਾ ਸੈਸ਼ਨ ਛੱਡਣ ਦੀ ਥਾਂ।
ਅਨੁਵਾਦਿਤ ਪੋਰਟ ਨਿਯਮ ਸੰਭਾਲੇ ਰਹਿਣ 'ਤੇ ਰੀਬੂਟ ਵੀ ਸਹਿ ਲੈਂਦਾ ਹੈ, ਪਰ ਇਹ ਕਲਾਇੰਟ ਦੇ ਉਹੀ ਟਨਲ ਪਤਾ ਰੱਖਣ 'ਤੇ ਨਿਰਭਰ ਹੈ। ਦੁਬਾਰਾ ਜੁੜਨ ਤੋਂ ਬਾਅਦ ਲੈਪਟਾਪ ਨੂੰ ਹੋਰ ਪਤਾ ਦੇਣ ਵਾਲਾ ਗਤੀਸ਼ੀਲ ਪੂਲ ਨਿਯਮ ਨੂੰ ਚੁੱਪਚਾਪ ਕਿਤੇ ਨਾ ਪਹੁੰਚਾਉਣ ਵੱਲ ਮੋੜਦਾ ਹੈ। ਪਹਿਲਾਂ ਟਨਲ ਪਤਾ ਰਾਖਵਾਂ ਕਰੋ, ਫਿਰ ਨਿਯਮ ਲਿਖੋ, ਅਤੇ ਦੋਵਾਂ ਨੂੰ ਇੱਕੋ ਬਦਲਾਅ ਮੰਨੋ।
ਜੇ ਸੇਵਾ ਨੂੰ ਰਾਤ ਤਿੰਨ ਵਜੇ ਕਿਸੇ ਦੇ ਨਾ ਦੇਖਦਿਆਂ ਜਵਾਬ ਦੇਣਾ ਪਵੇ, ਤਾਂ ਸਰਵਰ ਵੱਲੋਂ ਪ੍ਰਕਾਸ਼ਿਤ ਪੋਰਟ ਵਾਲਾ ਆਕਾਰ ਘੱਟ ਚੱਲਣ ਵਾਲੇ ਹਿੱਸਿਆਂ ਵਾਲਾ ਹੈ, ਕਿਉਂਕਿ ਚੱਲਦਾ ਰੱਖਣਾ ਲਾਜ਼ਮੀ ਇੱਕੋ ਪ੍ਰਕਿਰਿਆ ਟਨਲ ਆਪ ਹੈ।
ਸ਼ਰਤ ਦੋ: ਫਾਇਰਵਾਲ ਅਤੇ ਲੌਗ ਕਿਸਦੇ ਹਨ
ਰਿਵਰਸ ਆਕਾਰ ਸਾਰੀ ਨੀਤੀ ਦੋ ਥਾਵਾਂ 'ਤੇ ਰੱਖਦਾ ਹੈ। sshd AllowTcpForwarding ਰਾਹੀਂ ਤੈਅ ਕਰਦਾ ਹੈ ਕਿ ਦੂਰੋਂ ਫਾਰਵਰਡਿੰਗ ਬਿਲਕੁਲ ਮਨਜ਼ੂਰ ਹੈ ਜਾਂ ਨਹੀਂ, ਅਤੇ GatewayPorts ਤੈਅ ਕਰਦਾ ਹੈ ਕਿ ਸੁਣਨ ਵਾਲਾ ਲੂਪਬੈਕ ਨਾਲ ਬੱਝਦਾ ਹੈ ਜਾਂ ਹਰ ਪਤੇ ਨਾਲ। ਡਿਫਾਲਟ no ਨਾਲ ਸਰਵਰ ਤੋਂ ਬਾਹਰਲਾ ਸਹਿਕਰਮੀ ਫਾਰਵਰਡਿੰਗ ਸਫਲ ਹੋਣ 'ਤੇ ਵੀ ਪੋਰਟ ਤੱਕ ਨਹੀਂ ਪਹੁੰਚ ਸਕਦਾ, ਅਤੇ ਇਹ ਟੁੱਟੇ ਟਨਲ ਵਾਂਗ ਲੱਗਦਾ ਹੈ ਜਦੋਂ ਕਿ ਅਸਲ ਵਿੱਚ ਇਹ ਬਾਈਂਡ ਪਤਾ ਹੁੰਦਾ ਹੈ।
sudo ss -ltn '( sport = :8081 )'
sudo grep -E '^(GatewayPorts|AllowTcpForwarding)' /etc/ssh/sshd_config
ਅਨੁਵਾਦਿਤ ਆਕਾਰ ਨੂੰ ਫਾਰਵਰਡਿੰਗ ਸਮਰੱਥ ਅਤੇ ਦੋ ਨਿਯਮ ਚਾਹੀਦੇ ਹਨ, ਅਤੇ ਦੂਜਾ ਨਿਯਮ ਉਹ ਥਾਂ ਹੈ ਜਿੱਥੇ ਬਹੁਤੇ ਤਰੀਕੇ ਗਲਤ ਹੁੰਦੇ ਹਨ। ਸਰੋਤ ਅਨੁਵਾਦ ਨੂੰ conntrack ਦੀ DNAT ਸਥਿਤੀ ਤੱਕ ਸੀਮਿਤ ਕਰਨ ਦਾ ਅਰਥ ਹੈ ਕਿ ਸਿਰਫ਼ ਮੰਜ਼ਿਲ ਨਿਯਮ ਵੱਲੋਂ ਬਣਾਏ ਕਨੈਕਸ਼ਨ ਹੀ ਮੁੜ ਲਿਖੇ ਜਾਂਦੇ ਹਨ, ਸਰਵਰ ਵੱਲੋਂ ਟਨਲ ਵਿੱਚ ਭੇਜੇ ਹਰ ਪੈਕੇਟ ਨਹੀਂ।
sudo sysctl -w net.ipv4.ip_forward=1
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 8081 -j DNAT --to-destination 10.88.0.6:8080
sudo iptables -t nat -A POSTROUTING -o tun0 -m conntrack --ctstate DNAT -j SNAT --to-source 10.88.0.1
ਉਹ ਮੁੜ-ਲਿਖਤ ਨਿਰੋਪਣ ਵੀ ਨਸ਼ਟ ਕਰਦੀ ਹੈ। ਇਸ ਤੋਂ ਬਾਅਦ ਕਲਾਇੰਟ ਹਰ ਕਾਲ ਕਰਨ ਵਾਲੇ ਨੂੰ ਸਰਵਰ ਦੇ ਟਨਲ ਪਤੇ ਵਜੋਂ ਦੇਖਦਾ ਹੈ, ਜੋ ਹਰ ਪਤੇ ਲਈ ਕਿਸੇ ਵੀ ਦਰ ਸੀਮਾ ਨੂੰ ਇੱਕ ਡੋਲ੍ਹ ਵਿੱਚ ਸਮੇਟ ਦਿੰਦਾ ਹੈ ਅਤੇ ਲੁਕਾਉਂਦਾ ਹੈ ਕਿ ਕਿਸਨੇ ਕੀ ਭੇਜਿਆ। ਜੇ ਨਿਰੋਪਣ ਮਹੱਤਵਪੂਰਨ ਹੈ, ਤਾਂ ਕਨੈਕਸ਼ਨ ਸਰਵਰ 'ਤੇ ਖ਼ਤਮ ਕਰੋ ਜਾਂ ਇਜਾਜ਼ਤ ਦਾ ਫੈਸਲਾ ਉੱਥੇ ਹੀ ਰੱਖੋ ਅਤੇ ਸੇਵਾ ਜਿਸ ਹੈਡਰ 'ਤੇ ਭਰੋਸਾ ਕਰਦੀ ਹੈ ਉਸ ਵਿੱਚ ਪਛਾਣ ਭੇਜੋ। ਇਹਨਾਂ ਦੋ ਸੁਧਾਰਾਂ ਵਿੱਚੋਂ ਚੋਣ ਇਸ 'ਤੇ ਨਿਰਭਰ ਹੈ ਕਿ ਸੇਵਾ ਪ੍ਰੌਕਸੀ ਹੈਡਰ ਪੜ੍ਹਦੀ ਹੈ ਜਾਂ ਨਹੀਂ।
ਸ਼ਰਤ ਤਿੰਨ: ਇੱਕ ਪੋਰਟ ਜਾਂ ਕਈ, ਅਤੇ ਨਾਮ ਕਿਸਦਾ ਹੈ
ਇੱਕ ਪੋਰਟ 'ਤੇ ਇੱਕ ਸੇਵਾ ਉਹ ਮਾਮਲਾ ਹੈ ਜਿੱਥੇ ਕੋਸ਼ਿਸ਼ ਵਿੱਚ ਰਿਵਰਸ ਫਾਰਵਰਡਿੰਗ ਜਿੱਤਦੀ ਹੈ। ਤੁਹਾਨੂੰ ਇੱਕ ਹੁਕਮ, ਇੱਕ ਖਾਤਾ ਅਤੇ ਇੱਕ ਫਾਇਰਵਾਲ ਨਿਯਮ ਚਾਹੀਦਾ ਹੈ, ਅਤੇ ਸਫ਼ਾਈ ਭਾਵ ਸੈਸ਼ਨ ਨੂੰ ਮਾਰਨਾ ਹੈ। ਇੱਕੋ ਜਨਤਕ ਪਤੇ 'ਤੇ ਕਈ ਸੇਵਾਵਾਂ ਤੁਹਾਨੂੰ ਸਰਵਰ-ਪ੍ਰਕਾਸ਼ਿਤ ਆਕਾਰ ਵੱਲ ਧੱਕਦੀਆਂ ਹਨ, ਕਿਉਂਕਿ ਹਰ ਰਿਵਰਸ ਫਾਰਵਰਡਿੰਗ ਨੂੰ ਆਪਣਾ ਸਰਵਰ ਪੋਰਟ ਚਾਹੀਦਾ ਹੈ ਅਤੇ ਹਰ ਸੇਵਾ ਨਾਲ ਸਮੂਹ ਵਧਦਾ ਹੈ।
ਨਾਮ ਇਸਨੂੰ ਹੋਰ ਗੁੰਝਲਦਾਰ ਬਣਾਉਂਦੇ ਹਨ। ਰਿਵਰਸ ਫਾਰਵਰਡਿੰਗ SNI ਅਨੁਸਾਰ ਰੂਟ ਕਰਨ ਵਾਲੀ TCP ਪ੍ਰੌਕਸੀ ਪਿੱਛੇ ਹੋ ਸਕਦੀ ਹੈ, ਜਦੋਂ ਕਿ ਅਨੁਵਾਦਿਤ ਪੋਰਟ ਆਮ ਤੌਰ 'ਤੇ ਪ੍ਰਤੀ ਸੇਵਾ ਇੱਕ ਪੋਰਟ ਹੁੰਦਾ ਹੈ। ਜੇ ਸੇਵਾ ਖੁਦ TLS ਖ਼ਤਮ ਕਰਦੀ ਹੈ ਅਤੇ ਮੂਲ ਹੋਸਟਨਾਮ ਚਾਹੁੰਦੀ ਹੈ, ਤਾਂ ਪ੍ਰੌਕਸੀ ਤਰੀਕਾ ਉਸਨੂੰ ਬਚਾਉਂਦਾ ਹੈ, ਅਤੇ DNAT ਤਰੀਕਾ ਉਸਨੂੰ ਸਿਰਫ਼ ਤਦ ਬਚਾਉਂਦਾ ਹੈ ਜਦੋਂ ਸੇਵਾ ਉਹ ਨਾਮ ਉਸ ਪੋਰਟ 'ਤੇ ਸਵੀਕਾਰ ਕਰੇ।
ਤਿੰਨ ਸ਼ਰਤਾਂ ਵਿੱਚੋਂ ਕਿਸਨੇ ਆਕਾਰ ਤੈਅ ਕੀਤਾ, ਇਹ ਲਿਖੋ। ਨਹੀਂ ਤਾਂ ਦੂਜੀ ਸੇਵਾ ਜੋੜਨ ਵਾਲਾ ਅਗਲਾ ਵਿਅਕਤੀ ਘੱਟ ਸੰਦਰਭ ਨਾਲ ਉਹੀ ਤੁਲਨਾ ਮੁੜ ਖੋਲ੍ਹੇਗਾ।
ਫੈਸਲਾ ਕਰੋ, ਫਿਰ ਬਾਹਰੋਂ ਪਰਖੋ
ਲੈਪਟਾਪ ਤੱਕ ਕੋਈ ਰਾਹ ਨਾ ਹੋਣ ਵਾਲੇ ਨੈੱਟਵਰਕ ਤੋਂ ਰਾਹ ਪਰਖੋ, ਅਤੇ ਬੇਨਤੀ ਚੱਲਦਿਆਂ ਸਰਵਰ 'ਤੇ ਕਾਊਂਟਰ ਦੇਖੋ। ਸਰਵਰ ਤੋਂ ਉਸਦੇ ਆਪਣੇ ਜਨਤਕ ਪਤੇ ਵੱਲ ਪਰਖਣਾ ਇੱਥੇ ਕੁਝ ਸਾਬਤ ਨਹੀਂ ਕਰਦਾ, ਕਿਉਂਕਿ ਪੈਕੇਟ ਸਥਾਨਕ ਤੌਰ 'ਤੇ ਬਣਦਾ ਹੈ ਅਤੇ ਆਉਂਦੇ ਅਨੁਵਾਦ ਹੁੱਕ ਤੱਕ ਕਦੇ ਨਹੀਂ ਪਹੁੰਚਦਾ, ਇਸ ਲਈ ਪਰਖ ਪਾਸ ਹੋ ਸਕਦੀ ਹੈ ਜਦੋਂ ਕਿ ਅਸਲ ਰਾਹ ਟੁੱਟਾ ਹੋਵੇ।
sudo iptables -t nat -L PREROUTING -n -v
sudo tcpdump -ni any 'tcp port 8081' -c 20
ਸਥਿਰ ਰਹਿਣ ਵਾਲੇ ਕਾਊਂਟਰ ਦਾ ਅਰਥ ਹੈ ਪੈਕੇਟ ਕਦੇ ਨਿਯਮ ਤੱਕ ਨਹੀਂ ਪਹੁੰਚਿਆ, ਜੋ ਸੇਵਾ ਪ੍ਰਦਾਤਾ ਜਾਂ ਹੋਸਟ ਫਾਇਰਵਾਲ ਵੱਲ ਇਸ਼ਾਰਾ ਕਰਦਾ ਹੈ। ਸੇਵਾ ਮਨਾਹੀ ਕਰਦਿਆਂ ਹਿੱਲਣ ਵਾਲੇ ਕਾਊਂਟਰ ਕਲਾਇੰਟ ਦੇ ਆਪਣੇ ਫਾਇਰਵਾਲ ਜਾਂ ਉਸ ਪਤੇ ਵੱਲ ਇਸ਼ਾਰਾ ਕਰਦੇ ਹਨ ਜਿੱਥੇ ਸੇਵਾ ਸੁਣਦੀ ਹੈ। ਪੈਕੇਟ ਢੋਂਦਾ ਪਰ ਕੁਝ ਵਾਪਸ ਨਾ ਦੇਣ ਵਾਲਾ ਟਨਲ ਰਾਹ ਜਾਂ ਰਿਵਰਸ-ਪਾਥ ਦੀ ਸਮੱਸਿਆ ਹੈ, ਅਤੇ ਇਹਨਾਂ ਤਿੰਨ ਨਤੀਜਿਆਂ ਵਿੱਚੋਂ ਕਿਸੇ ਨੂੰ ਵੀ ਕਲਾਇੰਟ ਅਡੈਪਟਰ ਸੋਧ ਕੇ ਡੀਬੱਗ ਨਹੀਂ ਕਰਨਾ ਚਾਹੀਦਾ। ਕੁਝ ਬਦਲਣ ਤੋਂ ਪਹਿਲਾਂ ਲਿਖੋ ਕਿ ਕਿਹੜਾ ਕਾਊਂਟਰ ਹਿੱਲਿਆ, ਕਿਉਂਕਿ ਅਗਲੀ ਪਰਖ ਨੂੰ ਉਹੀ ਆਧਾਰ-ਰੇਖਾ ਚਾਹੀਦੀ ਹੈ।
ਆਕਾਰ ਕੰਮ ਕਰਨ ਲੱਗਿਆਂ ਪੋਰਟ, ਮਾਲਕ ਅਤੇ ਨਿਗਰਾਨੀ ਢੰਗ ਟਨਲ ਸੰਰਚਨਾ ਦੇ ਕੋਲ ਦਰਜ ਕਰੋ। ਜੋ ਪਹੁੰਚ ਸੁਧਾਰ ਸਿਰਫ਼ ਕਿਸੇ ਦੇ ਸ਼ੈੱਲ ਇਤਿਹਾਸ ਵਿੱਚ ਹੀ ਹੈ, ਉਹ ਇੱਕ ਰੀਬੂਟ ਦੂਰ ਦੁਹਰਾਈ ਗਈ ਘਟਨਾ ਹੈ।