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

ਤੈਅ ਕਰੋ ਕਿ rsync ਅਸਲ ਵਿੱਚ ਕਿਹੜਾ ਜੋੜ ਬਣਾਉਂਦਾ ਹੈ

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

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

Remote argumentWhat it opens
rsync://vault.corp.internal/archive/rsync daemon, normally TCP 873
vault.corp.internal::archive/rsync daemon, normally TCP 873
[email protected]:/srv/archive/Remote shell, normally SSH on its configured port

ਡੈਮਨ ਮੋਡ: ਬਾਈਂਡ ਪਤਾ, ਮਾਡਿਊਲ ਅਤੇ ਪੋਰਟ

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

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

address = 10.44.0.1
port = 873
[archive]
    path = /srv/archive
    read only = yes

ਫਿਰ ਜਨਤਕ ਨਾਮ ਦੀ ਬਜਾਏ ਨਿੱਜੀ ਪਤੇ ਦੇ ਖਿਲਾਫ਼ ਪਰਖੋ। ਜਨਤਕ ਹੋਸਟ ਨਾਮ WAN ਪਤੇ ’ਤੇ ਹੱਲ ਹੁੰਦਾ ਹੈ ਅਤੇ ਵੱਖਰਾ ਰਾਹ ਲੈਂਦਾ ਹੈ, ਭਾਵੇਂ ਇੱਕ ਹੀ ਮਸ਼ੀਨ ਦੋਹਾਂ ਨੂੰ ਜਵਾਬ ਦੇਵੇ।

rsync --list-only rsync://10.44.0.1/archive/

ਦੂਰਲਾ-ਸ਼ੈੱਲ ਮੋਡ: SSH ਢੋਆ-ਢੁਆਈ ਚੁੱਕਦਾ ਹੈ

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

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

ਸਿਰਫ਼ ਉਹੀ ਰਾਹ ਖੋਲ੍ਹੋ ਜੋ ਤੁਸੀਂ ਚੁਣਿਆ

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

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

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

ufw allow in on tun0 from 10.44.0.0/24 to 10.44.0.1 port 873 proto tcp
ss -ltnp | grep 873

ਸੰਬੰਧਿਤ ਲੇਖ