VPN ਡਿੱਗਣ 'ਤੇ ਕੁਝ ਵੀ ਲੀਕ ਨਾ ਹੋਵੇ, ਇਸ ਲਈ Linux ਦਾ ਈਗ੍ਰੈਸ ਕਿਵੇਂ ਲਾਕ ਕਰੀਏ
ਰਾਊਟਿੰਗ ਅਤੇ ਫਿਲਟਰਿੰਗ ਵੱਖਰੇ ਫ਼ੈਸਲੇ ਹਨ। ਆਊਟਪੁੱਟ ਹੁੱਕ ਲਾਕ ਕਰੋ, ਫਿਰ ਟਨਲ ਨੂੰ ਦੁਬਾਰਾ ਜੁੜਨ ਲਈ ਲੋੜੀਂਦੇ ਐਂਡਪੁਆਇੰਟ, DNS ਅਤੇ ਪ੍ਰਬੰਧਕੀ ਅਪਵਾਦ ਸੀਮਿਤ ਕਰੋ।
ਘਰ ਦੇ ਅਪਲਿੰਕ 'ਤੇ ਰੱਖੇ ਮੀਡੀਆ ਬਾਕਸ ਦੀ ਕਲਪਨਾ ਕਰੋ, ਜਿਸ ਨੂੰ ਇੰਟਰਨੈੱਟ ਤੱਕ ਸਿਰਫ਼ ਟਨਲ ਰਾਹੀਂ ਹੀ ਪਹੁੰਚਣਾ ਹੈ। ਟਨਲ ਡਿੱਗਣ 'ਤੇ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਭੌਤਿਕ ਇੰਟਰਫ਼ੇਸ ਰਾਹੀਂ ਚੁੱਪਚਾਪ ਚੱਲਦੇ ਰਹਿਣ ਦੀ ਥਾਂ ਰੁਕ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ। ਇਹ ਵਿਵਹਾਰ ਪ੍ਰਾਪਤ ਕਰਨਾ ਰਾਊਟਿੰਗ ਦੀ ਨਹੀਂ, ਫਾਇਰਵਾਲ ਦੀ ਸਮੱਸਿਆ ਹੈ, ਅਤੇ ਇਹ ਫ਼ਰਕ ਮਹੱਤਵਪੂਰਨ ਹੈ ਕਿਉਂਕਿ ਰੂਟ ਨੂੰ ਡੈਮਨ ਰੀਸਟਾਰਟ ਨਾਲ ਬਦਲਿਆ ਜਾ ਸਕਦਾ ਹੈ, ਜਦਕਿ ਫਿਲਟਰ ਉੱਥੇ ਹੀ ਰਹਿੰਦਾ ਹੈ ਜਿੱਥੇ ਤੁਸੀਂ ਰੱਖਿਆ ਸੀ। ਹੁਣ ਅੱਗੇ ਦੇਖਾਂਗੇ ਕਿ ਪੈਕੇਟ ਦਾ ਰਸਤਾ ਅਸਲ ਵਿੱਚ ਕਿਵੇਂ ਫ਼ੈਸਲਾ ਕਰਦਾ ਹੈ, ਅਤੇ ਫਿਰ ਟਨਲ ਨੂੰ ਦੁਬਾਰਾ ਜੋੜਨ ਵਾਲੇ ਅਪਵਾਦ ਕਿਵੇਂ ਸੀਮਿਤ ਕਰਨੇ ਹਨ।
ਲੋਕਲ ਆਊਟਪੁੱਟ ਫਾਰਵਰਡਿੰਗ ਤੋਂ ਵੱਖਰਾ ਹੁੱਕ ਹੈ
ਮਸ਼ੀਨ 'ਤੇ ਕਿਸੇ ਐਪਲੀਕੇਸ਼ਨ ਤੋਂ ਨਿਕਲਣ ਵਾਲਾ ਪੈਕੇਟ ਆਊਟਪੁੱਟ ਹੁੱਕ ਵਿੱਚੋਂ ਲੰਘਦਾ ਹੈ; ਮਸ਼ੀਨ ਕਿਸੇ ਹੋਰ ਹੋਸਟ ਲਈ ਜੋ ਪੈਕੇਟ ਰਾਊਟ ਕਰਦੀ ਹੈ ਉਹ ਫਾਰਵਰਡ ਵਿੱਚੋਂ ਲੰਘਦਾ ਹੈ। ਜੋ ਨੀਤੀ ਸਿਰਫ਼ forward ਦਾ ਜ਼ਿਕਰ ਕਰਦੀ ਹੈ ਉਹ ਦੂਜੇ ਨੂੰ ਸੀਮਿਤ ਕਰਦੀ ਹੈ ਅਤੇ ਪਹਿਲੇ ਨੂੰ ਪੂਰਾ ਖੁੱਲ੍ਹਾ ਛੱਡ ਦਿੰਦੀ ਹੈ, ਇਸੇ ਲਈ ਇੰਨੇ ਈਗ੍ਰੈਸ ਲਾਕ ਸਹੀ ਦਿਸਦੇ ਹਨ ਅਤੇ ਕੁਝ ਨਹੀਂ ਕਰਦੇ। ਇੰਟਰਫ਼ੇਸ ਮਿਲਾਨ ਵੀ ਉਸੇ ਨਿਯਮ ਵਿੱਚ ਆਉਂਦਾ ਹੈ: oifname "tun0" accept ਉਸ ਟ੍ਰੈਫ਼ਿਕ ਨੂੰ ਲੰਘਣ ਦਿੰਦਾ ਹੈ ਜੋ ਪਹਿਲਾਂ ਹੀ ਟਨਲ ਰਾਹੀਂ ਰਾਊਟ ਹੋ ਚੁੱਕਾ ਹੈ। ਰਾਊਟਿੰਗ ਅਤੇ ਫਿਲਟਰਿੰਗ ਵੀ ਵੱਖਰੇ ਫ਼ੈਸਲੇ ਰਹਿੰਦੇ ਹਨ, ਇਸ ਲਈ ਫਿਲਟਰ ਦੇ ਪੈਕੇਟ ਨੂੰ ਰੱਦ ਕਰਨ 'ਤੇ ਵੀ ਅਪਲਿੰਕ ਰੂਟ ਮੌਜੂਦ ਹੋ ਸਕਦਾ ਹੈ। ਤੁਸੀਂ ਇਸੇ ਵੱਖਰੇਵੇਂ 'ਤੇ ਭਰੋਸਾ ਕਰ ਰਹੇ ਹੋ।
ਹੋਰ ਡਿਵਾਈਸਾਂ ਲਈ ਫਾਰਵਰਡ ਕਰਨ ਵਾਲੇ ਗੇਟਵੇ ਨੂੰ ਦੋਵੇਂ ਹੁੱਕ ਚਾਹੀਦੇ ਹਨ। ਸਿਰਫ਼ ਆਊਟਪੁੱਟ ਲਾਕ ਕਰਨਾ ਮਸ਼ੀਨ ਦੀ ਆਪਣੀ ਰੱਖਿਆ ਕਰਦਾ ਹੈ ਅਤੇ ਹੇਠਲੇ ਹਰ ਕਲਾਇੰਟ ਨੂੰ ਲੀਕ ਕਰਨ ਦੀ ਖੁੱਲ੍ਹ ਦੇ ਦਿੰਦਾ ਹੈ।
ਅਪਵਾਦਾਂ ਦੀ ਸੂਚੀ ਐਂਡਪੁਆਇੰਟ ਤੋਂ ਬਾਹਰ ਵੱਲ ਲਿਖੋ
ਟਨਲ ਦੇ ਐਂਡਪੁਆਇੰਟ ਤੋਂ ਸ਼ੁਰੂ ਕਰੋ: ਇੱਕ ਮੰਜ਼ਿਲ ਪਤਾ ਜਾਂ ਛੋਟਾ ਮਨਜ਼ੂਰ ਸਮੂਹ, ਟਰਾਂਸਪੋਰਟ ਪ੍ਰੋਟੋਕਾਲ ਅਤੇ ਮੰਜ਼ਿਲ ਪੋਰਟ, ਜਿਵੇਂ udp dport 1194 ip daddr 203.0.113.7 accept। ਜੇ ਕਲਾਇੰਟ ਹੋਸਟਨਾਮ ਹੱਲ ਕਰਦਾ ਹੈ ਤਾਂ ਸ਼ੁਰੂਆਤੀ DNS ਅਦਲਾ-ਬਦਲੀ ਨੂੰ ਰਿਜ਼ੌਲਵਰ ਅਤੇ ਪੋਰਟ 53 ਤੱਕ ਸੀਮਿਤ ਆਪਣਾ ਨਿਯਮ ਚਾਹੀਦਾ ਹੈ, ਉਸ ਰਿਜ਼ੌਲਵਰ ਦੇ ਪਤੇ ਲਈ ਖੁੱਲ੍ਹੀ ਇਜਾਜ਼ਤ ਨਹੀਂ। ਹਰ ਅਪਵਾਦ ਨੂੰ ਆਪਣੇ ਹੋਣ ਦਾ ਕਾਰਨ ਦੱਸਣਾ ਚਾਹੀਦਾ ਹੈ। VPN ਪੋਰਟ 'ਤੇ ਸਾਰੇ UDP ਟ੍ਰੈਫ਼ਿਕ ਦੀ ਇਜਾਜ਼ਤ ਤੁਹਾਡੇ ਮਨ ਵਿੱਚਲੀ ਉਸ ਇੱਕ ਪ੍ਰਮਾਣਿਤ ਸੇਵਾ ਨਾਲੋਂ ਕਿਤੇ ਵੱਧ ਢਕਦੀ ਹੈ।
ਸ਼ੁਰੂਆਤੀ ਹੱਲ ਹੀ ਉਹ ਥਾਂ ਹੈ ਜਿੱਥੇ ਲਾਕ ਆਮ ਤੌਰ 'ਤੇ ਸੜਦੇ ਹਨ। ਟਾਈਮਰ 'ਤੇ ਰਿਫ਼੍ਰੈਸ਼ ਹੋਣ ਵਾਲੇ ਪਤਿਆਂ ਦੇ ਸਮੂਹ ਨੂੰ ਰਿਫ਼੍ਰੈਸ਼ ਫੇਲ੍ਹ ਹੋਣ 'ਤੇ ਨਿਰਧਾਰਿਤ ਵਿਵਹਾਰ ਚਾਹੀਦਾ ਹੈ, ਅਤੇ ਉਹ ਵਿਵਹਾਰ ਕਾਮਯਾਬ ਹੋਣ ਤੱਕ ਲਿੰਕ ਖੋਲ੍ਹਣਾ ਨਹੀਂ ਹੋ ਸਕਦਾ। ਟਨਲ ਚੱਲਦਿਆਂ ਟਨਲ ਰਾਹੀਂ ਰਿਫ਼੍ਰੈਸ਼ ਕਰੋ, ਨਹੀਂ ਤਾਂ ਆਖ਼ਰੀ ਜਾਣੇ ਜਾਂਦੇ ਸਿਹਤਮੰਦ ਐਂਡਪੁਆਇੰਟ 'ਤੇ ਵਾਪਸ ਜਾਓ।
ਲੋਕਲ ਪ੍ਰਬੰਧਨ ਨੂੰ ਵੀ ਇਹੋ ਵਿਵਹਾਰ ਚਾਹੀਦਾ ਹੈ। ਪ੍ਰਬੰਧਨ ਸਬਨੈੱਟ ਸਿਰਫ਼ ਇਸ ਲਈ ਭਰੋਸੇਯੋਗ ਨਹੀਂ ਕਿ ਉਸ ਦੇ ਪਤੇ ਨਿੱਜੀ ਹਨ, ਅਤੇ ਉਸ 'ਤੇ ਭਰੋਸਾ ਕਰਨ ਵਾਲਾ ਨਿਯਮ ਲਾਕ ਦੁਆਲੇ ਦੂਜਾ ਰਸਤਾ ਸੱਦਦਾ ਹੈ।
ਇੰਟਰਫ਼ੇਸ ਮਿਲਾਨ ਸਿਹਤਮੰਦ ਟਨਲ ਦਾ ਸਬੂਤ ਨਹੀਂ
tun0 ਵਿੱਚੋਂ ਨਿਕਲਣ ਵਾਲੀ ਹਰ ਚੀਜ਼ ਸਵੀਕਾਰ ਕਰਨ ਵਾਲੇ ਨਿਯਮ ਮੰਨ ਲੈਂਦੇ ਹਨ ਕਿ ਉਸ ਇੰਟਰਫ਼ੇਸ 'ਤੇ ਪੈਕੇਟ ਟਨਲ ਤੋਂ ਆਇਆ ਹੈ। ਇੰਟਰਫ਼ੇਸ ਦੇ ਨਾਮ ਦੁਬਾਰਾ ਬਣਦੇ ਹਨ, ਅਤੇ ਨਾਮ ਕੋਈ ਕ੍ਰਿਪਟੋਗ੍ਰਾਫ਼ਿਕ ਪਛਾਣ ਨਹੀਂ। ਪੀਅਰ ਵੀ ਜਾ ਸਕਦਾ ਹੈ ਜਦਕਿ ਇੰਟਰਫ਼ੇਸ ਉੱਪਰ ਬਣਿਆ ਰਹਿੰਦਾ ਹੈ, ਜੋ ਨਿਯਮ ਨੂੰ ਬਹੁਤ ਭਰੋਸੇਯੋਗ ਨਿਸ਼ਕਿਰਿਆਤਾ ਬਣਾ ਦਿੰਦਾ ਹੈ।
ਕਨੈਕਸ਼ਨ ਟ੍ਰੈਕਿੰਗ ਸੰਬੰਧਿਤ ਜਾਲ ਜੋੜਦੀ ਹੈ। ਸਥਾਪਿਤ ਕਨੈਕਸ਼ਨਾਂ ਲਈ ਚੌੜਾ ਨਿਯਮ ਫਲੋ ਨੂੰ ਪਹਿਲਾਂ ਮਿਲੀ ਇਜਾਜ਼ਤ ਦੁਬਾਰਾ ਚਲਾਉਂਦਾ ਹੈ, ਇਸ ਲਈ ਟਨਲ ਡਿੱਗਣ ਤੋਂ ਪਹਿਲਾਂ ਸ਼ੁਰੂ ਹੋਇਆ ਸੈਸ਼ਨ ਬਾਅਦ ਵਿੱਚ ਵੀ ਚੱਲਦਾ ਰਹਿੰਦਾ ਹੈ। ਸਟੇਟ ਅਧਾਰਿਤ ਸਵੀਕ੍ਰਿਤੀ ਨੂੰ ਸਿਰਫ਼ ਉਹਨਾਂ ਇੰਟਰਫ਼ੇਸਾਂ ਅਤੇ ਪਤਿਆਂ ਤੱਕ ਸੀਮਿਤ ਕਰੋ ਜੋ ਤੁਹਾਡਾ ਸੱਚਮੁੱਚ ਮਤਲਬ ਹੈ, ਨਹੀਂ ਤਾਂ ਤੁਸੀਂ ਆਪਣੇ ਆਪ ਖੁੱਲ੍ਹਣ ਵਾਲਾ ਲਾਕ ਬਣਾ ਲਿਆ। ਇਨਪੁੱਟ ਅਤੇ ਆਊਟਪੁੱਟ ਨਿਯਮ ਵੀ ਵੱਖਰੇ ਸਵਾਲਾਂ ਦੇ ਜਵਾਬ ਦਿੰਦੇ ਹਨ, ਅਤੇ ਇੱਕ ਨੂੰ ਸਖ਼ਤ ਕਰਕੇ ਦੂਜੇ ਨੂੰ ਅਣਡਿੱਠਾ ਕਰਨਾ ਮਸ਼ੀਨ ਨੂੰ ਉਸ ਦਿਸ਼ਾ ਵਿੱਚ ਪਹੁੰਚਯੋਗ ਛੱਡ ਦਿੰਦਾ ਹੈ ਜਿਸ ਬਾਰੇ ਤੁਸੀਂ ਨਹੀਂ ਸੋਚਿਆ।
ਡੈਮਨ ਕ੍ਰੈਸ਼ ਤੋਂ ਬਾਅਦ ਕੀ ਬਚਦਾ ਹੈ
ਟਨਲ ਉੱਪਰ ਆਉਣ ਤੋਂ ਬਾਅਦ ਚੱਲਣ ਵਾਲੀ ਸਕ੍ਰਿਪਟ ਜੋ ਫਿਲਟਰ ਲਗਾਉਂਦੀ ਹੈ ਉਹ ਟਨਲ ਨਾਲ ਹੀ ਗ਼ਾਇਬ ਹੋ ਜਾਂਦਾ ਹੈ, ਠੀਕ ਉਸੇ ਪਲ ਜਦੋਂ ਉਸ ਦੀ ਲੋੜ ਸੀ। ਲਾਕ ਨੂੰ ਬੂਟ 'ਤੇ ਲੋਡ ਕਰੋ ਅਤੇ ਡੈਮਨ ਨੂੰ ਸਿਰਫ਼ ਉਸ ਦੇ ਅਪਵਾਦ ਸੰਭਾਲਣ ਦਿਓ।
ਡਿਫ਼ਾਲਟ ਰੂਟ ਮਿਟਾਉਣਾ ਵੀ ਬਦਲ ਨਹੀਂ ਹੈ। ਰੂਟ ਉਹ ਸਥਿਤੀ ਹੈ ਜਿਸ ਦਾ ਮਾਲਕ ਡੈਮਨ ਹੈ ਅਤੇ ਜਿਸ ਨੂੰ ਉਹ ਮੁੜ ਲਿਖਦਾ ਹੈ, ਅਤੇ ਇਸ ਨੂੰ ਹਟਾਉਣਾ ਦੁਬਾਰਾ ਜੁੜਨ ਲਈ ਲੋੜੀਂਦਾ ਰਸਤਾ ਖੋਹ ਸਕਦਾ ਹੈ। IPv6 ਨੂੰ ਆਪਣੀ ਯੋਜਨਾ ਚਾਹੀਦੀ ਹੈ, ਕਿਉਂਕਿ ਗੁਆਂਢੀ ਖੋਜ ਅਤੇ ਰਾਊਟਰ ਐਲਾਨ ਲਿੰਕ ਸੇਵਾਵਾਂ ਹਨ ਜੋ ਆਮ ਟ੍ਰੈਫ਼ਿਕ ਬਲਾਕ ਹੋਣ 'ਤੇ ਵੀ ਚੱਲਦੀਆਂ ਰਹਿਣੀਆਂ ਚਾਹੀਦੀਆਂ ਹਨ। DHCP ਵੀ ਉਸੇ ਸ਼੍ਰੇਣੀ ਵਿੱਚ ਆਉਂਦਾ ਹੈ। ਇਹਨਾਂ ਨੂੰ ਬਾਅਦ ਵਿੱਚ ਰੁਕਾਵਟਾਂ ਵਜੋਂ ਲੱਭਣ ਦੀ ਥਾਂ ਮਕਸਦ ਵਾਲੇ ਅਪਵਾਦਾਂ ਵਜੋਂ ਲਿਖੋ।
ਤੈਨਾਤੀ ਤੋਂ ਪਹਿਲਾਂ ਬਹਾਲੀ ਦਾ ਰਸਤਾ
ਲਾਕ ਨੂੰ ਉਸੇ ਤਰ੍ਹਾਂ ਪਰਖੋ ਜਿਵੇਂ ਉਹ ਫੇਲ੍ਹ ਹੋਵੇਗਾ: ਬਿਨਾਂ ਟਨਲ ਬੂਟ, ਡੈਮਨ ਮਾਰਨਾ, ਐਂਡਪੁਆਇੰਟ ਬਦਲਣਾ ਅਤੇ ਦੁਬਾਰਾ ਜੁੜਨਾ। ਹਰ ਮਾਮਲੇ ਵਿੱਚ ਐਪਲੀਕੇਸ਼ਨ ਰੁਕਣੇ ਚਾਹੀਦੇ ਹਨ ਅਤੇ ਬਹਾਲੀ ਚੈਨਲ ਚੱਲਦਾ ਰਹਿਣਾ ਚਾਹੀਦਾ ਹੈ। ਇਹ ਕੰਸੋਲ ਤੋਂ ਕਰੋ, ਕਿਉਂਕਿ ਰਿਮੋਟ ਸ਼ੈੱਲ ਹੀ ਉਹ ਸੈਸ਼ਨ ਹੈ ਜੋ ਤੁਹਾਡੇ ਆਪਣੇ ਨਿਯਮ ਨਾਲ ਸਭ ਤੋਂ ਵੱਧ ਲਾਕ ਹੋਣ ਦੀ ਸੰਭਾਵਨਾ ਰੱਖਦਾ ਹੈ।
ਫਿਰ ਵੇਖੋ ਕਿ ਆਮ ਐਪਲੀਕੇਸ਼ਨ ਅਜੇ ਕਿੱਥੇ ਪਹੁੰਚ ਸਕਦੀ ਹੈ, ਕੋਈ ਬੇਨੁਕਸਾਨ ਮੰਜ਼ਿਲ ਅਤੇ ਜਾਂਚਯੋਗ ਬੇਨਤੀ ਨਾਲ। ਤੁਸੀਂ ਜੋ ਨਤੀਜਾ ਚਾਹੁੰਦੇ ਹੋ ਉਹ ਅਪਲਿੰਕ 'ਤੇ ਇਨਕਾਰ ਅਤੇ ਟਨਲ ਰਾਹੀਂ ਸਫਲਤਾ ਹੈ, ਨਾ ਕਿ ਦੁਵਿਧਾਪੂਰਨ ਟਾਈਮਆਊਟ ਜੋ ਦੋਵਾਂ ਦਾ ਮਤਲਬ ਹੋ ਸਕਦਾ ਹੈ। ਨਿਯਮਾਂ ਦਾ ਸਮੂਹ ਸ਼ੈੱਲ ਸਕ੍ਰਿਪਟ ਤੋਂ ਪੂਰੀ ਸਾਰਣੀ ਬਦਲਣ ਦੀ ਥਾਂ ਫਾਇਰਵਾਲ ਦੇ ਬਾਕੀ ਹਿੱਸੇ ਵਾਲੇ ਹੀ ਮਾਲਕ ਹੇਠ ਰੱਖੋ। ਜਿਸ ਨੀਤੀ ਵਿੱਚ ਹਰ ਇਜਾਜ਼ਤ ਆਪਣਾ ਪੱਖ ਰੱਖ ਸਕਦੀ ਹੈ, ਉਹ ਉਸ ਲੰਬੇ ਨਿਯਮ-ਸਮੂਹ ਨਾਲੋਂ ਵਧੇਰੇ ਕੀਮਤੀ ਹੈ ਜਿਸ ਨੂੰ ਕੋਈ ਸਮਝਾ ਨਹੀਂ ਸਕਦਾ।