ਇੱਕ ਡੈਸ਼ਬੋਰਡ ਪੁੱਛਦਾ ਹੈ ਕਿ ਕਨੈਕਸ਼ਨ ਕਿੰਨੀ ਦੇਰ ਤੋਂ ਚਾਲੂ ਹੈ, ਅਤੇ OpenVPN ਇਹ ਨਹੀਂ ਦਿੰਦਾ। ਕਲਾਇੰਟ ਜਾਣਦਾ ਹੈ ਕਿ ਉਸ ਦੀ ਸੁਰੰਗ ਕਦੋਂ ਉੱਪਰ ਆਈ, ਪਰ ਤਾਂ ਹੀ ਜੇ ਸੈਸ਼ਨ ਦੀ ਸਥਿਤੀ ਗੁਆਚਣ ਤੋਂ ਪਹਿਲਾਂ ਕੋਈ ਉਹ ਪਲ ਦਰਜ ਕਰੇ। ਸਮਰਥਿਤ ਥਾਂ up ਹੁੱਕ ਹੈ, ਅਤੇ ਸੰਭਾਲਣ ਯੋਗ ਮੁੱਲ ਫਾਰਮੈਟ ਕੀਤੀ ਸਤਰ ਨਹੀਂ ਸਗੋਂ ਕੱਚਾ epoch ਸਕਿੰਟ ਹੈ। ਇਸ ਤੋਂ ਬਾਅਦ ਸਭ ਗਣਿਤ ਹੈ, ਨਾਲ ਕੁਝ ਕ੍ਰਮ-ਨਿਯਮ ਜੋ ਤੈਅ ਕਰਦੇ ਹਨ ਕਿ ਸੰਖਿਆ ਇਮਾਨਦਾਰ ਰਹਿੰਦੀ ਹੈ ਜਾਂ ਨਹੀਂ।

ਪੱਕਾ ਕਰੋ ਕਿ ਹੁੱਕ ਅਸਲ ਵਿੱਚ ਚੱਲਦੇ ਹਨ

ਇਸ ਦੇ ਆਲੇ-ਦੁਆਲੇ ਕੁਝ ਵੀ ਬਣਾਉਣ ਤੋਂ ਪਹਿਲਾਂ ਸਾਬਤ ਕਰੋ ਕਿ ਹੁੱਕ ਚੱਲਦਾ ਹੈ। ਘੱਟੋ-ਘੱਟ ਕਲਾਇੰਟ ਸੰਰਚਨਾ ਨੂੰ script-security 2 ਅਤੇ ਸਪੱਸ਼ਟ ਮਾਰਗ up ਅਤੇ down ਚਾਹੀਦੇ ਹਨ; ਸੁਰੱਖਿਆ ਲਾਈਨ ਤੋਂ ਬਿਨਾਂ OpenVPN ਸਕ੍ਰਿਪਟ ਚਲਾਉਣ ਤੋਂ ਇਨਕਾਰ ਕਰਦਾ ਹੈ ਅਤੇ ਇਹ ਸਪੱਸ਼ਟ ਕਹਿੰਦਾ ਹੈ। ਇਸੇ ਸਮੇਂ up-restart ਅਤੇ down-pre ਜੋੜੋ ਤਾਂ ਜੋ ਰੀਸਟਾਰਟ ਅਤੇ ਟੀਅਰਡਾਊਨ ਮਾਰਗ ਅਨੁਮਾਨਿਤ ਢੰਗ ਨਾਲ ਵਿਵਹਾਰ ਕਰਨ।

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

ਜਾਂਚੋ ਕਿ ਹੁੱਕ ਕਿਹੜੇ ਵਰਤੋਂਕਾਰ ਵਜੋਂ ਚੱਲਦਾ ਹੈ। user ਅਤੇ group ਸੈੱਟ ਹੋਣ 'ਤੇ OpenVPN ਸਕ੍ਰਿਪਟ ਚਲਾਉਣ ਤੋਂ ਪਹਿਲਾਂ ਵਿਸ਼ੇਸ਼ ਅਧਿਕਾਰ ਛੱਡ ਦਿੰਦਾ ਹੈ, ਇਸ ਲਈ ਜਿਸ ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ root ਲਿਖ ਸਕਦਾ ਹੈ ਉਹ ਹੁੱਕ ਲਈ ਬੰਦ ਹੋ ਸਕਦੀ ਹੈ। ਮਾਰਗ ਆਪਣੇ ਸ਼ੈੱਲ ਦੀ ਥਾਂ ਸੇਵਾ ਦੇ ਨਜ਼ਰੀਏ ਤੋਂ ਚੁਣੋ।

