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

ਪਤਾ ਵਾਰ-ਵਾਰ ਵਾਪਸ ਕਿਉਂ ਆਉਂਦਾ ਹੈ

kvnet ਇੱਕ ਵਰਚੁਅਲ ਐਡਾਪਟਰ ਹੈ ਜਿਸ ਨੂੰ ਕਲਾਇੰਟ ਕਨੈਕਸ਼ਨ ਸ਼ੁਰੂ ਹੋਣ 'ਤੇ ਬਣਾਉਂਦਾ ਹੈ ਅਤੇ ਖ਼ਤਮ ਹੋਣ 'ਤੇ ਹਟਾ ਦਿੰਦਾ ਹੈ। ਇਸ ਲਈ ਹੱਥ ਨਾਲ ਕੀਤਾ ip link set ਉੱਨੀ ਹੀ ਦੇਰ ਰਹਿੰਦਾ ਹੈ ਜਿੰਨੀ ਦੇਰ ਉਹ ਸੈਸ਼ਨ ਰਹਿੰਦਾ ਹੈ ਜਿਸ 'ਤੇ ਇਹ ਲਾਗੂ ਕੀਤਾ ਗਿਆ ਸੀ, ਅਤੇ ਅਗਲਾ ਕਨੈਕਸ਼ਨ ਉਸ ਤੋਂ ਸ਼ੁਰੂ ਹੁੰਦਾ ਹੈ ਜੋ ਕਲਾਇੰਟ ਅਲਾਟ ਕਰਦਾ ਹੈ। ਜਿਸ ਮਸ਼ੀਨ 'ਤੇ ਕਲਾਇੰਟ ਆਸ ਕੀਤਾ ਪਤਾ ਲਾਗੂ ਨਹੀਂ ਕਰ ਸਕਦਾ, ਉੱਥੇ ਹਰ ਮੁੜ-ਕਨੈਕਸ਼ਨ ਉਹੀ ਅਸੰਗਤੀ ਦੁਬਾਰਾ ਲਿਆਉਂਦਾ ਹੈ, ਅਤੇ ਲੀਜ਼ ਜਾਂ ਪਹੁੰਚ ਨਿਯਮ ਡਿਵਾਈਸ ਨੂੰ ਦੁਬਾਰਾ ਰੱਦ ਕਰਦਾ ਹੈ।

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

ਮੁੱਲ ਇੰਟਰਫੇਸ ਤੋਂ ਨਹੀਂ, ਕਲਾਇੰਟ ਤੋਂ ਪੜ੍ਹੋ

Linux ਕਲਾਇੰਟ ਗੱਲਬਾਤ ਦੇ ਵੇਰਵੇ ਆਪਣੇ ਡੀਬੱਗ ਲੌਗ ਵਿੱਚ ਲਿਖਦਾ ਹੈ, ਅਤੇ ਜੋ ਪਤਾ ਉਹ ਵਰਤਣਾ ਚਾਹੁੰਦਾ ਹੈ ਉਹ ਕਨੈਕਸ਼ਨ ਕ੍ਰਮ ਦੇ ਆਖ਼ਰੀ ਪਤਾ-ਆਕਾਰ ਟੋਕਨ ਵਜੋਂ ਉੱਥੇ ਦਿਸਦਾ ਹੈ। ਇਸ ਦੀ ਤੁਲਨਾ ਕਰਨਲ ਵੱਲੋਂ ਅਸਲ ਵਿੱਚ ਰੱਖੇ ਨਾਲ ਕਰੋ, ਜੋ ਇੱਕ readlink ਦੂਰ ਹੈ: cat /sys/class/net/kvnet/address।

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

ਇੰਟਰਫੇਸ ਬਣਨ ਤੋਂ ਬਾਅਦ ਇਸ ਨੂੰ ਲਾਗੂ ਕਰੋ

NetworkManager ਵਰਤਣ ਵਾਲੇ ਇਸ ਦੀ ਡਿਸਪੈਚਰ ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ ਸਕ੍ਰਿਪਟ ਰੱਖ ਸਕਦੇ ਹਨ ਅਤੇ ਸਿਰਫ਼ ਤਦ ਕੰਮ ਕਰ ਸਕਦੇ ਹਨ ਜਦੋਂ VPN ਇੰਟਰਫੇਸ ਉੱਪਰ ਆਵੇ। systemd ਵੱਲੋਂ ਸੰਭਾਲੇ ਕਲਾਇੰਟ ਨੂੰ ਵਧੇਰੇ ਧਿਆਨ ਚਾਹੀਦਾ ਹੈ: ਸੇਵਾ ਸ਼ੁਰੂ ਹੋਣ 'ਤੇ ਚੱਲਣ ਵਾਲਾ drop-in ਆਮ ਤੌਰ 'ਤੇ ਐਡਾਪਟਰ ਬਣਨ ਤੋਂ ਪਹਿਲਾਂ ਹੀ ਸਰਗਰਮ ਹੋ ਜਾਂਦਾ ਹੈ, ਇਸ ਲਈ ਹੁੱਕ ਨੂੰ ਐਡਾਪਟਰ ਮੰਨਣ ਦੀ ਥਾਂ ਇੰਟਰਫੇਸ ਦੀ ਉਡੀਕ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ। ਤਦ ਪਤਾ ਸੈੱਟ ਕਰੋ, ਅਤੇ ਜੇ ਲਿੰਕ ਉੱਪਰ ਹੁੰਦਿਆਂ ਕਰਨਲ ਮਨ੍ਹਾ ਕਰੇ, ਤਾਂ ਇਸ ਨੂੰ ਹੇਠਾਂ ਲਾਹੋ, ਪਤਾ ਸੈੱਟ ਕਰੋ ਅਤੇ ਮੁੜ ਉੱਪਰ ਲਿਆਓ। ਕੱਢਿਆ ਟੋਕਨ ip link ਨੂੰ ਦੇਣ ਤੋਂ ਪਹਿਲਾਂ MAC ਪੈਟਰਨ ਰਾਹੀਂ ਮੁੜ ਪੜ੍ਹੋ, ਤਾਂ ਜੋ ਅਣਕਿਆਸੀ ਲੌਗ ਲਾਈਨ ਦਲੀਲ ਨਾ ਬਣ ਸਕੇ।

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

