OpenVPN mssfix: ਵੱਡੇ ਟ੍ਰਾਂਸਫਰਾਂ ਵਿੱਚ ਇੱਕ ਕਲਾਇੰਟ ਕਿਉਂ ਰੁਕ ਜਾਂਦਾ ਹੈ
mssfix ਟਨਲ ਦੇ ਅੰਦਰ ਐਲਾਨੇ ਗਏ TCP ਸੈਗਮੈਂਟ ਦਾ ਆਕਾਰ ਮੁੜ ਲਿਖਦਾ ਹੈ। ਇਹ UDP ਦਾ ਆਕਾਰ ਨਹੀਂ ਬਦਲਦਾ, ਅਤੇ ਮੁੱਲ ਸਿਰਫ਼ ਉਹੀ ਅਰਥ ਰੱਖਦਾ ਹੈ ਜੋ ਤੁਹਾਡਾ ਵਰਜ਼ਨ ਕਹਿੰਦਾ ਹੈ।
ਇੱਕ ਲੈਪਟਾਪ ਟਨਲ ਰਾਹੀਂ ਅੱਪਲੋਡ ਵਿੱਚ ਰੁਕ ਜਾਂਦਾ ਹੈ ਜਦੋਂ ਕਿ ਉਸੇ ਸਰਵਰ ਦਾ ਹਰ ਦੂਜਾ ਡਿਵਾਈਸ ਕੰਮ ਕਰਦਾ ਰਹਿੰਦਾ ਹੈ। ਉਹ ਪੈਟਰਨ ਸਰਵਰ ਕਨਫਿਗਰੇਸ਼ਨ ਵੱਲ ਨਹੀਂ, ਇੱਕ ਰਸਤੇ ਵੱਲ ਇਸ਼ਾਰਾ ਕਰਦਾ ਹੈ, ਅਤੇ ਇਹੀ mssfix ਸਵਾਲ ਦਾ ਆਮ ਦਾਖਲਾ ਹੈ। ਇਹ ਵਿਕਲਪ ਮਦਦ ਕਰ ਸਕਦਾ ਹੈ, ਪਰ ਸਿਰਫ਼ ਉਨ੍ਹਾਂ TCP ਕਨੈਕਸ਼ਨਾਂ ਲਈ ਜਿਨ੍ਹਾਂ ਨੂੰ ਇਹ ਸੱਚਮੁੱਚ ਮੁੜ ਲਿਖਦਾ ਹੈ। ਇਸ ਦੀ ਹੱਦ ਜਾਣਨ ਨਾਲ ਤੁਸੀਂ ਇੱਕ ਕਲਾਇੰਟ ਨੂੰ ਬਚਾਉਣ ਲਈ ਕੰਮ ਕਰਦੇ ਸਰਵਰ ਨੂੰ ਨਹੀਂ ਬਦਲੋਗੇ।
ਵਿਕਲਪ ਕੀ ਮੁੜ ਲਿਖਦਾ ਹੈ
mssfix ਟਨਲ ਵਿੱਚੋਂ ਲੰਘਣ ਵਾਲੇ TCP ਹੈਂਡਸ਼ੇਕਾਂ ਵਿੱਚ ਐਲਾਨੇ ਗਏ ਵੱਧ ਤੋਂ ਵੱਧ ਸੈਗਮੈਂਟ ਆਕਾਰ ਨੂੰ ਸੋਧਦਾ ਹੈ, ਤਾਂ ਜੋ ਭੇਜਣ ਵਾਲਾ ਪਾਸਾ ਐਨਕੈਪਸੁਲੇਟਿਡ ਬਜਟ ਵਿੱਚ ਫਿੱਟ ਹੋਣ ਵਾਲੇ ਸੈਗਮੈਂਟ ਚੁਣੇ। ਇਹ ਹੈਂਡਸ਼ੇਕ 'ਤੇ ਕੰਮ ਕਰਦਾ ਹੈ, ਭਾਵ ਬਦਲਾਅ ਤੋਂ ਪਹਿਲਾਂ ਖੋਲ੍ਹਿਆ ਕਨੈਕਸ਼ਨ ਗੱਲਬਾਤ ਕੀਤਾ ਮੁੱਲ ਰੱਖਦਾ ਹੈ।
ਇਹ UDP ਡੇਟਾਗ੍ਰਾਮ ਨੂੰ ਛੋਟਾ ਨਹੀਂ ਕਰਦਾ, ਅਤੇ ਟਨਲ ਦਾ MTU ਸੈੱਟ ਨਹੀਂ ਕਰਦਾ। ਦੋ ਵੱਖਰੀਆਂ ਸਮੱਸਿਆਵਾਂ ਇੱਕੋ ਲੱਛਣ ਪੈਦਾ ਕਰਦੀਆਂ ਹਨ: ਰਸਤੇ ਦੀ ਹੱਦ ਨੂੰ ਨਜ਼ਰਅੰਦਾਜ਼ ਕਰਨ ਵਾਲਾ TCP ਭੇਜਣ ਵਾਲਾ, ਅਤੇ ਕਿਸੇ ਵੀ ਆਕਾਰ ਦੇ ਵੱਡੇ ਪੈਕਟ ਚੁੱਪਚਾਪ ਸੁੱਟਣ ਵਾਲਾ ਰਸਤਾ। mssfix ਪਹਿਲੇ ਨੂੰ ਸੰਬੋਧਿਤ ਕਰਦਾ ਹੈ ਅਤੇ ਦੂਜੇ ਲਈ ਕੁਝ ਨਹੀਂ ਕਰਦਾ।
ਇਹੀ ਫ਼ਰਕ ਨਿਰਾਸ਼ਾਜਨਕ ਪ੍ਰਯੋਗਾਂ ਦੀ ਵਿਆਖਿਆ ਕਰਦਾ ਹੈ। ਬਲੈਕਹੋਲ ਵਾਲੇ ਰਸਤੇ 'ਤੇ ਛੋਟਾ ਮੁੱਲ ਸੈੱਟ ਕਰਨ ਨਾਲ ਸੈਗਮੈਂਟ ਦਾ ਆਕਾਰ ਬਦਲਦਾ ਹੈ, ਪਰ ਉਸ ਤੋਂ ਬਾਅਦ ਦਾ ਡ੍ਰੌਪ ਨਹੀਂ, ਇਸ ਲਈ ਟ੍ਰਾਂਸਫਰ ਕਿਸੇ ਹੋਰ ਬਿੰਦੂ 'ਤੇ ਫੇਲ੍ਹ ਹੁੰਦਾ ਹੈ।
ਹੱਦ ਟਨਲ ਦੇ ਅੰਦਰ TCP ਹੈ
ਸਿਰਫ਼ TCP ਟ੍ਰੈਫਿਕ ਮੁੜ ਲਿਖਿਆ ਜਾਂਦਾ ਹੈ। QUIC ਸੈਸ਼ਨ, ਗੇਮ ਜਾਂ ਵੱਡੇ UDP ਡੇਟਾਗ੍ਰਾਮ ਭੇਜਣ ਵਾਲੀ ਐਪਲੀਕੇਸ਼ਨ ਆਪਣੇ ਪੈਕਟ ਆਕਾਰ ਰੱਖੇਗੀ, ਅਤੇ ਜੇ ਉਹੀ ਟ੍ਰਾਂਸਫਰ ਰੁਕਦੇ ਹਨ, ਤਾਂ ਹੱਲ ਬਲਕਿ ਟਨਲ ਜਾਂ ਰਸਤੇ ਦੇ MTU 'ਤੇ ਹੈ। TCP ਵਿਕਲਪ ਵੱਲ ਵਧਣ ਤੋਂ ਪਹਿਲਾਂ ਪੜ੍ਹੋ ਕਿ ਫੇਲ੍ਹ ਹੋ ਰਿਹਾ ਟ੍ਰਾਂਸਫਰ ਕਿਹੜਾ ਪ੍ਰੋਟੋਕਾਲ ਵਰਤਦਾ ਹੈ, ਕਿਉਂਕਿ ਗ਼ਲਤ ਪਰਤ ਦਾ ਆਪਣਾ ਹੱਲ ਹੁੰਦਾ ਹੈ।
ਦਿਸ਼ਾ ਵੀ ਮਾਇਨੇ ਰੱਖਦੀ ਹੈ। ਕਲਾਇੰਟ ਸੈਟਿੰਗ ਉਸ ਟ੍ਰੈਫਿਕ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰਦੀ ਹੈ ਜੋ ਉਹ ਕਲਾਇੰਟ ਟਨਲ ਵਿੱਚ ਭੇਜਦਾ ਹੈ, ਜਦੋਂ ਕਿ ਸਰਵਰ ਕਲਾਇੰਟਾਂ ਵੱਲ ਭੇਜੇ ਜਾਣ ਵਾਲੇ ਪ੍ਰਵਾਹਾਂ ਨੂੰ ਕਵਰ ਕਰਦਾ ਹੈ। ਜੇ ਸਿਰਫ਼ ਆਉਣ ਵਾਲੇ ਡਾਊਨਲੋਡ ਰੁਕਦੇ ਹਨ, ਤਾਂ ਕਲਾਇੰਟ-ਪਾਸੇ ਦਾ ਮੁੱਲ ਪੂਰੀ ਕਹਾਣੀ ਨਹੀਂ।
ਸੰਖਿਆ ਅਤੇ ਕੀਵਰਡ ਪੋਰਟੇਬਲ ਨਹੀਂ
OpenVPN 2.6 ਦਾ ਕਮਿਊਨਿਟੀ ਵਰਜ਼ਨ ਮੁੱਲ ਤੋਂ ਬਾਅਦ ਇੱਕ ਵਿਕਲਪਿਕ ਕੀਵਰਡ ਸਵੀਕਾਰ ਕਰਦਾ ਹੈ। mtu ਨਾਲ, ਸੰਖਿਆ IP ਅਤੇ UDP ਹੈਡਰਾਂ ਸਮੇਤ ਬਾਹਰੀ ਪੈਕੇਟ ਆਕਾਰ ਦੱਸਦੀ ਹੈ; ਇਸ ਤੋਂ ਬਿਨਾਂ, ਦਲੀਲ ਹੋਰ ਲੇਖਾ ਪਰੰਪਰਾ ਦੀ ਪਾਲਣਾ ਕਰਦੀ ਹੈ। ਇਸ ਲਈ ਵਰਜ਼ਨਾਂ ਵਿਚਕਾਰ ਕਾਪੀ ਕੀਤੀ ਲਾਈਨ ਇੱਕੋ ਪੈਕੇਟ ਬਜਟ ਨਹੀਂ ਦੱਸਦੀ। ਕਿਸੇ ਹੋਰ ਰਿਲੀਜ਼ ਦੇ ਟਿਊਟੋਰਿਅਲ ਦੀ ਬਜਾਏ ਉਸ ਬਿਲਡ ਨਾਲ ਆਉਣ ਵਾਲਾ ਮੈਨੁਅਲ ਪੰਨਾ ਵੇਖੋ ਜੋ ਤੁਸੀਂ ਸੱਚਮੁੱਚ ਚਲਾਉਂਦੇ ਹੋ।
ਸਿੰਟੈਕਸ ਇਸ ਤਰ੍ਹਾਂ ਦਿਖਦਾ ਹੈ:
mssfix 1400 mtu
1400 ਨੂੰ ਆਪਣੇ ਰਸਤੇ ਲਈ ਸਿਫ਼ਾਰਸ਼ ਨਹੀਂ, ਸਗੋਂ ਪਲੇਸਹੋਲਡਰ ਮੰਨੋ। ਮੁੱਲ ਮਾਪੇ ਗਏ ਰਸਤੇ ਅਤੇ ਸੱਚਮੁੱਚ ਵਰਤੇ ਜਾਂਦੇ ਐਨਕੈਪਸੁਲੇਸ਼ਨ ਤੋਂ ਲਓ, ਅਤੇ ਯਾਦ ਰੱਖੋ ਕਿ ਪੁਰਾਣੇ ਵਰਜ਼ਨਾਂ ਜਾਂ ਹੋਰ ਲਾਗੂਕਰਨਾਂ ਦੇ ਕਲਾਇੰਟ ਕੀਵਰਡ ਨੂੰ ਰੱਦ ਕਰ ਸਕਦੇ ਹਨ ਜਾਂ ਵੱਖਰੇ ਢੰਗ ਨਾਲ ਵਿਆਖਿਆ ਕਰ ਸਕਦੇ ਹਨ।
ਪਹਿਲਾਂ ਉਸ ਇੱਕ ਕਲਾਇੰਟ 'ਤੇ ਪੁਸ਼ਟੀ ਕਰੋ
ਕੁਝ ਵੀ ਬਦਲਣ ਤੋਂ ਪਹਿਲਾਂ ਫੇਲ੍ਹ ਹੋ ਰਹੀ ਮਸ਼ੀਨ ਤੋਂ ਰਸਤਾ ਮਾਪੋ। ਜੋ ਪੇਲੋਡ ਰਸਤਾ ਬਿਨਾਂ ਫ੍ਰੈਗਮੈਂਟੇਸ਼ਨ ਦੇ ਲੈ ਜਾ ਸਕਦਾ ਹੈ, ਉਹੀ ਤੁਹਾਡੀ ਲੋੜੀਂਦੀ ਸੰਖਿਆ ਹੈ:
ping -M do -s 1472 10.8.0.1
ping -M do -s 1400 10.8.0.1
ਪਹਿਲਾ ਪ੍ਰੋਬ 28 ਬਾਈਟ ਹੈਡਰ ਜੋੜਨ 'ਤੇ 1500 ਬਾਈਟ ਦੇ ਪੈਕੇਟ ਵਿੱਚ ਫਿੱਟ ਹੁੰਦਾ ਹੈ। ਜੇ ਇਹ ਫ੍ਰੈਗਮੈਂਟੇਸ਼ਨ ਗ਼ਲਤੀ ਨਾਲ ਫੇਲ੍ਹ ਹੁੰਦਾ ਹੈ ਅਤੇ ਛੋਟਾ ਸਫਲ ਹੁੰਦਾ ਹੈ, ਤਾਂ ਵਰਤੋਂਯੋਗ ਆਕਾਰ ਉਨ੍ਹਾਂ ਵਿਚਕਾਰ ਕਿਤੇ ਹੈ, ਅਤੇ ਟਨਲ ਦਾ ਓਵਰਹੈੱਡ ਉੱਪਰੋਂ ਘਟਾਇਆ ਜਾਂਦਾ ਹੈ।
ਫਿਰ ਰੁਕੇ ਹੋਏ ਟ੍ਰਾਂਸਫਰ ਨੂੰ ਨਵੇਂ ਕਨੈਕਸ਼ਨ 'ਤੇ ਦੁਹਰਾਓ ਅਤੇ ਤੁਲਨਾ ਕਰੋ। ਜੇ ਇੱਕ ਕਲਾਇੰਟ ਸੁਧਰਦਾ ਹੈ ਜਦੋਂ ਕਿ ਬਾਕੀ ਅਛੂਤ ਰਹਿੰਦੇ ਹਨ, ਤਾਂ ਤੁਸੀਂ ਸਮੱਸਿਆ ਦੀ ਹੱਦ ਲੱਭ ਲਈ ਹੈ। ਜੇ ਹਰ ਕਲਾਇੰਟ ਰੁਕਦਾ ਹੈ, ਤਾਂ ਸਰਵਰ-ਪਾਸੇ ਦਾ ਮੁੱਲ ਹੀ ਸਮੀਖਿਆ ਯੋਗ ਹੈ। ਦੋਵਾਂ ਵਿੱਚੋਂ ਕੋਈ ਨਤੀਜਾ ਅਜਿਹੇ ਹਾਰਡਵੇਅਰ 'ਤੇ ਬਦਲਾਅ ਨੂੰ ਜਾਇਜ਼ ਨਹੀਂ ਠਹਿਰਾਉਂਦਾ ਜੋ ਕਦੇ ਫੇਲ੍ਹ ਹੋਏ ਰਸਤੇ ਵਿੱਚ ਨਹੀਂ ਸੀ।