ਇੱਕ epoch ਮੁੱਲ ਦਰਜ ਕਰੋ ਅਤੇ ਉਹ ਜਾਣ-ਬੁੱਝ ਕੇ ਮਿਟਾਓ

up ਹੁੱਕ ਨੂੰ ਇੱਕ ਲਾਈਨ ਚਾਹੀਦੀ ਹੈ, date +%s > /run/openvpn-client.started, ਹਰ ਇੰਸਟੈਂਸ ਲਈ ਮਾਰਗ ਅਨੁਕੂਲ ਕਰਕੇ। epoch ਮੁੱਲ ਬਾਅਦ ਵਿੱਚ ਭਾਸ਼ਾ, ਸਮਾਂ ਖੇਤਰ ਅਤੇ ਫਾਰਮੈਟ ਦੇ ਸਵਾਲਾਂ ਤੋਂ ਬਚਾਉਂਦਾ ਹੈ, ਅਤੇ ਇਹ ਉਹੀ ਸੰਖਿਆ ਹੈ ਜੋ ਮਾਨੀਟਰਿੰਗ ਏਜੰਟ ਆਪਣੀ ਘੜੀ ਨਾਲ ਤੁਲਨਾ ਕਰ ਸਕਦਾ ਹੈ।

ਮਿਟਾਉਣਾ ਲਿਖਣ ਜਿੰਨਾ ਹੀ ਜ਼ਰੂਰੀ ਹੈ। down ਹੁੱਕ ਨੂੰ ਫਾਈਲ ਖਾਲੀ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ ਜਾਂ ਹਟਾਉਣੀ ਚਾਹੀਦੀ ਹੈ, ਅਤੇ down-pre ਇਹ ਇੰਟਰਫੇਸ ਬੰਦ ਹੋਣ ਤੋਂ ਪਹਿਲਾਂ ਕਰਦਾ ਹੈ, ਜਿਸ ਨਾਲ ਉਹ ਖਿੜਕੀ ਹਟ ਜਾਂਦੀ ਹੈ ਜਿੱਥੇ ਫਾਈਲ ਪਹਿਲਾਂ ਹੀ ਗਈ ਸੁਰੰਗ ਦਾ ਵਰਣਨ ਕਰਦੀ ਹੈ। up-restart ਫਿਰ ਅੰਦਰੂਨੀ ਰੀਸਟਾਰਟ 'ਤੇ ਸਟੈਂਪ ਤਾਜ਼ਾ ਕਰਦਾ ਹੈ, ਮੂਲ ਮੁੱਲ ਨੂੰ ਥਾਂ 'ਤੇ ਛੱਡਣ ਦੀ ਥਾਂ। ਉਸ ਜੋੜੀ ਤੋਂ ਬਿਨਾਂ ping ਸਮਾਂ-ਸੀਮਾ ਤੋਂ ਬਾਅਦ ਰੀਸਟਾਰਟ ਇੱਕ ਸੰਖਿਆ ਦਿੰਦਾ ਹੈ ਜੋ ਸੁਰੰਗ ਦੁਬਾਰਾ ਬਣਦਿਆਂ ਵਧਦੀ ਰਹਿੰਦੀ ਹੈ।

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

ਲਾਗ ਲਾਈਨਾਂ 'ਤੇ ਭਰੋਸਾ ਕੀਤੇ ਬਿਨਾਂ ਅੱਪਟਾਈਮ ਗਿਣੋ

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