ਲਿੰਕ ਨਹੀਂ, ਲੀਜ਼ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ

ip -4 -o addr show dev kvnet ਨੂੰ ਆਸ ਕੀਤੀ ਰੇਂਜ ਵਿੱਚ ਪਤਾ ਦਿਖਾਉਣਾ ਚਾਹੀਦਾ ਹੈ, ip neigh show dev kvnet ਨੂੰ ਗੇਟਵੇ ਦਿਖਾਉਣਾ ਚਾਹੀਦਾ ਹੈ, ਅਤੇ VPN ਪਿੱਛੇ ਦੀ ਇੱਕ ਸੇਵਾ ਨੂੰ ਜਵਾਬ ਦੇਣਾ ਚਾਹੀਦਾ ਹੈ। ਫਿਰ ਇੱਕ ਵਾਰ ਡਿਸਕਨੈਕਟ ਕਰੋ ਅਤੇ ਮੁੜ ਕਨੈਕਟ ਕਰੋ; ਜੇ ਪਤਾ ਵਾਪਸ ਆਉਂਦਾ ਹੈ, ਤਾਂ ਹੁੱਕ ਗਲਤ ਘਟਨਾ 'ਤੇ ਚੱਲ ਰਿਹਾ ਹੈ ਜਾਂ ਬਿਲਕੁਲ ਨਹੀਂ ਚੱਲ ਰਿਹਾ।

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

ਅੱਪਗ੍ਰੇਡ ਤੋਂ ਬਾਅਦ ਵਰਕਅਰਾਊਂਡ ਦੁਬਾਰਾ ਵੇਖੋ

ਜੋ ਕਲਾਇੰਟ ਬਿਲਡ ਪਤਾ ਸਹੀ ਢੰਗ ਨਾਲ ਸੈੱਟ ਕਰਦਾ ਹੈ, ਉਹ ਤੁਹਾਡੇ ਹੁੱਕ ਨੂੰ ਪੁਰਾਣਾ ਮੁੱਲ ਲਾਗੂ ਕਰਦਾ ਰਹਿਣ ਦਿੰਦਾ ਹੈ, ਜੋ ਸੁਧਾਰ ਵੱਲੋਂ ਲਿਆਈ ਨਵੀਂ ਖਰਾਬੀ ਹੈ। ਕਿਸੇ ਹੋਰ ਮਸ਼ੀਨ ਜਾਂ ਫੋਰਮ ਪੋਸਟ ਤੋਂ ਵੀ ਕਦੇ MAC ਕਾਪੀ ਨਾ ਕਰੋ; ਇਹ ਕਲਾਇੰਟ ਇਸ ਖਾਤੇ ਲਈ ਜੋ ਮੁੱਲ ਲੌਗ ਕਰਦਾ ਹੈ ਉਹ ਵਰਤੋ, ਅਤੇ ਜਿਸ ਤਾਰੀਖ਼ ਨੂੰ ਤੁਸੀਂ ਇਸ ਦੀ ਪੁਸ਼ਟੀ ਕੀਤੀ ਉਹ ਦਰਜ ਕਰੋ।

ਸਕ੍ਰਿਪਟ ਨੂੰ ਇੱਕ ਬੈਠਕ ਵਿੱਚ ਪੜ੍ਹਨ ਯੋਗ ਛੋਟਾ ਰੱਖੋ। ਲੌਗ ਪਾਰਸ ਕਰਨ ਵਾਲੇ ਵਰਕਅਰਾਊਂਡ ਸੁਭਾਵਕ ਤੌਰ 'ਤੇ ਅਸਥਾਈ ਹੁੰਦੇ ਹਨ। ਬਚਣ ਵਾਲੇ ਉਹ ਹਨ ਜਿਨ੍ਹਾਂ ਨੂੰ ਭਵਿੱਖ ਦਾ ਪਾਠਕ ਮੂਲ ਥ੍ਰੈਡ ਤੋਂ ਬਿਨਾਂ ਸਮਝ ਸਕੇ।

ਸੰਬੰਧਿਤ ਲੇਖ