PPPoE 'ਤੇ OpenVPN: link-mtu, tun-mtu ਜਾਂ mssfix ਘਟਾਈਏ?
ਪਿੰਗ ਕੰਮ ਕਰਦਾ ਹੈ ਪਰ ਵੱਡੇ ਪੰਨੇ PPPoE ਜਾਂ DS-Lite ਲਿੰਕ 'ਤੇ ਅਟਕ ਜਾਂਦੇ ਹਨ। ਮਾਰਗ ਨੂੰ ਮਾਪ ਕੇ link-mtu, tun-mtu ਅਤੇ mssfix ਵਿਚਕਾਰ ਫੈਸਲਾ ਕਰੋ, ਅੰਦਾਜ਼ੇ ਨਾਲ ਨਹੀਂ।
ਪਿੰਗ ਜਵਾਬ ਦਿੰਦਾ ਹੈ, DNS ਹੱਲ ਕਰਦਾ ਹੈ, ਅਤੇ ਪੂਰੇ ਆਕਾਰ ਦੇ ਹਿੱਸੇ ਦੀ ਲੋੜ ਵਾਲਾ ਹਰ ਪੰਨਾ ਅਟਕ ਜਾਂਦਾ ਹੈ। ਜਿਹੜਾ ਲਿੰਕ ਆਪਣਾ ਐਨਕੈਪਸੂਲੇਸ਼ਨ ਜੋੜਦਾ ਹੈ, ਉਸ 'ਤੇ ਮਾਰਗ ਚੁੱਪਚਾਪ ਕੁਝ ਦਰਜਨ ਬਾਈਟ ਬਜਟ ਗੁਆ ਦਿੰਦਾ ਹੈ, ਅਤੇ ਸਾਫ਼ ਈਥਰਨੈੱਟ ਲਈ ਲਿਖਿਆ ਪ੍ਰੋਫਾਈਲ ਉਹ ਪੈਕਟ ਮੰਗਦਾ ਰਹਿੰਦਾ ਹੈ ਜੋ ਲਾਈਨ ਚੁੱਕ ਨਹੀਂ ਸਕਦੀ। ਕਨੈਕਸ਼ਨ ਹੌਲੀ ਨਹੀਂ ਹੈ; ਇਹ ਠੀਕ ਉਹ ਪੈਕਟ ਸੁੱਟ ਰਿਹਾ ਹੈ ਜੋ ਮਾਇਨੇ ਰੱਖਦੇ ਹਨ।
ਤਿੰਨ ਵਿਕਲਪ ਇਹ ਠੀਕ ਕਰ ਸਕਦੇ ਹਨ, ਅਤੇ ਉਹ ਵੱਖਰੀਆਂ ਪਰਤਾਂ 'ਤੇ ਕੰਮ ਕਰਦੇ ਹਨ। ਗਲਤ ਚੁਣਨਾ ਜਾਂ ਤਾਂ ਕੁਝ ਨਹੀਂ ਕਰਦਾ ਜਾਂ ਸੁਰੰਗ ਨੂੰ ਨਵੇਂ ਢੰਗ ਨਾਲ ਨਾਜ਼ੁਕ ਬਣਾ ਦਿੰਦਾ ਹੈ, ਇਸ ਲਈ ਚੋਣ ਇਸ ਗੱਲ ਤੋਂ ਸ਼ੁਰੂ ਹੁੰਦੀ ਹੈ ਕਿ ਮਾਰਗ ਅਸਲ ਵਿੱਚ ਕੀ ਸਹਿੰਦਾ ਹੈ।
ਤਿੰਨ ਨੋਬ, ਤਿੰਨ ਵੱਖਰੀਆਂ ਪਰਤਾਂ
link-mtu ਬਾਹਰੀ ਬਜਟ ਹੈ: ਐਨਕ੍ਰਿਪਟ ਪੇਲੋਡ ਨਾਲ OpenVPN ਹੈਡਰ, UDP ਹੈਡਰ ਅਤੇ ਬਾਹਰੀ IP ਹੈਡਰ। ਇਹ ਦੱਸਦਾ ਹੈ ਕਿ ਮਸ਼ੀਨ ਤੋਂ ਕੀ ਨਿਕਲਦਾ ਹੈ, ਅਤੇ ਇਸੇ ਲਈ ਇਹ ਉਹ ਸੰਖਿਆ ਹੈ ਜਿਸ ਨੂੰ ਭੌਤਿਕ ਮਾਰਗ ਸੀਮਤ ਕਰਦਾ ਹੈ।
tun-mtu ਅੰਦਰੂਨੀ ਬਜਟ ਹੈ: ਉਹ ਇੰਟਰਫ਼ੇਸ ਜੋ ਤੁਹਾਡਾ ਟ੍ਰੈਫ਼ਿਕ ਦੇਖਦਾ ਹੈ। ਇਹ ਮਾਰਗ ਜਿੰਨਾ ਚੁੱਕ ਸਕਦਾ ਹੈ, ਉਸ ਤੋਂ ਠੀਕ ਸੁਰੰਗ ਦੇ ਓਵਰਹੈਡ ਜਿੰਨਾ ਵੱਡਾ ਹੈ, ਅਤੇ OpenVPN ਆਮ ਤੌਰ 'ਤੇ ਤੁਹਾਨੂੰ ਸੈੱਟ ਕਰਨ ਲਈ ਮਜਬੂਰ ਕਰਨ ਦੀ ਬਜਾਏ ਇਸ ਨੂੰ ਕੱਢ ਲੈਂਦਾ ਹੈ।
mssfix ਬਿਲਕੁਲ ਵੱਖਰਾ ਤੰਤਰ ਹੈ। ਇਹ TCP ਹੈਂਡਸ਼ੇਕ ਦੌਰਾਨ ਐਲਾਨੇ ਗਏ ਵੱਧ ਤੋਂ ਵੱਧ ਹਿੱਸੇ ਦੇ ਆਕਾਰ ਨੂੰ ਮੁੜ ਲਿਖਦਾ ਹੈ, ਤਾਂ ਜੋ TCP ਸਾਥੀ ਐਨਕੈਪਸੂਲੇਸ਼ਨ ਤੋਂ ਬਾਅਦ ਫਿੱਟ ਹੋਣ ਵਾਲੇ ਹਿੱਸੇ ਚੁਣਨ। ਇਹ ਇੰਟਰਫ਼ੇਸ ਦੀ MTU ਨਹੀਂ ਬਦਲਦਾ, ਅਤੇ UDP 'ਤੇ ਇਸ ਦਾ ਕੋਈ ਅਸਰ ਨਹੀਂ।
ਜੇ ਤੁਸੀਂ link-mtu ਸਪਸ਼ਟ ਤੌਰ 'ਤੇ ਸੈੱਟ ਕਰਦੇ ਹੋ, ਤਾਂ OpenVPN ਅੰਦਰੂਨੀ MTU ਕੱਢਣ ਲਈ ਆਪਣਾ ਓਵਰਹੈਡ ਘਟਾਉਂਦਾ ਹੈ। ਉਹ ਓਵਰਹੈਡ ਕੋਈ ਨਿਸ਼ਚਿਤ ਸਥਿਰਾਂਕ ਨਹੀਂ ਹੈ; ਇਹ ਸਾਈਫ਼ਰ ਅਤੇ ਪ੍ਰਮਾਣਿਕਤਾ 'ਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ, ਇਸੇ ਲਈ ਫੋਰਮ ਤੋਂ ਕਾਪੀ ਕੀਤਾ ਮੁੱਲ ਕਿਸੇ ਹੋਰ ਪ੍ਰੋਫਾਈਲ 'ਤੇ ਗਲਤ ਹੋ ਸਕਦਾ ਹੈ। link-mtu ਅਤੇ tun-mtu ਦੋਵੇਂ ਸੈੱਟ ਕਰਨ ਨਾਲ ਕਲਾਇੰਟ ਨੂੰ ਦੋ ਵਿਰੋਧੀ ਹਦਾਇਤਾਂ ਮਿਲਦੀਆਂ ਹਨ।
ਕੋਈ ਵੀ ਸੰਖਿਆ ਚੁਣਨ ਤੋਂ ਪਹਿਲਾਂ ਮਾਰਗ ਮਾਪੋ
ਸੁਰੰਗ ਦੇ ਅੰਦਰੋਂ ਨਹੀਂ, ਭੌਤਿਕ ਇੰਟਰਫ਼ੇਸ ਤੋਂ ਮਾਪੋ, ਅਤੇ ਯਾਦ ਰੱਖੋ ਕਿ ਪਿੰਗ ਪੇਲੋਡ ਦੱਸਦਾ ਹੈ, ਪੈਕਟ ਦਾ ਆਕਾਰ ਨਹੀਂ। ਪੇਲੋਡ ਦੀ ਤੁਲਨਾ 1500 ਬਾਈਟ ਦੇ ਫਰੇਮ ਨਾਲ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ IPv4 ਅਤੇ ICMP ਹੈਡਰਾਂ ਲਈ 28 ਬਾਈਟ ਜੋੜੋ, ਅਤੇ ਜਦੋਂ ਸਾਥੀ ਕੋਈ ਹੋਰ ਸੰਖਿਆ ਦੱਸੇ ਤਾਂ ਉਹ ਸੁਧਾਰ ਧਿਆਨ ਵਿੱਚ ਰੱਖੋ।
Linux ਕਲਾਇੰਟ 'ਤੇ ping -M do -s 1472 ਫਰੈਗਮੈਂਟੇਸ਼ਨ ਨੂੰ ਮਨਾਹੀ ਕਰਦਾ ਹੈ ਅਤੇ ਪੈਕਟ ਬਹੁਤ ਵੱਡਾ ਹੋਣ 'ਤੇ ਫੇਲ੍ਹ ਹੁੰਦਾ ਹੈ। ਪੇਲੋਡ ਉਦੋਂ ਤੱਕ ਘਟਾਓ ਜਦੋਂ ਤੱਕ ਇਹ ਲੰਘ ਨਾ ਜਾਵੇ, ਫਿਰ ਮਾਰਗ ਦੀ MTU ਲੈਣ ਲਈ 28 ਜੋੜੋ। PPPoE ਦਾ ਖਰਚ 8 ਬਾਈਟ ਹੈ, ਇਸ ਲਈ DSL 'ਤੇ 1492 ਆਮ ਹੈ। DS-Lite ਅਤੇ ਕੁਝ ਮੋਬਾਈਲ ਮਾਰਗਾਂ ਦਾ ਖਰਚ 40 ਜਾਂ ਵੱਧ ਹੈ, ਅਤੇ ਜਵਾਬ ਆਮ ਤੌਰ 'ਤੇ ਨਾਮਮਾਤਰ ਲਿੰਕ ਗਤੀ ਦੇ ਸੰਕੇਤ ਤੋਂ ਘੱਟ ਹੁੰਦਾ ਹੈ।
ਜੇ ਹਰ ਪਿੰਗ ਆਕਾਰ ਸਫਲ ਹੁੰਦਾ ਹੈ ਪਰ ਵੱਡੇ ਤਬਾਦਲੇ ਅਜੇ ਵੀ ਅਟਕਦੇ ਹਨ, ਤਾਂ ਸਾਧਾਰਨ ਆਕਾਰ ਸੀਮਾ ਦੀ ਬਜਾਏ ਕਾਲੇ ਟੋਏ ਦਾ ਸ਼ੱਕ ਕਰੋ। ਲੋੜੀਂਦੀ ਫਰੈਗਮੈਂਟੇਸ਼ਨ ਵਾਲਾ ICMP ਸੁਨੇਹਾ ਮਾਰਗ 'ਤੇ ਕਿਤੇ ਫਿਲਟਰ ਹੋ ਰਿਹਾ ਹੈ, ਇਸ ਲਈ ਭੇਜਣ ਵਾਲਾ ਕਦੇ ਛੋਟਾ ਕਰਨਾ ਨਹੀਂ ਸਿੱਖਦਾ, ਅਤੇ ਸਿਰਫ਼ ਉਹ ਵਹਾਅ ਇਸ ਨੂੰ ਨੋਟਿਸ ਕਰਦੇ ਹਨ ਜਿਨ੍ਹਾਂ ਨੂੰ ਵੱਡਾ ਹਿੱਸਾ ਚਾਹੀਦਾ ਹੈ।
ਪਹਿਲਾਂ TCP ਨੂੰ ਸੀਮਤ ਕਰੋ, ਫਿਰ ਸੁਰੰਗ ਨੂੰ ਸੁੰਗੇੜੋ
TCP ਹੈਂਡਸ਼ੇਕ ਹੀ ਇੱਕੋ ਚੀਜ਼ ਹੈ ਜਿਸ ਨੂੰ mssfix ਛੂਹਦਾ ਹੈ, ਜੋ ਇਸ ਨੂੰ ਪਹਿਲਾਂ ਅਜ਼ਮਾਉਣ ਲਈ ਸਭ ਤੋਂ ਘੱਟ ਰੁਕਾਵਟ ਪਾਉਣ ਵਾਲਾ ਨਿਯੰਤਰਣ ਬਣਾਉਂਦਾ ਹੈ। ਇਸ ਨੂੰ ਮਾਰਗ ਦੇ ਅਸਲ ਬਜਟ ਤੋਂ ਥੋੜ੍ਹਾ ਹੇਠਾਂ ਸੈੱਟ ਕਰੋ, ਦੋਵੇਂ ਸਿਰੇ ਸਹਿਮਤ ਹੋਣ ਲਈ ਸਰਵਰ ਤੋਂ ਵੀ ਉਹੀ ਮੁੱਲ ਭੇਜੋ, ਅਤੇ ਵੱਡਾ ਡਾਊਨਲੋਡ ਦੁਬਾਰਾ ਜਾਂਚੋ। ਜੇ ਅਟਕਾਅ ਦੂਰ ਹੋ ਜਾਵੇ, ਤਾਂ ਸਮੱਸਿਆ TCP ਹਿੱਸੇ ਦਾ ਆਕਾਰ ਸੀ, ਅਤੇ ਹੋਰ ਕੁਝ ਬਦਲਣ ਦੀ ਲੋੜ ਨਹੀਂ।
ਜਦੋਂ ਪ੍ਰਭਾਵਿਤ ਟ੍ਰੈਫ਼ਿਕ TCP ਨਾ ਹੋਵੇ ਤਾਂ ਅੰਦਰੂਨੀ MTU ਘਟਾਓ। UDP ਸੇਵਾ, ਸੁਰੰਗ ਅੰਦਰ ਦੀ ਸੁਰੰਗ, ਜਾਂ ਪੂਰੇ ਆਕਾਰ ਦੇ ਡੇਟਾਗ੍ਰਾਮ ਭੇਜਣ ਵਾਲੀ ਐਪਲੀਕੇਸ਼ਨ MSS ਸੀਮਾ ਤੋਂ ਬਾਅਦ ਵੀ ਫੇਲ੍ਹ ਹੁੰਦੀ ਰਹੇਗੀ ਕਿਉਂਕਿ ਕੋਈ ਵੀ ਇਸ ਦਾ ਪੈਕਟ ਆਕਾਰ ਮੁੜ ਨਹੀਂ ਲਿਖਦਾ। ਉਸ ਹਾਲਤ ਲਈ tun-mtu ਘਟਾਓ, ਜਾਂ link-mtu ਸੈੱਟ ਕਰੋ ਅਤੇ ਕਲਾਇੰਟ ਨੂੰ ਅੰਦਰੂਨੀ ਮੁੱਲ ਕੱਢਣ ਦਿਓ, ਪਰ ਦੋਵੇਂ ਕਦੇ ਨਹੀਂ।
ਪੁਰਾਣੇ ਫਰੈਗਮੈਂਟੇਸ਼ਨ ਵਿਕਲਪ ਵੱਲ ਨਾ ਜਾਓ। ਇਹ ਸੁਰੰਗ ਦੇ ਅੰਦਰ ਪੈਕਟ ਵੰਡਦਾ ਸੀ, ਓਵਰਹੈਡ ਜੋੜਦਾ ਸੀ, ਅਤੇ ਚੰਗੇ ਕਾਰਨਾਂ ਕਰਕੇ ਹਟਾ ਦਿੱਤਾ ਗਿਆ ਹੈ; ਆਧੁਨਿਕ OpenVPN ਮਾਰਗ ਦਾ ਸਹੀ ਵਰਣਨ ਚਾਹੁੰਦਾ ਹੈ।
ਛੋਟੀਆਂ ਜਾਂਚਾਂ ਕਿਉਂ ਕੰਮ ਕਰਦੀਆਂ ਰਹਿੰਦੀਆਂ ਹਨ
DNS ਪੁੱਛਗਿੱਛ, ICMP ਗੂੰਜਾਂ ਅਤੇ TCP ਹੈਂਡਸ਼ੇਕ ਸਾਰੇ ਫੇਲ੍ਹ ਹੋਣ ਵਾਲੇ ਆਕਾਰ ਤੋਂ ਬਹੁਤ ਘੱਟ ਹਨ। ਇਸ ਲਈ ਸੁਰੰਗ ਹਰ ਤੇਜ਼ ਜਾਂਚ ਵਿੱਚ ਤੰਦਰੁਸਤ ਦਿਖਦੀ ਹੈ, ਜਦੋਂ ਕਿ TLS ਹੈਂਡਸ਼ੇਕ ਅਤੇ HTTP ਜਵਾਬ ਚੁੱਪਚਾਪ ਫੇਲ੍ਹ ਹੁੰਦੇ ਹਨ। ਇਹੀ ਸੁਮੇਲ, ਕੰਮ ਕਰਦਾ traceroute ਅਤੇ ਪਹਿਲੇ ਵੱਡੇ ਜਵਾਬ 'ਤੇ ਅਟਕਦਾ ਬ੍ਰਾਊਜ਼ਰ, ਲੱਭਣ ਵਾਲਾ ਸੰਕੇਤ ਹੈ। ਨਵੇਂ ਪ੍ਰੋਫਾਈਲ ਵੱਲ ਜਾਣ ਤੋਂ ਪਹਿਲਾਂ ਪੂਰੇ ਆਕਾਰ ਦੀ ਜਾਂਚ ਵੱਲ ਜਾਓ।
ਉਸ ਟ੍ਰੈਫ਼ਿਕ ਨਾਲ ਤਸਦੀਕ ਕਰੋ ਜੋ ਫੇਲ੍ਹ ਹੋਇਆ। ਵੱਡਾ ਪੰਨਾ ਲਿਆਓ, ਜੇ ਪ੍ਰਭਾਵਿਤ ਸੇਵਾ ਉਹੀ ਹੈ ਤਾਂ ਪੂਰੇ ਆਕਾਰ ਦਾ UDP ਡੇਟਾਗ੍ਰਾਮ ਭੇਜੋ, ਅਤੇ ਕਿਸੇ ਹੋਰ ਲਿੰਕ 'ਤੇ ਦੂਜੇ ਕਲਾਇੰਟ ਤੋਂ ਦੁਹਰਾਓ। ਮਾਪੀ ਗਈ ਮਾਰਗ MTU ਅਤੇ ਤੁਹਾਡੇ ਚੁਣੇ ਮੁੱਲ ਨੂੰ ਨੋਟ ਕਰੋ, ਕਿਉਂਕਿ ਨਹੀਂ ਤਾਂ ਪ੍ਰੋਫਾਈਲ ਨੂੰ ਛੂਹਣ ਵਾਲਾ ਅਗਲਾ ਵਿਅਕਤੀ ਉਸ ਸੰਖਿਆ ਨੂੰ ਮਨਮਾਨੀ ਮੰਨੇਗਾ।
ਜਦੋਂ IPv6 ਸੁਰੰਗ ਉੱਤੇ ਚੱਲਦਾ ਹੈ ਤਾਂ ਅੰਦਰੂਨੀ MTU ਨੂੰ ਕਦੇ ਵੀ 1280 ਤੋਂ ਹੇਠਾਂ ਨਾ ਲਿਜਾਓ, ਕਿਉਂਕਿ ਇਹ ਉਹ ਘੱਟੋ-ਘੱਟ ਹੈ ਜੋ ਹਰ IPv6 ਲਿੰਕ ਨੂੰ ਚੁੱਕਣਾ ਪੈਂਦਾ ਹੈ। ਛੋਟੀ MTU ਮਾਰਗ ਬਾਰੇ ਤੱਥ ਹੈ, ਭਾਵਨਾ ਨਾਲ ਟਿਊਨ ਕਰਨ ਵਾਲੀ ਕਾਰਗੁਜ਼ਾਰੀ ਸੈਟਿੰਗ ਨਹੀਂ।