ਲਾਗ ਦੇ ਟਾਈਮਸਟੈਂਪ ਪਾਰਸ ਕਰਨਾ ਲੁਭਾਉਣਾ ਛੋਟਾ ਰਾਹ ਹੈ, ਅਤੇ ਇਹ ਤਿੰਨ ਤਰ੍ਹਾਂ ਫੇਲ੍ਹ ਹੁੰਦਾ ਹੈ: ਫਾਰਮੈਟ ਸੈੱਟ ਕੀਤੇ ਕਿਸੇ ਵੀ ਵਿਕਲਪ ਦੀ ਪਾਲਣਾ ਕਰਦਾ ਹੈ, ਰੋਟੇਸ਼ਨ ਇਤਿਹਾਸ ਹਟਾ ਦਿੰਦਾ ਹੈ, ਅਤੇ ਮੁੜ-ਕਨੈਕਸ਼ਨ ਇੱਕ ਲਗਾਤਾਰ ਸੁਰੰਗ ਦੀ ਥਾਂ ਵੱਖਰੇ ਸੈਸ਼ਨਾਂ ਵਜੋਂ ਦਿਸਦੇ ਹਨ। ਹੁੱਕ ਘਟਨਾ ਨੂੰ ਇੱਕ ਵਾਰ, ਜਿਸ ਪਲ ਉਹ ਵਾਪਰਦੀ ਹੈ, ਦਰਜ ਕਰਦਾ ਹੈ।

ਜਦੋਂ ਜਾਂਚ ਕਿਸੇ ਹੋਰ ਹੋਸਟ 'ਤੇ ਚੱਲਦੀ ਹੈ, ਤਾਂ ਮਿਆਦ ਦੀ ਥਾਂ ਟਾਈਮਸਟੈਂਪ ਭੇਜੋ ਤਾਂ ਜੋ ਪਾਠਕ ਆਪਣੀ ਘੜੀ ਲਾਗੂ ਕਰੇ। ਫਿਰ ਛੋਟਾ ਰਿਣਾਤਮਕ ਨਤੀਜਾ ਟੁੱਟੇ ਹੁੱਕ ਦੀ ਥਾਂ ਘੜੀ ਦੇ ਫ਼ਰਕ ਵਜੋਂ ਪੜ੍ਹਿਆ ਜਾਂਦਾ ਹੈ।

ਮੁੜ-ਕਨੈਕਸ਼ਨ, ਰੀਸਟਾਰਟ ਅਤੇ ਕਈ ਇੰਸਟੈਂਸ ਸ਼ਾਮਲ ਕਰੋ

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

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

ਸਰਵਰ ਵੱਲ, ਸਥਿਤੀ ਫਾਈਲ ਹਰ ਕਲਾਇੰਟ ਲਈ connected-since ਮੁੱਲ ਰੱਖਦੀ ਹੈ, ਜੋ ਵੱਖਰੇ ਸਵਾਲ ਦਾ ਜਵਾਬ ਦਿੰਦੀ ਹੈ: ਸਰਵਰ ਨੇ ਉਸ ਪੀਅਰ ਨੂੰ ਆਖ਼ਰੀ ਵਾਰ ਕਦੋਂ ਦੇਖਿਆ। ਇਸ ਨੂੰ ਬਦਲੀ ਵਜੋਂ ਨਹੀਂ ਸਗੋਂ ਕ੍ਰਾਸ-ਚੈੱਕ ਲਈ ਵਰਤੋ, ਕਿਉਂਕਿ ਇਹ ਉਸ ਸੈਸ਼ਨ ਨਾਲ ਗਾਇਬ ਹੋ ਜਾਂਦੀ ਹੈ ਜਿਸ ਦਾ ਇਹ ਵਰਣਨ ਕਰਦੀ ਹੈ। ਦੋਹਾਂ ਵਿੱਚੋਂ ਕੋਈ ਵੀ ਮਾਪ ਸੁਰੰਗ ਪਿੱਛੇ ਦੀ ਐਪਲੀਕੇਸ਼ਨ ਦੀ ਸਿਹਤ ਬਾਰੇ ਕੁਝ ਨਹੀਂ ਕਹਿੰਦਾ।

ਕ੍ਰਮ ਦੀਆਂ ਗਲਤੀਆਂ ਫੜਨ ਵਾਲੀਆਂ ਤਿੰਨ ਜਾਂਚਾਂ ਚਲਾਓ

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

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

ਸੰਬੰਧਿਤ ਲੇਖ