ZeroTier ਤੋਂ LAN ਤੱਕ: UFW ਰੂਟ ਨਿਯਮ, ਪੋਰਟ ਇਜਾਜ਼ਤ ਨਹੀਂ
ਗੇਟਵੇ 'ਤੇ ਪੋਰਟ ਦੀ ਇਜਾਜ਼ਤ ਦੇਣਾ ਉਸ ਦੇ ਪਿੱਛੇ ਦੇ ਹੋਸਟ 'ਤੇ ਫਾਰਵਰਡ ਕਰਨ ਵਰਗਾ ਨਹੀਂ ਹੈ। ਪ੍ਰਬੰਧਿਤ ਰੂਟ ਸੈੱਟ ਕਰੋ, ਟ੍ਰਾਂਜ਼ਿਟ ਚਾਲੂ ਕਰੋ ਅਤੇ ਵਾਪਸੀ ਦਾ ਮਾਰਗ ਚੁਣੋ।
ZeroTier ਮੈਂਬਰ ਰਾਹੀਂ ਦਫ਼ਤਰ ਦੇ LAN 'ਤੇ ਪ੍ਰਿੰਟਰ ਤੱਕ ਪਹੁੰਚਣਾ ਇੱਕ ਨਿਯਮ ਵਾਂਗ ਲੱਗਦਾ ਹੈ, ਪਰ ਅਸਲ ਵਿੱਚ ਇਹ ਤਿੰਨ ਵੱਖ-ਵੱਖ ਥਾਵਾਂ 'ਤੇ ਤਿੰਨ ਫੈਸਲੇ ਹਨ। ਓਵਰਲੇ ਨੂੰ ਪਤਾ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ ਕਿ LAN ਕਿੱਥੇ ਹੈ, Linux ਹੋਸਟ ਨੂੰ ਪੈਕਟ ਫਾਰਵਰਡ ਕਰਨ ਲਈ ਤਿਆਰ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ, ਅਤੇ LAN ਨੂੰ ਪਤਾ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ ਕਿ ਜਵਾਬ ਕਿਵੇਂ ਵਾਪਸ ਭੇਜਣਾ ਹੈ। ਗੇਟਵੇ 'ਤੇ ਪੋਰਟ ਖੋਲ੍ਹਣ ਵਾਲਾ ਇਨਬਾਊਂਡ ਨਿਯਮ ਇਹਨਾਂ ਵਿੱਚੋਂ ਕਿਸੇ ਨੂੰ ਵੀ ਨਹੀਂ ਛੂੰਹਦਾ। ਇਹ ਸਹੀ ਹੋਸਟ 'ਤੇ ਗਲਤ ਸੰਦ ਹੈ।
ਤਿੰਨ ਕੰਮ, ਤਿੰਨ ਮਾਲਕ
ਪ੍ਰਬੰਧਿਤ ਰੂਟ ZeroTier ਨੈੱਟਵਰਕ ਕੌਂਫਿਗਰੇਸ਼ਨ ਦਾ ਹਿੱਸਾ ਹੈ। ਇਹ ਮੈਂਬਰਾਂ ਨੂੰ ਦੱਸਦਾ ਹੈ ਕਿ ਕੋਈ ਪ੍ਰੀਫ਼ਿਕਸ ਕਿਸੇ ਖ਼ਾਸ ਮੈਂਬਰ ਪਤੇ ਰਾਹੀਂ ਪਹੁੰਚਯੋਗ ਹੈ।
ਫਾਰਵਰਡਿੰਗ Linux ਕਰਨਲ ਦੀ ਅਤੇ ਉਸ ਦੀ ਫਾਇਰਵਾਲ ਨੀਤੀ ਦੇ ਮਾਲਕ ਦੀ ਹੈ। ਇਹ ਤੈਅ ਕਰਦੀ ਹੈ ਕਿ ਓਵਰਲੇ 'ਤੇ ਆਉਣ ਵਾਲਾ ਪੈਕਟ ਭੌਤਿਕ ਇੰਟਰਫ਼ੇਸ ਤੋਂ ਦੁਬਾਰਾ ਬਾਹਰ ਜਾਵੇਗਾ ਜਾਂ ਨਹੀਂ। ਜੋ ਹੋਸਟ ਫਾਰਵਰਡ ਨਹੀਂ ਕਰਦਾ, ਉਹ ਪੈਕਟ ਸਵੀਕਾਰ ਕਰਨ ਤੋਂ ਬਾਅਦ ਚੁੱਪਚਾਪ ਸੁੱਟ ਦੇਵੇਗਾ। ਭੇਜਣ ਵਾਲੇ ਨੂੰ ਸਮਾਂ-ਸੀਮਾ ਦਿਸਦੀ ਹੈ ਅਤੇ ਸੇਵਾ ਲਾਗ ਵਿੱਚ ਕੁਝ ਨਹੀਂ ਦਿਸਦਾ।
ਵਾਪਸੀ ਦਾ ਮਾਰਗ LAN ਦਾ ਹੈ। ਉਸ ਦੇ ਹੋਸਟ ਅਤੇ ਉਸ ਦੇ ਰਾਊਟਰ ਨੂੰ ਪਤਾ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ ਕਿ ਓਵਰਲੇ ਪ੍ਰੀਫ਼ਿਕਸ ਤੁਹਾਡੇ ਗੇਟਵੇ ਦੇ LAN ਪਤੇ ਰਾਹੀਂ ਪਹੁੰਚਯੋਗ ਹੈ, ਨਹੀਂ ਤਾਂ ਕਿਸੇ ਚੀਜ਼ ਨੂੰ ਟ੍ਰੈਫ਼ਿਕ ਦਾ ਅਨੁਵਾਦ ਕਰਨਾ ਪਵੇਗਾ ਤਾਂ ਜੋ ਇਹ ਸਵਾਲ ਹੀ ਨਾ ਉੱਠੇ।
ਇਹਨਾਂ ਵਿੱਚੋਂ ਹਰ ਇੱਕ ਸਹੀ ਹੋ ਸਕਦਾ ਹੈ ਜਦਕਿ ਬਾਕੀ ਫੇਲ ਹੋਣ, ਅਤੇ ਇਸੇ ਲਈ ਸਿਰਫ਼ ਗੇਟਵੇ ਨੂੰ ਪਿੰਗ ਕਰਨ ਵਾਲੀ ਜਾਂਚ ਉਸ ਦੇ ਪਿੱਛੇ ਦੀ ਸੇਵਾ ਬਾਰੇ ਕੁਝ ਸਾਬਤ ਨਹੀਂ ਕਰਦੀ।
ਪ੍ਰਬੰਧਿਤ ਰੂਟ ਨੂੰ ਮੈਂਬਰ ਵੱਲ ਮੋੜੋ
ਲੋੜੀਂਦੇ LAN ਪ੍ਰੀਫ਼ਿਕਸ ਲਈ ਰੂਟ ਗੇਟਵੇ ਦੇ ਓਵਰਲੇ ਪਤੇ ਰਾਹੀਂ ਜੋੜੋ, ਉਸ ਦੇ LAN ਪਤੇ ਰਾਹੀਂ ਨਹੀਂ। ਓਵਰਲੇ ਪਤਾ ਉਹ ਹੈ ਜਿੱਥੇ ਹੋਰ ਮੈਂਬਰ ਪਹੁੰਚ ਸਕਦੇ ਹਨ; LAN ਪਤੇ ਦਾ ਅਰਥ ਸਿਰਫ਼ ਤਾਰ 'ਤੇ ਹੈ।
ਡਿਜ਼ਾਈਨ ਦੇ ਕੰਮ ਕਰਨ ਲਈ ਮੈਂਬਰਾਂ ਨੂੰ ਪ੍ਰਬੰਧਿਤ ਰੂਟ ਸਵੀਕਾਰ ਕਰਨੇ ਪੈਣਗੇ, ਅਤੇ ਉਹਨਾਂ ਦੇ ਆਪਣੇ ਸਥਾਨਕ ਨੈੱਟਵਰਕ ਪਹਿਲਾਂ ਹੀ ਉਹ ਪ੍ਰੀਫ਼ਿਕਸ ਵਰਤਦੇ ਨਹੀਂ ਹੋਣਾ ਚਾਹੀਦਾ ਜਿਸ ਦਾ ਤੁਸੀਂ ਐਲਾਨ ਕਰ ਰਹੇ ਹੋ। ਘਰ ਵਿੱਚ 192.168.60.0/24 'ਤੇ ਬੈਠਾ ਦੂਰ ਦਾ ਲੈਪਟਾਪ ਵੀ ਓਵਰਲੇ ਰਾਹੀਂ 192.168.60.0/24 ਰੂਟ ਨਹੀਂ ਕਰ ਸਕਦਾ।
ਐਲਾਨੇ ਪ੍ਰੀਫ਼ਿਕਸ ਨੂੰ ਕੰਮ ਜਿੰਨਾ ਆਗਿਆ ਦਿੰਦਾ ਹੈ ਓਨਾ ਤੰਗ ਰੱਖੋ। ਤਰਜੀਹ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰਨ ਲਈ ਵੱਡਾ ਸਮੂਹ ਐਲਾਨਣ ਨਾਲ ਉਹ ਪਤਾ-ਥਾਂ ਵੀ ਦਾਅਵੇ 'ਚ ਆ ਸਕਦੀ ਹੈ ਜੋ ਤੁਹਾਡੀ ਨਹੀਂ, ਅਤੇ ਨਤੀਜੇ ਵਜੋਂ ਪੈਦਾ ਹੋਇਆ ਟਕਰਾਅ ਦੋਵੇਂ ਨੈੱਟਵਰਕਾਂ ਨਾਲ ਜੁੜੇ ਯੰਤਰਾਂ 'ਤੇ ਦਿਸਦਾ ਹੈ। ਇਹ ਕਿਸੇ ਮੈਂਬਰ ਨੂੰ ਐਸੇ ਰਾਹ ਨੂੰ ਤਰਜੀਹ ਦੇਣ ਲਈ ਵੀ ਮਜਬੂਰ ਕਰ ਸਕਦਾ ਹੈ ਜੋ ਕਿਤੇ ਨਹੀਂ ਜਾਂਦਾ। ਰੂਟ ਨੂੰ ਇਮਾਨਦਾਰ ਰੱਖੋ ਅਤੇ ਬਾਕੀ ਨੀਤੀ ਨੂੰ ਕਰਨ ਦਿਓ।
ਪ੍ਰੀਫ਼ਿਕਸ ਅਤੇ ਮੈਂਬਰ ਪਤਾ ਉਸੇ ਨੋਟ ਵਿੱਚ ਲਿਖੋ ਜਿਸ ਵਿੱਚ ਫਾਇਰਵਾਲ ਨਿਯਮ ਹਨ, ਕਿਉਂਕਿ ਸਭ ਤੋਂ ਆਮ ਖ਼ਰਾਬੀ ਗਲਤ ਮੈਂਬਰ ਵੱਲ ਇਸ਼ਾਰਾ ਕਰਨ ਵਾਲਾ ਰੂਟ ਹੈ।
ਕਰਨਲ ਵਿੱਚ ਟ੍ਰਾਂਜ਼ਿਟ ਚਾਲੂ ਕਰੋ
ਕੁਝ ਵੀ ਬਦਲਣ ਤੋਂ ਪਹਿਲਾਂ ਚੱਲ ਰਹੀ ਫਾਰਵਰਡਿੰਗ ਕੀਮਤ ਪੜ੍ਹੋ, ਫਿਰ ਸੈਟਿੰਗ ਨੂੰ ਉਸੇ ਵਿਧੀ ਰਾਹੀਂ ਪੱਕੀ ਕਰੋ ਜੋ ਤੁਹਾਡਾ ਸਿਸਟਮ ਪਹਿਲਾਂ ਹੀ ਵਰਤਦਾ ਹੈ, ਨਾ ਕਿ ਰੀਬੂਟ 'ਤੇ ਗਾਇਬ ਹੋਣ ਵਾਲੇ ਇੱਕ ਵਾਰੀ ਹੁਕਮ ਰਾਹੀਂ।
ਜੇ ਨੀਤੀ UFW ਦੀ ਹੈ, ਤਾਂ ਉਸ ਦੇ ਰੂਟ ਨਿਯਮ ਸਰੋਤ, ਮੰਜ਼ਿਲ ਅਤੇ ਇੰਟਰਫ਼ੇਸ ਦੀ ਜੋੜੀ ਲਈ ਫਾਰਵਰਡਿੰਗ ਦਰਸਾਉਂਦੇ ਹਨ। ਇਹ ਗੇਟਵੇ 'ਤੇ ਹੀ ਸੇਵਾ ਖੋਲ੍ਹਣ ਵਾਲੇ ਇਨਬਾਊਂਡ ਨਿਯਮਾਂ ਤੋਂ ਵੱਖਰੇ ਹਨ:
sysctl net.ipv4.ip_forward
sudo ufw route allow in on zt3f2a1c9d out on eth0 proto tcp to 192.168.60.20 port 443
sudo ufw status verbose
ਇੰਟਰਫ਼ੇਸ ਦਾ ਨਾਂ ਉਸ ਹੋਸਟ 'ਤੇ ਅਸਲੀ ਓਵਰਲੇ ਯੰਤਰ ਹੈ, ਜਿਸ ਨੂੰ ਤੁਸੀਂ ip link ਤੋਂ ਪੜ੍ਹ ਸਕਦੇ ਹੋ; ਇਹ ਸਾਰੀਆਂ ਇੰਸਟਾਲੇਸ਼ਨਾਂ ਵਿੱਚ ਸਥਿਰ ਸਤਰ ਨਹੀਂ ਹੈ। ਜੇ ਹੋਸਟ ਡਿਫ਼ਾਲਟ ਰੂਪ ਵਿੱਚ ਫਾਰਵਰਡ ਕਰਦਾ ਹੈ ਅਤੇ UFW ਮਾਰਗ ਵਿੱਚ ਨਹੀਂ ਹੈ, ਤਾਂ ਰੂਟ ਨਿਯਮ ਨਜ਼ਰਅੰਦਾਜ਼ ਕੀਤਾ ਜਾਵੇਗਾ ਅਤੇ ਕਰਨਲ ਸੈਟਿੰਗਾਂ ਹੀ ਮਹੱਤਵਪੂਰਨ ਹਨ।
ਚੁਣੋ ਕਿ ਜਵਾਬ ਕਿਵੇਂ ਵਾਪਸ ਆਉਂਦੇ ਹਨ
ਸਰੋਤ ਸੰਭਾਲ ਨਾਲ LAN ਸੇਵਾ ਅਸਲੀ ਓਵਰਲੇ ਪਤਾ ਦੇਖਦੀ ਹੈ ਅਤੇ ਉਸ ਨੂੰ ਜਵਾਬ ਦਿੰਦੀ ਹੈ। ਇਸ ਲਈ LAN ਹੋਸਟ ਜਾਂ ਉਸ ਦੇ ਰਾਊਟਰ 'ਤੇ ਐਸਾ ਰੂਟ ਚਾਹੀਦਾ ਹੈ ਜੋ ਓਵਰਲੇ ਪ੍ਰੀਫ਼ਿਕਸ ਨੂੰ ਤੁਹਾਡੇ ਗੇਟਵੇ ਵੱਲ ਇਸ਼ਾਰਾ ਕਰੇ, ਅਤੇ ਇਹ Linux ਬਕਸੇ ਤੋਂ ਬਾਹਰ ਦੀ ਤਬਦੀਲੀ ਹੈ।
ਜਦੋਂ ਉਹ ਰੂਟ ਜੋੜਿਆ ਨਹੀਂ ਜਾ ਸਕਦਾ, ਸੀਮਤ ਸਰੋਤ ਅਨੁਵਾਦ ਬੇਨਤੀ ਨੂੰ ਐਸਾ ਦਿਖਾਉਂਦਾ ਹੈ ਜਿਵੇਂ ਉਹ LAN 'ਤੇ ਗੇਟਵੇ ਤੋਂ ਆਈ ਹੋਵੇ। ਫਿਰ ਜਵਾਬ ਸਥਾਨਕ ਰੂਪ ਵਿੱਚ ਵਾਪਸ ਆਉਂਦੇ ਹਨ ਅਤੇ LAN ਰੂਟਿੰਗ ਬਦਲਣ ਦੀ ਲੋੜ ਨਹੀਂ ਹੁੰਦੀ, ਪਰ ਸੇਵਾ ਲਾਗਾਂ ਵਿੱਚ ਮੂਲ ਸਰੋਤ ਗੁਆਉਣ ਦੀ ਕੀਮਤ ਚੁਕਾਉਣੀ ਪੈਂਦੀ ਹੈ।
ਅਨੁਵਾਦ ਨੂੰ ਓਵਰਲੇ ਸਰੋਤ ਅਤੇ ਖ਼ਾਸ LAN ਮੰਜ਼ਿਲ ਤੱਕ ਸੀਮਿਤ ਰੱਖੋ। LAN ਇੰਟਰਫ਼ੇਸ ਤੋਂ ਬਾਹਰ ਜਾਣ ਵਾਲੀ ਹਰ ਚੀਜ਼ ਦਾ ਅਨੁਵਾਦ ਕਰਨਾ ਉਹ ਵਿਆਪਕ ਸੰਸਕਰਣ ਹੈ ਜੋ ਬਾਅਦ ਵਿੱਚ ਨਿਯਮ ਪੜ੍ਹਨ ਵਾਲੇ ਹਰ ਵਿਅਕਤੀ ਨੂੰ ਹੈਰਾਨ ਕਰਦਾ ਹੈ, ਅਤੇ ਇਹ ਉਸ ਟ੍ਰੈਫ਼ਿਕ ਨੂੰ ਵੀ ਲੁਕਾਉਂਦਾ ਹੈ ਜਿਸ ਨੂੰ ਰੋਕਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਸੀ।
ਦੋਵਾਂ ਵਿੱਚੋਂ ਕੋਈ ਵੀ ਚੋਣ LAN ਤੋਂ ਮਨਮਾਨੀ ਓਵਰਲੇ ਮੈਂਬਰਾਂ ਤੱਕ ਬਿਨਾਂ ਮੰਗੀ ਪਹੁੰਚ ਨਹੀਂ ਦਿੰਦੀ। ਜੇ ਇਹ ਚਾਹੀਦਾ ਹੈ ਤਾਂ ਇਹ ਆਪਣੀ ਸਮੀਖਿਆ ਵਾਲਾ ਵੱਖਰਾ ਨਿਯਮ ਹੈ।
ਅਸਲੀ ਮੈਂਬਰ ਤੋਂ ਜਾਂਚ ਕਰੋ
ਗੇਟਵੇ ਤੋਂ ਨਹੀਂ, ਦੂਜੇ ਮੈਂਬਰ ਤੋਂ ਜੁੜੋ ਅਤੇ ਇੱਕ ਮਨਜ਼ੂਰ ਸੇਵਾ ਦੀ ਬੇਨਤੀ ਕਰੋ। ਫਿਰ ਐਸੀ ਸੇਵਾ ਅਜ਼ਮਾਓ ਜੋ ਬੰਦ ਰਹਿਣੀ ਚਾਹੀਦੀ ਹੈ, ਅਤੇ ਦੁਬਾਰਾ ਜੁੜਨ ਤੋਂ ਬਾਅਦ ਅਤੇ ਗੇਟਵੇ ਰੀਬੂਟ ਹੋਣ ਤੋਂ ਬਾਅਦ ਦੋਵੇਂ ਜਾਂਚਾਂ ਦੁਹਰਾਓ।
ਜੋ ਮੈਂਬਰ ONLINE ਦੀ ਸੂਚਨਾ ਦਿੰਦਾ ਹੈ, ਜਾਂ ਗੇਟਵੇ ਦੇ ਓਵਰਲੇ ਪਤੇ 'ਤੇ ਸਫਲ ਪਿੰਗ, ਰੂਟ, ਫਾਰਵਰਡ ਨਿਯਮ ਜਾਂ ਵਾਪਸੀ ਦੇ ਮਾਰਗ ਨੂੰ ਪ੍ਰਮਾਣਿਤ ਨਹੀਂ ਕਰਦਾ:
zerotier-cli listnetworks
ip -4 route get 192.168.60.20
sudo ufw status numbered
ਦੂਜਾ ਹੁਕਮ ਦੱਸਦਾ ਹੈ ਕਿ ਪੈਕਟ LAN ਹੋਸਟ ਲਈ ਕਿਹੜਾ ਇੰਟਰਫ਼ੇਸ ਵਰਤੇਗਾ, ਅਤੇ ਤੀਜਾ ਦੱਸਦਾ ਹੈ ਕਿ ਰੂਟ ਨਿਯਮ ਤੁਹਾਡੇ ਇਰਾਦੇ ਵਾਲੇ ਰੂਪ ਵਿੱਚ ਮੌਜੂਦ ਹੈ ਜਾਂ ਨਹੀਂ। ਜੇ ਦੋਵੇਂ ਸਹੀ ਲੱਗਦੇ ਹਨ ਅਤੇ ਸੇਵਾ ਫਿਰ ਵੀ ਸਮਾਂ ਕੱਢ ਦਿੰਦੀ ਹੈ, ਤਾਂ ਬਾਕੀ ਸ਼ੱਕੀ ਵਾਪਸੀ ਦਾ ਮਾਰਗ ਹੈ।