OpenVPN ਲੌਗ ਲਾਈਨ ਵਿੱਚ us= ਦਾ ਕੀ ਅਰਥ ਹੈ ਅਤੇ ਇਸਨੂੰ ਕਿਵੇਂ ਬਦਲਣਾ ਹੈ
us= ਫ਼ੀਲਡ ਲੌਗ ਟਾਈਮਸਟੈਂਪ ਦਾ ਮਾਈਕ੍ਰੋਸਕਿੰਟ ਹਿੱਸਾ ਹੈ, ਸੈਸ਼ਨ ਆਈਡੀ ਨਹੀਂ। ਇਸਨੂੰ ਛੇ ਅੰਕਾਂ ਤੱਕ ਭਰੋ ਅਤੇ ਘੜੀਆਂ ਦੀ ਤੁਲਨਾ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਪੂਰੀ ਲਾਈਨ ਪੜ੍ਹੋ।
OpenVPN ਦਾ ਟੈਕਸਟ ਲੌਗ ਇੱਕ ਤਾਰੀਖ਼, ਇੱਕ ਸਮਾਂ ਅਤੇ ਇੱਕ us= ਮੁੱਲ ਇੱਕੋ ਲਾਈਨ ਵਿੱਚ ਲਿਖਦਾ ਹੈ, ਅਤੇ ਤਿੰਨਾਂ ਵਿੱਚੋਂ ਆਖ਼ਰੀ ਹਿੱਸਾ ਉਹ ਹੈ ਜਿਸਨੂੰ ਪਾਠਕ ਗਲਤ ਸਮਝਦੇ ਹਨ। ਇਹ ਉਸ ਟਾਈਮਸਟੈਂਪ ਦਾ ਮਾਈਕ੍ਰੋਸਕਿੰਟ ਭਾਗ ਹੈ, ਜੋ ਸਿਫ਼ਰਾਂ ਨਾਲ ਭਰੇ ਬਿਨਾਂ ਛਾਪਿਆ ਜਾਂਦਾ ਹੈ। ਇਹ ਸੈਸ਼ਨ ਪਛਾਣਕਰਤਾ, ਵਰਤੋਂਕਾਰ ਨਾਮ ਜਾਂ ਕਾਊਂਟਰ ਨਹੀਂ ਹੈ, ਅਤੇ ਇਸਨੂੰ ਇਸ ਤਰ੍ਹਾਂ ਮੰਨਣ ਨਾਲ ਸਕਿੰਟ ਦਾ ਇੱਕ ਹਿੱਸਾ ਭਰੋਸੇਯੋਗ ਗਲਤ ਸਿੱਟਾ ਬਣ ਜਾਂਦਾ ਹੈ। ਇਸਨੂੰ ਦਿਖਾਏ ਸਕਿੰਟ ਦੇ ਹਿੱਸੇ ਵਜੋਂ ਬਦਲੋ ਅਤੇ ਬਾਕੀ ਲਾਈਨ ਪੜ੍ਹਨਯੋਗ ਰਹਿੰਦੀ ਹੈ।
ਲਾਈਨ ਦੇ ਤਿੰਨ ਹਿੱਸਿਆਂ ਦਾ ਅਰਥ
ਤਾਰੀਖ਼ ਅਤੇ ਪੂਰਾ ਸਕਿੰਟ ਪਹਿਲਾਂ ਆਉਂਦੇ ਹਨ, ਅਤੇ us= ਇੱਕ ਸਕਿੰਟ ਤੋਂ ਘੱਟ ਬਾਕੀ ਹਿੱਸਾ ਚੁੱਕਦਾ ਹੈ। 12345 ਮੁੱਲ ਬਾਰਾਂ ਹਜ਼ਾਰ ਤਿੰਨ ਸੌ ਪੰਤਾਲੀ ਮਾਈਕ੍ਰੋਸਕਿੰਟ ਹੈ, ਯਾਨੀ 0.012345 ਸਕਿੰਟ, ਇਸ ਲਈ ਛਾਪਿਆ ਸਮਾਂ 09:15:30 ਹੋਣ ਤੇ ਲਾਈਨ 09:15:30.012345 ਦੱਸਦੀ ਹੈ। ਕਾਊਂਟਰ ਹਰ ਨਵੇਂ ਸਕਿੰਟ ਨਾਲ ਦੁਬਾਰਾ ਸ਼ੁਰੂ ਹੁੰਦਾ ਹੈ, ਇਸ ਲਈ ਅਗਲੀ ਲਾਈਨ ਕਿਸੇ ਘੜੀ ਦੇ ਪਿੱਛੇ ਚੱਲੇ ਬਿਨਾਂ ਛੋਟਾ ਹਿੱਸਾ ਛਾਪ ਸਕਦੀ ਹੈ। ਸਿਰਫ਼ ਪੂਰਾ ਟਾਈਮਸਟੈਂਪ ਘਟਨਾਵਾਂ ਨੂੰ ਕ੍ਰਮ ਵਿੱਚ ਰੱਖਦਾ ਹੈ।
2026-11-02 08:41:07 us=4820
ਇਕਾਈ ਸਕਿੰਟ ਦਾ ਦਸ ਲੱਖਵਾਂ ਹਿੱਸਾ ਹੈ, ਅਤੇ us= ਦੇ ਛੇ ਅੰਕ 0.000000 ਤੋਂ 0.999999 ਤੱਕ ਪੂਰੀ ਸੀਮਾ ਨੂੰ ਕਵਰ ਕਰਦੇ ਹਨ। ਪੰਜ ਅੰਕ ਦਹਾਈ ਮਿਲੀਸਕਿੰਟ ਦੱਸਦੇ ਹਨ, ਜਦਕਿ ਛੇ ਅੰਕ ਲਗਭਗ ਪੂਰੇ ਸਕਿੰਟ ਤੱਕ ਸੈਂਕੜੇ ਮਿਲੀਸਕਿੰਟ ਦੱਸਦੇ ਹਨ। ਜੇ ਬਦਲਾਅ ਇੱਕ ਤੋਂ ਵੱਡਾ ਹਿੱਸਾ ਦਿੰਦਾ ਹੈ, ਤਾਂ ਦਸ਼ਮਲਵ ਬਿੰਦੂ ਖਿਸਕ ਗਿਆ ਹੈ ਅਤੇ ਗਣਨਾ ਗਲਤ ਹੈ। ਹੱਥ ਨਾਲ ਕਰਨ ਦਾ ਅਰਥ ਹੈ ਛਾਪੇ ਪੂਰਨ ਅੰਕ ਨੂੰ ਦਸ ਲੱਖ ਨਾਲ ਭਾਗ ਦੇ ਕੇ ਪੂਰੇ ਸਕਿੰਟ ਵਿੱਚ ਜੋੜਨਾ।
ਸਿਫ਼ਰਾਂ ਨਾਲ ਭਰਨਾ ਹੀ ਜਾਲ ਹੈ। us=42 ਬਤਾਲੀ ਮਾਈਕ੍ਰੋਸਕਿੰਟ ਹੈ, .000042 ਵਜੋਂ ਲਿਖਿਆ ਜਾਂਦਾ ਹੈ, .42 ਨਹੀਂ। ਬਦਲਣ ਤੋਂ ਪਹਿਲਾਂ ਪੂਰਨ ਅੰਕ ਨੂੰ ਖੱਬੇ ਪਾਸੇ ਛੇ ਥਾਵਾਂ ਤੱਕ ਭਰੋ, ਅਤੇ ਮੁੱਲ ਹੁਣ ਤੁਹਾਡੇ ਵੇਖੇ ਅੰਕਾਂ ਦਾ ਦਸ਼ਮਲਵ ਹਿੱਸਾ ਨਹੀਂ ਲੱਗੇਗਾ।
ਕੈਲਕੁਲੇਟਰ ਤੋਂ ਬਿਨਾਂ ਲਾਈਨ ਬਦਲਣਾ
ਛਾਪੇ ਸਕਿੰਟ ਨੂੰ ਆਧਾਰ ਮੰਨੋ ਅਤੇ us= ਨੂੰ ਹਿੱਸਾ ਮੰਨੋ। 09:15:30 ਅਤੇ us=12345 ਲਈ ਦਸ਼ਮਲਵ ਰੂਪ 09:15:30.012345 ਹੈ; us=900000 ਲਈ ਇਹ 09:15:30.900000 ਹੈ। ਦਸ਼ਮਲਵ ਬਿੰਦੂ ਤੋਂ ਬਾਅਦ ਦੇ ਅੰਕ ਭਰੇ ਪੂਰਨ ਅੰਕ ਹਨ, ਕਦੇ ਵੀ ਹਜ਼ਾਰ ਨਾਲ ਭਾਗ ਦਿੱਤਾ ਪੂਰਨ ਅੰਕ ਨਹੀਂ। ਪਹਿਲਾਂ ਛੇ ਅੰਕਾਂ ਵਾਲਾ ਰੂਪ ਲਿਖਣਾ ਬਹੁਤੀਆਂ ਗਲਤੀਆਂ ਰੋਕਦਾ ਹੈ।
ਜੇ ਤੁਸੀਂ ਲੌਗ ਨੂੰ ਟਾਈਮਸਟੈਂਪ ਵਿੱਚ ਪਾਰਸ ਕਰਦੇ ਹੋ, ਤਾਂ ਤਾਰੀਖ਼, ਪੂਰਾ ਸਕਿੰਟ ਅਤੇ ਹਿੱਸਾ ਇਕੱਠੇ ਪਾਰਸ ਕਰੋ। ਮਿਲੀਸਕਿੰਟ ਮੰਨਣ ਵਾਲਾ ਪਾਰਸਰ ਘਟਨਾਵਾਂ ਨੂੰ ਹਜ਼ਾਰ ਗੁਣਾ ਗਲਤ ਕ੍ਰਮ ਵਿੱਚ ਰੱਖੇਗਾ, ਅਤੇ ਆਉਟਪੁੱਟ ਫਿਰ ਵੀ ਭਰੋਸੇਯੋਗ ਲੱਗਦਾ ਹੈ।
ਜਦੋਂ ਲੌਗ ਵਿੱਚ ਇਹ ਫ਼ੀਲਡ ਨਹੀਂ ਹੁੰਦੀ
ਮਾਈਕ੍ਰੋਸਕਿੰਟ ਹਿੱਸਾ ਟੈਕਸਟ ਲੌਗ ਫਾਰਮੈਟ ਦਾ ਹੈ ਅਤੇ ਸਿਰਫ਼ ਤਾਂ ਹੀ ਦਿਸਦਾ ਹੈ ਜਦੋਂ ਵਿਸਤ੍ਰਿਤ ਟਾਈਮਸਟੈਂਪ ਸਮਰੱਥ ਹੁੰਦੇ ਹਨ। OpenVPN 2.6 ਦੇ ਟਾਈਮਸਟੈਂਪ ਫਾਰਮੈਟਰ ਵਿੱਚ ਇਹ ਤਦ ਜੋੜਿਆ ਜਾਂਦਾ ਹੈ ਜਦੋਂ ਉਹ ਆਉਟਪੁੱਟ ਚਾਲੂ ਹੁੰਦਾ ਹੈ ਅਤੇ ਸੰਭਾਲਿਆ ਮੁੱਲ ਸਿਫ਼ਰ ਨਹੀਂ ਹੁੰਦਾ। ਇਸ ਲਈ us= ਤੋਂ ਬਿਨਾਂ ਲੌਗ ਘੜੀ ਜਾਂ ਬਿਲਡ ਬਾਰੇ ਕੁਝ ਨਹੀਂ ਕਹਿੰਦਾ; ਆਮ ਤੌਰ ਤੇ ਇਸਦਾ ਅਰਥ ਹੈ ਕਿ ਸੰਰਚਿਤ ਵਿਸਥਾਰ ਬਹੁਤ ਘੱਟ ਹੈ। ਸਮਾਂ ਸਿੰਕ੍ਰੋਨਾਈਜ਼ੇਸ਼ਨ ਨੂੰ ਦੋਸ਼ ਦੇਣ ਤੋਂ ਪਹਿਲਾਂ ਸੰਰਚਨਾ ਜਾਂਚੋ।
ਸਰਵਰ ਸੰਰਚਨਾ ਤੋਂ ਸੈਟਿੰਗ ਦੀ ਪੁਸ਼ਟੀ ਕਰਨਾ ਸੌਖਾ ਹੈ। ਹੇਠਾਂ ਦਿੱਤਾ ਆਦੇਸ਼ ਚਲਾਓ ਅਤੇ ਉਹ ਸੰਖਿਆ ਪੜ੍ਹੋ ਜੋ ਇਹ ਵਾਪਸ ਕਰਦਾ ਹੈ। ਵਿਸਤ੍ਰਿਤ ਟਾਈਮਸਟੈਂਪ ਆਉਟਪੁੱਟ ਵਿਸਥਾਰ ਪੱਧਰ 4 ਤੇ ਦਿਸਦਾ ਹੈ, ਇਸ ਲਈ ਘੱਟ ਮੁੱਲ ਬਿਨਾਂ ਕਿਸੇ ਹੋਰ ਖਰਾਬੀ ਦੇ ਗੁੰਮ ਫ਼ੀਲਡ ਦੀ ਵਿਆਖਿਆ ਕਰਦਾ ਹੈ। ਉਹੀ ਸੰਰਚਨਾ --verb 4 ਨਾਲ ਚਲਾਉਣ ਤੇ ਡੈਮਨ ਉਸ ਪੱਧਰ ਨਾਲ ਮੁੜ ਸ਼ੁਰੂ ਹੋਣ ਤੇ ਫ਼ੀਲਡ ਦਿਖਦੀ ਹੈ।
grep -nE '^[[:space:]]*verb[[:space:]]+[0-9]' /etc/openvpn/server.conf
ਵਿਸਥਾਰ ਵਧਾਉਣ ਨਾਲ ਲੌਗ ਵਿੱਚ ਵੇਰਵਾ ਜੁੜਦਾ ਹੈ; ਇਹ ਘੜੀ ਸੁਧਾਰਦਾ ਨਹੀਂ। ਮੁੜ ਸ਼ੁਰੂ ਕਰਨ ਤੋਂ ਬਾਅਦ ਨਵੀਂ ਲਾਈਨ ਦੀ ਪੁਰਾਣੀ ਨਾਲ ਤੁਲਨਾ ਕਰਕੇ ਪੁਸ਼ਟੀ ਕਰੋ ਕਿ ਫਾਰਮੈਟ ਬਦਲਿਆ ਹੈ, ਅਤੇ ਸਵਾਲ ਦਾ ਜਵਾਬ ਮਿਲਣ ਤੇ ਪੱਧਰ ਦੁਬਾਰਾ ਘਟਾਓ।
ਛੇ ਅੰਕ ਕੀ ਸਾਬਤ ਨਹੀਂ ਕਰਦੇ
ਛੇ ਅੰਕ ਰੈਜ਼ੋਲਿਊਸ਼ਨ ਦੱਸਦੇ ਹਨ, ਅਤੇ ਰੈਜ਼ੋਲਿਊਸ਼ਨ ਇਸ ਬਾਰੇ ਕੁਝ ਨਹੀਂ ਕਹਿੰਦਾ ਕਿ ਦੋ ਹੋਸਟ ਸਮੇਂ ਤੇ ਸਹਿਮਤ ਹਨ ਜਾਂ ਨਹੀਂ। ਕਲਾਇੰਟ ਅਤੇ ਸਰਵਰ ਦੋਵੇਂ ਮਾਈਕ੍ਰੋਸਕਿੰਟ ਛਾਪ ਸਕਦੇ ਹਨ ਜਦਕਿ ਉਨ੍ਹਾਂ ਦੀਆਂ ਘੜੀਆਂ ਸਕਿੰਟਾਂ ਨਾਲ ਵੱਖਰੀਆਂ ਹੁੰਦੀਆਂ ਹਨ। ਜਦੋਂ ਤੁਸੀਂ ਮਸ਼ੀਨਾਂ ਵਿਚਕਾਰ ਘਟਨਾਵਾਂ ਦਾ ਸਹਿ-ਸੰਬੰਧ ਕਰਦੇ ਹੋ, ਤਾਂ ਸਮਾਂ ਖੇਤਰ ਅਤੇ ਕੋਈ ਵੀ ਜਾਣਿਆ ਆਫ਼ਸੈੱਟ ਦਰਜ ਕਰੋ, ਅਤੇ ਕਿਸੇ ਵੀ ਟਾਈਮਸਟੈਂਪ ਤੋਂ ਪਹਿਲਾਂ ਪੀਅਰ ਜਾਂ ਸੈਸ਼ਨ ਦਾ ਨਾਮ ਦੇਣ ਵਾਲੀ ਫ਼ੀਲਡ ਨੂੰ ਤਰਜੀਹ ਦਿਓ। ਇੱਕੋ ਹਿੱਸਾ ਸਾਂਝਾ ਕਰਨ ਵਾਲੀਆਂ ਦੋ ਲਾਈਨਾਂ ਜ਼ਰੂਰੀ ਨਹੀਂ ਕਿ ਇੱਕੋ ਕਨੈਕਸ਼ਨ ਹੋਣ।
ਸੰਗ੍ਰਹਿਕਰਤਾ ਆਉਣ ਵੇਲੇ ਹਰ ਲਾਈਨ ਤੇ ਮੋਹਰ ਲਗਾ ਸਕਦਾ ਹੈ, ਜੋ ਦੂਜਾ ਟਾਈਮਸਟੈਂਪ ਜੋੜਦਾ ਹੈ ਜੋ ਸੰਗ੍ਰਹਿਕਰਤਾ ਦਾ ਹੈ, OpenVPN ਦਾ ਨਹੀਂ। ਤੁਲਨਾ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਪਛਾਣੋ ਕਿ ਤੁਸੀਂ ਕਿਹੜਾ ਪੜ੍ਹ ਰਹੇ ਹੋ, ਅਤੇ ਕੱਚੀ ਲਾਈਨ ਰੱਖੋ ਤਾਂ ਜੋ ਤੁਲਨਾ ਦੁਬਾਰਾ ਹੋ ਸਕੇ।
ਨਵਾਂ us= ਮੁੱਲ ਸਾਬਤ ਨਹੀਂ ਕਰਦਾ ਕਿ ਨਵਾਂ ਕਲਾਇੰਟ ਲੌਗ ਇਨ ਹੋਇਆ, ਅਤੇ ਦੁਹਰਾਇਆ ਮੁੱਲ ਦੋਹਰੀ ਘਟਨਾ ਸਾਬਤ ਨਹੀਂ ਕਰਦਾ। ਪੀਅਰ ਅਤੇ ਕਨੈਕਸ਼ਨ ਫ਼ੀਲਡ ਇਨ੍ਹਾਂ ਸਵਾਲਾਂ ਦਾ ਜਵਾਬ ਦਿੰਦੇ ਹਨ।