sshuttle ਬਨਾਮ ਪੂਰਾ VPN: ਇਸ ਦਾ ਢੰਗ ਅਸਲ ਵਿੱਚ ਕੀ ਕਵਰ ਕਰਦਾ ਹੈ
sshuttle ਸਿਰਫ਼ ਉਹੀ ਲੈ ਜਾਂਦਾ ਹੈ ਜੋ ਇਸ ਦਾ ਫਾਰਵਰਡਿੰਗ ਢੰਗ ਸਮਰਥਨ ਕਰਦਾ ਹੈ: ਪਹਿਲਾਂ TCP, DNS ਅਤੇ UDP ਕਵਰੇਜ, ਲੋੜੀਂਦਾ ਸਥਾਨਕ ਅਧਿਕਾਰ ਅਤੇ ਦੂਰਸਥ ਸਹਾਇਕ ਜਾਂਚੋ।
sshuttle ਇਸ ਲਈ ਚੁਣਿਆ ਜਾਂਦਾ ਹੈ ਕਿਉਂਕਿ SSH ਪਹਿਲਾਂ ਹੀ ਕੰਮ ਕਰਦਾ ਹੈ ਅਤੇ ਕ੍ਰਿਪਟੋਗ੍ਰਾਫੀ ਜਾਣੀ-ਪਛਾਣੀ ਲੱਗਦੀ ਹੈ, ਅਤੇ ਇਹ ਤਰਕ ਉਹ ਇੱਕੋ ਸਵਾਲ ਛੱਡ ਦਿੰਦਾ ਹੈ ਜੋ ਢੁਕਵੇਂ ਹੋਣ ਦਾ ਫੈਸਲਾ ਕਰਦਾ ਹੈ। ਕਿਹੜੇ ਪੈਕੇਟ ਮਸ਼ੀਨ ਛੱਡਦੇ ਹਨ, ਦੂਜੇ ਪਾਸੇ ਕਿਹੜਾ ਖਾਤਾ ਉਹਨਾਂ ਨੂੰ ਲੈ ਜਾਂਦਾ ਹੈ, ਅਤੇ ਸਾਧਨ ਕਿੰਨਾ ਸਥਾਨਕ ਅਧਿਕਾਰ ਮੰਗਦਾ ਹੈ। ਇਹ ਤਿੰਨ ਜਵਾਬ ਫਾਰਵਰਡਿੰਗ ਢੰਗ ਅਨੁਸਾਰ ਵੱਖਰੇ ਹੁੰਦੇ ਹਨ, ਇਸ ਲਈ ਇੱਕ ਐਪਲੀਕੇਸ਼ਨ ਲਈ ਕੰਮ ਕਰਨ ਵਾਲੀ ਸੰਰਚਨਾ ਅਗਲੀ ਲਈ ਚੁੱਪਚਾਪ ਫੇਲ੍ਹ ਹੋ ਸਕਦੀ ਹੈ। ਹੇਠਾਂ ਦਿੱਤੀ ਸਮੀਖਿਆ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਸੱਚਮੁੱਚ ਲੋੜੀਂਦੇ ਪ੍ਰੋਟੋਕੋਲ ਤੋਂ ਸ਼ੁਰੂ ਹੁੰਦੀ ਹੈ।
ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਲੋੜੀਂਦੇ ਪ੍ਰੋਟੋਕੋਲ ਤੋਂ ਸ਼ੁਰੂ ਕਰੋ
sshuttle 2.0 ਵਿੱਚ ਪ੍ਰੋਟੋਕੋਲ ਸਮਰਥਨ ਤੁਹਾਡੇ ਚੁਣੇ ਢੰਗ 'ਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ। Linux ਦੇ NAT ਅਤੇ nft ਢੰਗ TCP ਅਤੇ DNS ਸੰਭਾਲਦੇ ਹਨ, ਅਤੇ TPROXY ਆਮ UDP ਜੋੜਦਾ ਹੈ। ਹਰ ਪਲੇਟਫਾਰਮ ਅਤੇ ਢੰਗ ਦੀਆਂ ਆਪਣੀਆਂ ਹੱਦਾਂ ਹਨ, ਅਤੇ macOS ਪੂਰੀ ਤਰ੍ਹਾਂ ਵੱਖਰੇ ਮਕੈਨਿਜ਼ਮ ਰਾਹੀਂ ਰੋਕਦਾ ਹੈ। ਕੁਝ ਵੀ ਚੁਣਨ ਤੋਂ ਪਹਿਲਾਂ ਸਥਾਪਿਤ ਵਰਜਨ, ਚੁਣਿਆ ਢੰਗ ਅਤੇ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਲੋੜੀਂਦੇ ਪ੍ਰੋਟੋਕੋਲ ਨੋਟ ਕਰੋ।
ਇਸ ਲਈ ਕੰਮ ਕਰਦੀ TCP ਬੇਨਤੀ UDP ਐਪਲੀਕੇਸ਼ਨ ਜਾਂ ਹਰ DNS ਖੋਜ ਬਾਰੇ ਬਹੁਤ ਘੱਟ ਸਾਬਤ ਕਰਦੀ ਹੈ। sshuttle TCP ਨੂੰ ਪੂਰੇ IP ਪੈਕੇਟ ਟਨਲ ਕਰਨ ਦੀ ਥਾਂ ਪ੍ਰਵਾਹ ਵਜੋਂ ਵੇਖਦਾ ਹੈ, ਇਸ ਲਈ ਆਮ VPN ਤੋਂ ਲਿਆ ਥ੍ਰੂਪੁਟ ਸਿੱਟਾ ਇੱਥੇ ਲਾਗੂ ਨਹੀਂ ਹੁੰਦਾ। ਤੁਸੀਂ ਸੱਚਮੁੱਚ ਚਲਾਉਂਦੇ ਮਕੈਨਿਜ਼ਮ ਦੀ ਤੁਲਨਾ ਸੱਚਮੁੱਚ ਮੌਜੂਦ ਭਾਰ ਨਾਲ ਕਰੋ।
| Approach | What it carries | What it needs locally |
|---|---|---|
| SSH local forward | One explicitly named TCP destination | Nothing beyond the SSH client |
| sshuttle, nft or nat method | TCP and DNS to the routed prefixes | Root or sudo for firewall rules |
| sshuttle, tproxy method | TCP, DNS and general UDP | Root or sudo, and kernel support |
| IP VPN | Routed IP traffic in a tunnel | A client with the required privileges |
ਕਲਾਇੰਟ ਨੂੰ ਸਥਾਨਕ ਤੌਰ 'ਤੇ ਕੀ ਚਾਹੀਦਾ ਹੈ
ਦਸਤਾਵੇਜ਼ੀ ਕਲਾਇੰਟ ਸੰਰਚਨਾ ਨੂੰ root ਜਾਂ sudo ਚਾਹੀਦਾ ਹੈ, ਕਿਉਂਕਿ ਇਹ ਟਨਲ ਇੰਟਰਫੇਸ ਬਣਾਉਣ ਦੀ ਥਾਂ ਸਥਾਨਕ ਰੋਕ ਨਿਯਮ ਸਥਾਪਿਤ ਕਰਦੀ ਹੈ। ਇਹ ਇੱਕ ਤੱਥ ਸੁਰੱਖਿਆ ਦੀ ਕਹਾਣੀ ਬਦਲ ਦਿੰਦਾ ਹੈ: ਉਸ ਅਧਿਕਾਰ ਵਾਲੀ ਪ੍ਰਕਿਰਿਆ ਪੂਰੀ ਮਸ਼ੀਨ ਦਾ ਟ੍ਰੈਫਿਕ ਮੋੜ ਸਕਦੀ ਹੈ, ਸਿਰਫ਼ ਇੱਕ ਐਪਲੀਕੇਸ਼ਨ ਦਾ ਨਹੀਂ। ਅਧਿਕਾਰ ਨੂੰ ਸਥਾਪਨਾ ਦੀ ਵਿਸਥਾਰ ਨਹੀਂ, ਡਿਜ਼ਾਈਨ ਦਾ ਹਿੱਸਾ ਮੰਨੋ।
ਪੁਸ਼ਟੀ ਕਰੋ ਕਿ ਸਾਧਨ ਨੇ ਕਿਹੜੇ ਨਿਯਮ ਸਥਾਪਿਤ ਕੀਤੇ ਅਤੇ ਉਹ ਬਾਹਰ ਨਿਕਲਦਿਆਂ ਗਾਇਬ ਹੋ ਜਾਂਦੇ ਹਨ। ਕਰੈਸ਼ ਹੋਇਆ ਸੈਸ਼ਨ ਜੋ ਰੋਕ ਨਿਯਮ ਛੱਡ ਦਿੰਦਾ ਹੈ, ਆਪਰੇਟਰ ਦੇ ਕਨੈਕਸ਼ਨ ਜਾਣ ਦਾ ਸੋਚਣ ਤੋਂ ਬਹੁਤ ਬਾਅਦ ਟ੍ਰੈਫਿਕ ਨੂੰ ਕਾਲੇ ਟੋਏ ਵਿੱਚ ਭੇਜ ਸਕਦਾ ਹੈ, ਅਤੇ ਲੱਛਣ ਬਚੇ ਨਿਯਮ ਵਰਗਾ ਨਹੀਂ, ਨੈੱਟਵਰਕ ਖਰਾਬੀ ਵਰਗਾ ਦਿਸਦਾ ਹੈ।
sudo sshuttle --method nft --dns 172.19.4.0/24
nft list ruleset | grep -i sshuttle
ip route
ਪਹਿਲਾ ਹੁਕਮ ਆਮ ਸੱਦੇ ਦਾ ਰੂਪ ਹੈ, ਤੁਹਾਨੂੰ ਸੱਚਮੁੱਚ ਲੋੜੀਂਦੇ ਅਗੇਤਰ ਨਾਲ। ਦੂਜਾ ਦਿਖਾਉਂਦਾ ਹੈ ਕਿ ਸਾਧਨ ਨੇ ਕੀ ਸਥਾਪਿਤ ਕੀਤਾ, ਅਤੇ ਤੀਜਾ ਪੁਸ਼ਟੀ ਕਰਦਾ ਹੈ ਕਿ ਕੋਈ ਟਨਲ ਇੰਟਰਫੇਸ ਨਹੀਂ ਆਇਆ, ਜੋ ਇਸ ਡਿਜ਼ਾਈਨ ਲਈ ਉਮੀਦ ਕੀਤਾ ਨਤੀਜਾ ਹੈ।
ਦੂਰਸਥ ਪਾਸਾ ਕੀ ਚਲਾਉਂਦਾ ਹੈ
ਦੂਰਸਥ ਪਾਸਾ ਇੱਕ ਅਧਿਕਾਰਤ SSH ਖਾਤਾ ਅਤੇ ਅਨੁਕੂਲ Python ਸਹਾਇਕ ਵਾਤਾਵਰਨ ਹੈ। ਸੀਮਿਤ ਸ਼ੈਲ ਹੇਠ ਸਫਲ ਲੌਗਇਨ ਉਸ ਸਹਾਇਕ ਨੂੰ ਚਲਾਉਣ ਦੀ ਇਜਾਜ਼ਤ ਆਪਣੇ ਆਪ ਨਹੀਂ ਦਿੰਦਾ, ਅਤੇ ਸਹਾਇਕ ਚਲਾ ਸਕਣ ਵਾਲਾ ਖਾਤਾ ਹਰ ਨਿਸ਼ਾਨਾ ਸੇਵਾ ਤੱਕ ਆਪਣੇ ਆਪ ਨਹੀਂ ਪਹੁੰਚਦਾ। ਦੋਵੇਂ ਤੱਥ ਸਮੱਸਿਆ ਹੱਲ ਟਿੱਪਣੀਆਂ ਵਿੱਚ ਨਹੀਂ, ਪਹੁੰਚ ਬੇਨਤੀ ਵਿੱਚ ਆਉਂਦੇ ਹਨ।
ਹੋਸਟ ਪਛਾਣ ਜਾਂਚ ਅਤੇ ਖਾਤੇ ਦੀ ਪ੍ਰਮਾਣਿਕਤਾ ਦੀ ਰੱਖਿਆ ਕਰੋ। ਪਹਿਲਾ ਕਨੈਕਸ਼ਨ ਕੰਮ ਕਰਨ ਲਈ ਅਣਜਾਣ ਹੋਸਟ ਕੁੰਜੀ ਸਵੀਕਾਰ ਕਰਨ ਨਾਲ ਇਹ ਜਾਂਚ ਹਟ ਜਾਂਦੀ ਹੈ ਕਿ ਦੂਰਸਥ ਪਾਸਾ ਤੁਹਾਡਾ ਲੋੜੀਂਦਾ ਮਸ਼ੀਨ ਹੈ, ਅਤੇ ਇਹ ਇੱਥੇ ਇੱਕ-ਉਦੇਸ਼ ਫਾਰਵਰਡਿੰਗ ਨਾਲੋਂ ਵੱਧ ਮਹੱਤਵਪੂਰਨ ਹੈ।
ਦੂਰਸਥ ਖਾਤੇ ਨੂੰ ਕੰਮ ਦੇ ਪ੍ਰਵਾਹ ਲਈ ਲੋੜੀਂਦੀਆਂ ਸੇਵਾਵਾਂ ਤੱਕ ਸੀਮਿਤ ਕਰੋ, ਅਤੇ ਉਹ ਦਾਇਰਾ ਹੋਸਟ ਚਲਾਉਣ ਵਾਲਿਆਂ ਨਾਲ ਤੈਅ ਕਰੋ। ਉਹ ਭਰੋਸੇ ਦੇ ਰਿਸ਼ਤੇ ਦਾ ਹਿੱਸਾ ਹਨ, ਅਤੇ ਕਲਾਇੰਟ ਪਾਸੇ ਦੀ ਕੋਈ ਸੈਟਿੰਗ ਇਸਨੂੰ ਨਹੀਂ ਬਦਲਦੀ।
ਭਰੋਸੇ ਦੀ ਹੱਦ ਕਿੱਥੇ ਹੈ
SSH ਰਾਹੀਂ ਨਿੱਜੀ API ਕਨੈਕਸ਼ਨ ਫਾਰਵਰਡ ਕਰਨਾ ਹਰ API ਕਾਰਵਾਈ ਨੂੰ ਅਧਿਕਾਰ ਨਹੀਂ ਦਿੰਦਾ। ਐਪਲੀਕੇਸ਼ਨ ਦਾ TLS ਅਤੇ ਐਪਲੀਕੇਸ਼ਨ ਵਿੱਚ ਲੌਗਇਨ ਅਜੇ ਵੀ ਲਾਗੂ ਹਨ, ਅਤੇ ਸਾਧਨ ਬਿਨਾਂ ਪ੍ਰਮਾਣਿਕਤਾ ਵਾਲੀ ਸੇਵਾ ਨੂੰ ਸੁਰੱਖਿਅਤ ਨਹੀਂ ਬਣਾ ਸਕਦਾ। ਦੂਰਸਥ ਹੋਸਟ ਤੋਂ ਅਗਲੀ ਛਾਲ ਵੀ ਆਪਣੇ ਆਪ SSH ਚੈਨਲ ਵਰਗਾ ਉਹੀ ਸੁਰੱਖਿਅਤ ਭਾਗ ਨਹੀਂ ਹੁੰਦਾ, ਕਿਉਂਕਿ ਉਹ ਦੂਜਾ ਕਨੈਕਸ਼ਨ ਦੂਰਸਥ ਹੋਸਟ ਦੀ ਜੋ ਵੀ ਨੀਤੀ ਹੈ ਉਸ ਦੀ ਪਾਲਣਾ ਕਰਦਾ ਹੈ।
ਹੱਦ ਨੂੰ ਇੱਕ ਵਾਕ ਵਿੱਚ ਲਿਖੋ: ਇਹਨਾਂ ਅਗੇਤਰਾਂ ਵੱਲ ਟ੍ਰੈਫਿਕ ਉਸ ਹੋਸਟ 'ਤੇ ਇਸ ਖਾਤੇ ਰਾਹੀਂ ਬਾਹਰ ਨਿਕਲਦਾ ਹੈ। ਜੇ ਵਾਕ ਨੂੰ ਅਪਵਾਦਾਂ ਦਾ ਇੱਕ ਪੈਰਾ ਚਾਹੀਦਾ ਹੈ, ਤਾਂ ਡਿਜ਼ਾਈਨ ਆਪਣੇ ਦਸਤਾਵੇਜ਼ ਦੇ ਦਾਅਵੇ ਨਾਲੋਂ ਵੱਧ ਕਰ ਰਿਹਾ ਹੈ ਅਤੇ ਉਤਪਾਦਨ ਤੱਕ ਪਹੁੰਚਣ ਤੋਂ ਪਹਿਲਾਂ ਦੂਜੀ ਨਜ਼ਰ ਦਾ ਹੱਕਦਾਰ ਹੈ।
ਹਰ ਪ੍ਰੋਟੋਕੋਲ 'ਤੇ ਸਾਬਤ ਕਰੋ, ਫਿਰ ਸਾਧਨ ਚੁਣੋ
ਹਰ ਲੋੜੀਂਦੇ ਪ੍ਰੋਟੋਕੋਲ ਨੂੰ ਨਿਰਦੋਸ਼ ਬੇਨਤੀ ਨਾਲ ਜਾਂਚੋ, ਰਿਜ਼ਾਲਵਰ ਮਾਰਗ ਅਤੇ ਐਪਲੀਕੇਸ਼ਨ ਦੇ ਵਰਤੇ ਪਤਾ ਪਰਿਵਾਰਾਂ ਸਮੇਤ। ਪਰਖ ਵਿੱਚ ਡਿਸਕਨੈਕਟ ਵੀ ਸ਼ਾਮਲ ਕਰੋ, ਤਾਂ ਜੋ ਐਪਲੀਕੇਸ਼ਨ ਦਾ ਮਨਜ਼ੂਰ ਫੇਲ੍ਹ ਵਿਵਹਾਰ ਘਟਨਾ ਵੇਲੇ ਹੈਰਾਨੀ ਨਹੀਂ, ਜਾਣਿਆ ਨਤੀਜਾ ਬਣੇ। ਚਾਲੂ ਰਹਿੰਦਿਆਂ ਸਹੀ ਫਾਰਵਰਡ ਕਰਨ ਵਾਲਾ ਸੈਸ਼ਨ ਡਿੱਗਣ ਤੋਂ ਬਾਅਦ ਕੀ ਹੁੰਦਾ ਹੈ, ਇਸ ਬਾਰੇ ਕੁਝ ਨਹੀਂ ਕਹਿੰਦਾ।
ਸਪਸ਼ਟ ਨਾਮ ਵਾਲੀਆਂ ਕੁਝ ਸੇਵਾਵਾਂ ਲਈ ਆਮ ਸਥਾਨਕ ਫਾਰਵਰਡਿੰਗ ਦੀ ਮਾਲਕੀ ਅਤੇ ਆਡਿਟ ਸੌਖਾ ਹੈ। ਆਪਣੇ ਢੰਗ ਨਾਲ ਮੇਲ ਖਾਂਦੇ ਐਪਲੀਕੇਸ਼ਨ ਟ੍ਰੈਫਿਕ ਲਈ sshuttle ਕਾਨੂੰਨੀ ਵਿਚਕਾਰਲਾ ਰਸਤਾ ਦਿੰਦਾ ਹੈ। ਜਦੋਂ ਲੋੜ ਵਿਆਪਕ IP ਕਨੈਕਟੀਵਿਟੀ ਹੋਵੇ, ਤਾਂ VPN ਡਿਜ਼ਾਈਨ ਇਮਾਨਦਾਰ ਜਵਾਬ ਹੈ, ਅਤੇ ਚੋਣ ਐਨਕ੍ਰਿਪਸ਼ਨ ਐਲਗੋਰਿਦਮ ਦੀ ਦਰਜਾਬੰਦੀ ਨਹੀਂ, ਕਵਰੇਜ ਅਤੇ ਕਾਰਜਸ਼ੀਲ ਜ਼ਿੰਮੇਵਾਰੀ ਦੀ ਪਾਲਣਾ ਕਰਦੀ ਹੈ।