OpenVPN ਵਿੱਚ ਰੂਟ ਕਿੱਥੇ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ: ਕਲਾਇੰਟ ਵਿੱਚ ਜਾਂ ਸਰਵਰ ਵਿੱਚ?
ਸਰਵਰ ਕਾਨਫਿਗ ਵਿੱਚ ਨੰਗਾ ਰੂਟ ਸਰਵਰ ਨੂੰ ਬਦਲਦਾ ਹੈ, ਕਲਾਇੰਟ ਨੂੰ ਨਹੀਂ। ਕਲਾਇੰਟ ਫਾਈਲ, ਗਲੋਬਲ push ਜਾਂ ਇੱਕ ਕਲਾਇੰਟ ਲਈ push ਚੁਣੋ ਅਤੇ ਜਾਂਚੋ ਕਿ ਕੀ ਪਹੁੰਚਿਆ।
ਤੁਸੀਂ ਸਰਵਰ ਕਾਨਫਿਗਰੇਸ਼ਨ ਵਿੱਚ route 10.60.0.0 255.255.255.0 ਸ਼ਾਮਲ ਕਰਦੇ ਹੋ, ਮੁੜ ਸ਼ੁਰੂ ਕਰਦੇ ਹੋ, ਲੈਪਟਾਪ ਦੁਬਾਰਾ ਜੋੜਦੇ ਹੋ, ਅਤੇ ਉਸ ਲੈਪਟਾਪ ਤੋਂ ਸਬਨੈੱਟ ਅਜੇ ਵੀ ਪਹੁੰਚ ਤੋਂ ਬਾਹਰ ਹੈ। ਲਾਈਨ ਸਵੀਕਾਰ ਹੋ ਗਈ, ਸੇਵਾ ਸਾਫ਼-ਸੁਥਰੀ ਸ਼ੁਰੂ ਹੋਈ, ਅਤੇ ਲਾਗ ਵਿੱਚ ਕੁਝ ਵੀ ਗਲਤ ਨਹੀਂ ਦਿਸਦਾ। ਜੋ ਹੋਇਆ ਉਹ ਇਹ ਹੈ ਕਿ ਰੂਟ ਉਸੇ ਮਸ਼ੀਨ ਉੱਤੇ ਸਥਾਪਿਤ ਹੋਇਆ ਜਿਸ ਨੂੰ ਤੁਸੀਂ ਸੋਧਿਆ: ਗੇਟਵੇ ਹੁਣ ਮੰਨਦਾ ਹੈ ਕਿ ਉਹ ਉਸ ਪ੍ਰੀਫਿਕਸ ਤੱਕ ਪਹੁੰਚ ਸਕਦਾ ਹੈ, ਜਦੋਂ ਕਿ ਕਲਾਇੰਟ ਨੂੰ ਕੁਝ ਨਹੀਂ ਦੱਸਿਆ ਗਿਆ। ਥਾਂ ਹੀ ਪੂਰਾ ਸਵਾਲ ਹੈ, ਅਤੇ ਚਾਰ ਥਾਵਾਂ ਹਨ ਜਿੱਥੇ ਉਹੀ ਲਾਈਨ ਰਹਿ ਸਕਦੀ ਹੈ।
ਚਾਰ ਥਾਵਾਂ ਅਤੇ ਹਰ ਇੱਕ ਕਿਸ ਨੂੰ ਮਿਲਦੀ ਹੈ
ਰੂਟ ਕਲਾਇੰਟ ਦੀ ਆਪਣੀ ਕਾਨਫਿਗਰੇਸ਼ਨ ਨਾਲ ਜੋੜਿਆ ਜਾ ਸਕਦਾ ਹੈ, ਗਲੋਬਲ push ਰਾਹੀਂ ਹਰ ਕਲਾਇੰਟ ਨੂੰ ਦਿੱਤਾ ਜਾ ਸਕਦਾ ਹੈ, ਕਲਾਇੰਟ-ਵਿਸ਼ੇਸ਼ ਫਾਈਲ ਰਾਹੀਂ ਇੱਕ ਕਲਾਇੰਟ ਨੂੰ ਦਿੱਤਾ ਜਾ ਸਕਦਾ ਹੈ, ਜਾਂ ਸਰਵਰ ਦੇ ਆਪਣੇ ਰਾਊਟਿੰਗ ਸੰਦਰਭ ਵਿੱਚ ਲਿਖਿਆ ਜਾ ਸਕਦਾ ਹੈ।
ਉਹ ਚਾਰੇ ਕੇਸ ਲਗਭਗ ਇੱਕੋ ਜਿਹਾ ਸਿੰਟੈਕਸ ਵਰਤਦੇ ਹਨ ਅਤੇ ਪੂਰੀ ਤਰ੍ਹਾਂ ਵੱਖਰੇ ਨਤੀਜੇ ਦਿੰਦੇ ਹਨ। ਪਹਿਲੇ ਤਿੰਨ ਪ੍ਰਭਾਵਿਤ ਕਰਦੇ ਹਨ ਕਿ ਕਲਾਇੰਟ ਟਨਲ ਵਿੱਚ ਕੀ ਭੇਜਦਾ ਹੈ; ਚੌਥਾ ਪ੍ਰਭਾਵਿਤ ਕਰਦਾ ਹੈ ਕਿ ਸਰਵਰ ਨੈੱਟਵਰਕ ਤੱਕ ਕਿਵੇਂ ਪਹੁੰਚਦਾ ਹੈ, ਜੋ ਤਦ ਲਾਭਦਾਇਕ ਹੈ ਜਦੋਂ ਸਰਵਰ ਨੂੰ ਆਪਣੇ ਆਪ ਹੀ ਰਾਹ ਦੀ ਲੋੜ ਹੋਵੇ ਅਤੇ ਤਦ ਨੁਕਸਾਨਦੇਹ ਹੈ ਜਦੋਂ ਇਸਨੂੰ ਵੰਡ ਸਮਝ ਲਿਆ ਜਾਵੇ।
ਲਾਈਨ ਲਿਖਣ ਤੋਂ ਪਹਿਲਾਂ ਤੈਅ ਕਰੋ ਕਿ ਚਾਰਾਂ ਵਿੱਚੋਂ ਕਿਹੜਾ ਚਾਹੀਦਾ ਹੈ, ਫਿਰ ਪ੍ਰਾਪਤਕਰਤਾ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ।
| Placement | Effect | Receiver |
|---|---|---|
| Client profile route | Installed by the client at connect | That client only |
Global push "route ..." | Sent to every client that accepts pushed options | All pulling clients |
| Client-specific push | Sent to the matching client context | One identity |
| Server config route, no push | Added to the server's own table | The gateway itself |
ਨੰਗਾ ਸਰਵਰ ਰੂਟ ਲੋਕਾਂ ਨੂੰ ਹੈਰਾਨ ਕਿਉਂ ਕਰਦਾ ਹੈ
ਸਰਵਰ ਕਾਨਫਿਗਰੇਸ਼ਨ ਉਹ ਥਾਂ ਹੈ ਜਿੱਥੇ ਪ੍ਰਸ਼ਾਸਕ ਸਭ ਤੋਂ ਪਹਿਲਾਂ ਵੇਖਦੇ ਹਨ, ਅਤੇ ਉੱਥੇ ਦਾ ਰੂਟ ਨਿਰਦੇਸ਼ VPN ਨੈੱਟਵਰਕ ਬਾਰੇ ਬਿਆਨ ਵਾਂਗ ਪੜ੍ਹਿਆ ਜਾਂਦਾ ਹੈ। ਅਜਿਹਾ ਨਹੀਂ ਹੈ। OpenVPN ਇਸਨੂੰ ਡੈਮਨ ਚੱਲ ਰਹੀ ਮਸ਼ੀਨ ਉੱਤੇ ਸਥਾਨਕ ਰੂਟ ਇੰਸਟਾਲ ਵਜੋਂ ਲੈਂਦਾ ਹੈ, ਜੋ ਠੀਕ ਉਸੇ ਕਿਸਮ ਦੀ ਤਬਦੀਲੀ ਹੈ ਜੋ ਤੁਸੀਂ ip route ਨਾਲ ਕਰਦੇ ਅਤੇ ਫਿਰ ਭੁੱਲ ਜਾਂਦੇ।
ਵੰਡ ਲਈ ਰੂਟ ਨੂੰ push ਕਰਨਾ ਪੈਂਦਾ ਹੈ, ਅਤੇ push ਲਈ ਕਲਾਇੰਟ ਨੂੰ ਖਿੱਚਣਾ ਪੈਂਦਾ ਹੈ। ਖਿੱਚੇ ਵਿਕਲਪ ਬੰਦ ਕਰਕੇ ਸ਼ੁਰੂ ਕੀਤਾ ਕਲਾਇੰਟ ਪੇਸ਼ਕਸ਼ ਨੂੰ ਪੂਰੀ ਤਰ੍ਹਾਂ ਨਜ਼ਰਅੰਦਾਜ਼ ਕਰਦਾ ਹੈ। ਸਰਵਰ ਫਾਈਲ ਦੁਬਾਰਾ ਲਿਖਣ ਤੋਂ ਪਹਿਲਾਂ ਉਸ ਹੱਥ ਮਿਲਾਉਣ ਦੇ ਦੋਵੇਂ ਸਿਰੇ ਜਾਂਚੋ, ਕਿਉਂਕਿ ਸਰਵਰ ਦਾ ਲਾਗ ਸ਼ਿਕਾਇਤ ਨਹੀਂ ਕਰੇਗਾ: ਉਸ ਦੀ ਪਾਸੋਂ ਪੇਸ਼ਕਸ਼ ਭੇਜੀ ਗਈ ਸੀ। ਸਵੀਕਾਰ ਕੀਤਾ ਰੂਟ ਵੀ ਸਿਰਫ਼ ਅਗਲੇ ਕਨੈਕਸ਼ਨ ਉੱਤੇ ਲਾਗੂ ਹੁੰਦਾ ਹੈ, ਤੁਸੀਂ ਜਿਸ ਸੈਸ਼ਨ ਵਿੱਚ ਪਹਿਲਾਂ ਹੀ ਹੋ ਉੱਥੇ ਕਦੇ ਨਹੀਂ।
ਜਦੋਂ ਤੁਸੀਂ ਦੋਵਾਂ ਨੂੰ ਵੱਖਰੀਆਂ ਕਿਰਿਆਵਾਂ ਵਜੋਂ ਵੇਖਦੇ ਹੋ, ਤਾਂ ਅਸਫਲਤਾ ਰਹੱਸਮਈ ਰਹਿਣਾ ਬੰਦ ਕਰ ਦਿੰਦੀ ਹੈ: ਸਰਵਰ ਪ੍ਰੀਫਿਕਸ ਤੱਕ ਪਹੁੰਚਦਾ ਹੈ, ਕਲਾਇੰਟ ਨਹੀਂ ਪਹੁੰਚ ਸਕਦਾ, ਅਤੇ ਦੋਵੇਂ ਬਿਆਨ ਇੱਕੋ ਸਮੇਂ ਸੱਚ ਹਨ।
ਪ੍ਰਤੀ-ਕਲਾਇੰਟ ਫਾਈਲਾਂ ਅਤੇ ਜਿਸ ਪਛਾਣ ਨਾਲ ਉਹ ਮਿਲਦੀਆਂ ਹਨ
ਕਲਾਇੰਟ-ਵਿਸ਼ੇਸ਼ ਫਾਈਲ ਦਾ ਨਾਂ ਉਸ ਪਛਾਣ ਉੱਤੇ ਰੱਖਿਆ ਜਾਂਦਾ ਹੈ ਜਿਸਨੂੰ ਸਰਵਰ ਨੇ ਪ੍ਰਮਾਣਿਤ ਕੀਤਾ, ਜੋ ਡਿਫਾਲਟ ਰੂਪ ਵਿੱਚ ਸਰਟੀਫਿਕੇਟ ਦਾ ਆਮ ਨਾਂ ਹੈ। ਡੈਸਕਟਾਪ ਕਲਾਇੰਟ ਵਿੱਚ ਦੋਸਤਾਨਾ ਕਨੈਕਸ਼ਨ ਨਾਂ ਉਹ ਮੁੱਲ ਨਹੀਂ ਹੈ, ਅਤੇ ਬੇਮੇਲ ਹੋਣ ਨਾਲ ਅਜਿਹੀ ਫਾਈਲ ਬਣਦੀ ਹੈ ਜੋ ਕਦੇ ਨਹੀਂ ਪੜ੍ਹੀ ਜਾਂਦੀ।
ਸਰਵਰ ਜੋ ਡਾਇਰੈਕਟਰੀ ਅਸਲ ਵਿੱਚ ਵਰਤਦਾ ਹੈ ਉਹ ਜਾਂਚੋ, ਫਿਰ ਪੁਸ਼ਟੀ ਕਰੋ ਕਿ ਫਾਈਲ ਦਾ ਨਾਂ ਪ੍ਰਮਾਣਿਤ ਪਛਾਣ ਨਾਲ ਬਿਲਕੁਲ ਮਿਲਦਾ ਹੈ, ਵੱਡੇ ਅਤੇ ਛੋਟੇ ਅੱਖਰਾਂ ਸਮੇਤ।
grep -n 'client-config-dir' /etc/openvpn/server/server.conf
ls -l /etc/openvpn/ccd/ਉਸ ਫਾਈਲ ਦੇ ਅੰਦਰ ਵੀ ਰੂਟ ਨੂੰ push ਕਰਨਾ ਪੈਂਦਾ ਹੈ, ਕਿਉਂਕਿ ਪ੍ਰਤੀ-ਕਲਾਇੰਟ ਸੰਦਰਭ ਉਸ ਕਲਾਇੰਟ ਦੇ ਸੈਸ਼ਨ ਉੱਤੇ ਲਾਗੂ ਵਿਕਲਪਾਂ ਦਾ ਸਮੂਹ ਹੈ, ਸਥਾਨਕ ਰਾਊਟਿੰਗ ਟੇਬਲ ਨਹੀਂ। ਉੱਥੇ ਨੰਗੇ ਰੂਟ ਦੀ ਸਮੱਸਿਆ ਗਲੋਬਲ ਫਾਈਲ ਦੇ ਨੰਗੇ ਰੂਟ ਵਰਗੀ ਹੀ ਹੈ।
ਕਲਾਇੰਟ ਦੀ ਆਪਣੀ ਫਾਈਲ ਅਤੇ ਉਸਦਾ ਮਾਲਕ ਸਾਧਨ
ਕਲਾਇੰਟ ਦੀ ਕਾਨਫਿਗ ਵਿੱਚ ਰੱਖਿਆ ਰੂਟ ਉਸ ਕਲਾਇੰਟ ਦੇ ਜੁੜਨ ਵੇਲੇ ਸਥਾਪਿਤ ਹੁੰਦਾ ਹੈ ਅਤੇ ਡਿਸਕਨੈਕਟ ਹੋਣ ਵੇਲੇ ਹਟਾਇਆ ਜਾਂਦਾ ਹੈ, ਜੋ ਸਥਿਰ ਮੰਜ਼ਿਲ ਲਈ ਸਹੀ ਜੀਵਨ ਚੱਕਰ ਹੈ।
ਜੇ ਨੈੱਟਵਰਕ ਮੈਨੇਜਰ ਪ੍ਰੋਫਾਈਲ ਦਾ ਮਾਲਕ ਹੈ, ਤਾਂ ਉਹ ਉਹ ਵਿਕਲਪ ਇੱਕ ਵਾਰ ਆਯਾਤ ਕਰਕੇ ਫਿਰ ਆਪਣੀ ਕਾਪੀ ਰੱਖ ਸਕਦਾ ਹੈ। ਬਾਅਦ ਵਿੱਚ ਡਾਊਨਲੋਡ ਕੀਤੀ ਫਾਈਲ ਸੋਧਣ ਨਾਲ ਕੁਝ ਨਹੀਂ ਬਦਲਦਾ, ਜੋ "ਰੂਟ ਹੈ ਪਰ ਲਾਗੂ ਨਹੀਂ ਹੁੰਦਾ" ਦਾ ਆਮ ਕਾਰਨ ਹੈ।
ਤੁਸੀਂ ਡਾਊਨਲੋਡ ਕੀਤੀ ਫਾਈਲ ਦੀ ਬਜਾਏ ਸਰਗਰਮ ਪ੍ਰੋਫਾਈਲ ਜਾਂਚੋ, ਅਤੇ ਮੈਨੇਜਰ ਵੱਲੋਂ ਦਿਖਾਈਆਂ ਆਯਾਤ ਸੈਟਿੰਗਾਂ ਜਾਂਚੋ। ਫਿਰ ਜੁੜੋ ਅਤੇ ਸਿਸਟਮ ਨੂੰ ਪੁੱਛੋ ਕਿ ਕੋਈ ਖਾਸ ਪਤਾ ਕਿਹੜਾ ਰਾਹ ਵਰਤਦਾ ਹੈ, ਇਹ ਮੰਨਣ ਦੀ ਬਜਾਏ ਕਿ ਟਨਲ ਜਿੱਤ ਗਿਆ ਕਿਉਂਕਿ ਰੂਟ ਇੱਕ ਟੈਕਸਟ ਫਾਈਲ ਵਿੱਚ ਸੀ।
ਕਲਾਇੰਟ ਉੱਤੇ ਪੁਸ਼ਟੀ ਕਰੋ, ਫਿਰ ਵਾਪਸੀ ਰਾਹ ਜਾਂਚੋ
ਮੰਜ਼ਿਲ ਲਈ ਕਲਾਇੰਟ ਦੇ ਆਪਣੇ ਰਾਊਟਿੰਗ ਟੇਬਲ ਨੂੰ ਪੁੱਛੋ, ਸਰਵਰ ਦੇ ਨਹੀਂ। ਪ੍ਰੀਫਿਕਸ ਦੇ ਅੰਦਰ ਇੱਕ ਹੋਸਟ ਲਈ ਖੋਜ ਹੀ ਇਹ ਦਿਖਾਉਣ ਲਈ ਕਾਫ਼ੀ ਹੈ ਕਿ ਕਿਹੜਾ ਇੰਟਰਫੇਸ ਅਤੇ ਅਗਲਾ ਹੌਪ ਵਰਤਿਆ ਜਾਵੇਗਾ।
ip route get 10.60.0.10ਜੇ ਖੋਜ ਟਨਲ ਵੱਲ ਇਸ਼ਾਰਾ ਕਰਦੀ ਹੈ, ਤਾਂ ਵੰਡ ਕੰਮ ਕਰ ਗਈ ਅਤੇ ਬਾਕੀ ਸਮੱਸਿਆ ਕਿਤੇ ਹੋਰ ਹੈ। ਜੇ ਇਹ ਡਿਫਾਲਟ ਗੇਟਵੇ ਵੱਲ ਇਸ਼ਾਰਾ ਕਰਦੀ ਹੈ, ਤਾਂ ਰੂਟ ਸਥਾਪਿਤ ਨਹੀਂ ਹੋਇਆ, ਕਲਾਇੰਟ-ਸਾਈਡ ਵਿਕਲਪ ਨਾਲ ਫਿਲਟਰ ਹੋ ਗਿਆ, ਜਾਂ ਕਲਾਇੰਟ ਵੱਲੋਂ ਵਰਤੇ ਨਾ ਜਾਣ ਵਾਲੇ ਪ੍ਰੋਫਾਈਲ ਦਾ ਹੈ।
ਮੰਨ ਲਓ ਵੰਡ ਕੰਮ ਕਰ ਗਈ ਅਤੇ ਫਿਰ ਵੀ ਕੁਝ ਜਵਾਬ ਨਹੀਂ ਦਿੰਦਾ: ਤਾਂ ਗੇਟਵੇ ਉੱਤੇ ਫਾਰਵਰਡਿੰਗ, ਦੂਜੇ ਪਾਸੇ ਦਾ ਵਾਪਸੀ ਰੂਟ ਅਤੇ ਉਨ੍ਹਾਂ ਵਿਚਕਾਰ ਕੋਈ ਵੀ ਫਾਇਰਵਾਲ ਜਾਂਚੋ। ਰੂਟ ਰਾਹ ਚੁਣਦਾ ਹੈ, ਇਹ ਪਹੁੰਚ ਨਹੀਂ ਦਿੰਦਾ।