ਕਲਾਇੰਟ ਕਹਿੰਦਾ ਹੈ ਜੁੜਿਆ ਹੈ, ਸਰੋਤ ਅਜੇ ਵੀ ਇਨਕਾਰ ਕਰਦਾ ਹੈ, ਅਤੇ ਅਗਲਾ ਆਮ ਕਦਮ ਕੁਝ ਬੰਦ ਕਰਨਾ ਹੈ। ਉਸ ਵਾਕ ਦੇ ਦੋਵੇਂ ਕੰਟਰੋਲ ਵੱਖਰੇ ਕੰਮ ਕਰਦੇ ਹਨ: VPN ਢੱਕੇ ਟ੍ਰੈਫਿਕ ਲਈ ਰਸਤਾ ਬਣਾਉਂਦਾ ਹੈ, ਅਤੇ ਫਾਇਰਵਾਲ ਹਰ ਕਨੈਕਸ਼ਨ ਲਈ ਫੈਸਲਾ ਕਰਦੀ ਹੈ ਕਿ ਟ੍ਰੈਫਿਕ ਲੰਘ ਸਕਦਾ ਹੈ ਜਾਂ ਨਹੀਂ। ਇਨਕਾਰ ਕਰਨ ਵਾਲੀ ਨੀਤੀ ਨਾਲ ਚੱਲ ਰਹੀ ਟਨਲ ਵਰਤੋਂਕਾਰ ਦੀ ਕੁਰਸੀ ਤੋਂ ਬਿਲਕੁਲ ਟੁੱਟੀ ਟਨਲ ਵਰਗੀ ਦਿਖਦੀ ਹੈ, ਇਸ ਲਈ ਕੰਮ ਇਹ ਪਤਾ ਕਰਨਾ ਹੈ ਕਿ ਕਿਹੜੀ ਪਰਤ ਜਵਾਬ ਦੇ ਰਹੀ ਹੈ। ਇਹ ਉਹ ਕ੍ਰਮ ਹੈ ਜੋ ਮੈਂ ਅਪਣਾਉਂਦਾ ਹਾਂ, ਰੁਕਣ ਲਈ ਕਹਿਣ ਵਾਲੀ ਪੜ੍ਹਤ ਨਾਲ।

ਰਸਤੇ ਨੂੰ ਨੀਤੀ ਤੋਂ ਵੱਖ ਕਰੋ

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

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

ਰਸਤਾ ਇੱਕ ਹੀ ਵਾਰ ਪੜ੍ਹੋ

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

ip route get 10.20.4.15
ip -brief address show
wg show
sudo ipsec statusall

ਰਸਤੇ ਦਾ ਆਉਟਪੁੱਟ ਦੱਸਦਾ ਹੈ ਕਿ ਪੈਕਟ ਕਿਹੜੇ ਇੰਟਰਫੇਸ ਰਾਹੀਂ ਨਿਕਲੇਗਾ ਅਤੇ ਕਿਹੜਾ ਸਰੋਤ ਪਤਾ ਲੈ ਕੇ ਜਾਵੇਗਾ। ਜੇ ਉਹ ਇੰਟਰਫੇਸ ਟਨਲ ਨਹੀਂ ਸਗੋਂ ਤੁਹਾਡਾ ਭੌਤਿਕ ਨੈੱਟਵਰਕ ਕਾਰਡ ਹੈ, ਤਾਂ ਸਮੱਸਿਆ ਰਾਊਟਿੰਗ ਵਿੱਚ ਜਾਂ ਟਨਲ ਦੀਆਂ ਮਨਜ਼ੂਰਸ਼ੁਦਾ ਰੇਂਜਾਂ ਵਿੱਚ ਹੈ, ਅਤੇ ਇਹ ਫਾਇਰਵਾਲ ਦੀ ਨਹੀਂ, VPN ਸੰਰਚਨਾ ਦੀ ਹੈ।

VPN-ਖਾਸ ਇੱਕ ਜਾਲ ਆਪਣੀ ਵੱਖਰੀ ਜਾਂਚ ਦਾ ਹੱਕਦਾਰ ਹੈ। WireGuard ਵਿੱਚ ਪੀਅਰ ਦਾ AllowedIPs ਇੱਕੋ ਸਮੇਂ ਰਸਤਾ ਅਤੇ ਕ੍ਰਿਪਟੋਗ੍ਰਾਫਿਕ ਫਿਲਟਰ ਹੈ: ਜਿਸ ਪੈਕਟ ਦਾ ਸਰੋਤ ਪਤਾ ਪੀਅਰ ਦੇ ਮਨਜ਼ੂਰਸ਼ੁਦਾ ਸਮੂਹ ਨਾਲ ਮੇਲ ਨਹੀਂ ਖਾਂਦਾ, ਉਹ ਕਿਸੇ ਵੀ ਫਾਇਰਵਾਲ ਨਿਯਮ ਨੂੰ ਵੇਖਣ ਤੋਂ ਪਹਿਲਾਂ ਸੁੱਟ ਦਿੱਤਾ ਜਾਂਦਾ ਹੈ। ਇਸ ਲਈ ਪੂਰੀ ਤਰ੍ਹਾਂ ਸਹੀ ਹੋਸਟ ਫਾਇਰਵਾਲ ਵੀ ਨੀਤੀ ਵਰਗੀ ਦਿਖਣ ਵਾਲੀ ਚੁੱਪ ਸੁੱਟ ਦੇ ਪਿੱਛੇ ਹੋ ਸਕਦੀ ਹੈ, ਅਤੇ ਹੱਲ ਨਿਯਮ ਨਹੀਂ ਸਗੋਂ ਕੁੰਜੀ ਸੰਰਚਨਾ ਦੀ ਇੱਕ ਲਾਈਨ ਹੈ।

ਜਵਾਬ ਦੇਣ ਵਾਲੀ ਪਰਤ ਵਿੱਚ ਨੀਤੀ ਪੜ੍ਹੋ

ਰਸਤਾ ਸਹੀ ਹੋਣ ’ਤੇ, ਹੋਸਟ ਤੋਂ ਬਾਹਰ ਵੱਲ ਨੀਤੀ ਵਿੱਚ ਤੁਰੋ ਅਤੇ ਉਹ ਇੱਕੋ ਪਰਤ ਵੇਖੋ ਜਿਸਦੇ ਕਾਊਂਟਰ ਹਿੱਲਦੇ ਹਨ:

ss -ltn | grep ':443'
sudo nft list ruleset
sudo iptables -S INPUT
sudo ufw status verbose

ਸੁਣਦਾ ਸਾਕਟ ਨਿਯਮਾਂ ਨਾਲੋਂ ਵੱਖਰੇ ਸਵਾਲ ਦਾ ਜਵਾਬ ਦਿੰਦਾ ਹੈ। ਜੇ ਪੋਰਟ ’ਤੇ ਕੁਝ ਨਹੀਂ ਸੁਣਦਾ, ਕਰਨਲ ਕਨੈਕਸ਼ਨ ਇਨਕਾਰ ਕਰ ਦਿੰਦਾ ਹੈ ਅਤੇ ਕੋਈ ਇਨਬਾਊਂਡ ਨਿਯਮ ਸੰਬੰਧਿਤ ਨਹੀਂ। ਜੇ ਸਾਕਟ ਹੈ ਅਤੇ ਦੂਰ ਦੇ ਕਲਾਇੰਟ ਤੋਂ ਕਨੈਕਸ਼ਨ ਸਮਾਂ-ਸੀਮਾ ’ਤੇ ਜਾਂਦਾ ਹੈ, ਰਸਤੇ ’ਤੇ ਕਿਤੇ ਸੁੱਟਣਾ ਹੋ ਰਿਹਾ ਹੈ, ਅਤੇ ਨਿਯਮਾਂ ਦੇ ਕਾਊਂਟਰ ਦੱਸਦੇ ਹਨ ਕਿ ਇਹ ਇੱਥੇ ਹੋ ਰਿਹਾ ਹੈ ਜਾਂ ਨਹੀਂ।

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

ਜੇ ਟਨਲ ਉੱਥੇ ਹੀ ਖਤਮ ਹੁੰਦੀ ਹੈ ਤਾਂ ਗੇਟਵੇ ਦਾ ਫੈਸਲਾ ਪੜ੍ਹੋ

ਸਾਈਟ-ਤੋਂ-ਸਾਈਟ ਜਾਂ ਦੂਰਸਥ ਪਹੁੰਚ ਗੇਟਵੇ ’ਤੇ, VPN ਵਰਤੋਂਕਾਰ ਦੀ ਪ੍ਰਮਾਣਿਕਤਾ ਕਰਦਾ ਹੈ ਅਤੇ ਨੀਤੀ ਸਰੋਤ ਨੂੰ ਅਧਿਕਾਰ ਦਿੰਦੀ ਹੈ, ਅਤੇ ਇਹ ਵੱਖਰੀਆਂ ਮਨਜ਼ੂਰੀਆਂ ਹਨ। ਟਨਲ ਵਿੱਚ ਦਾਖਲ ਹੋਏ ਵਰਤੋਂਕਾਰ ਨੂੰ ਹਰ ਅੰਦਰੂਨੀ ਹੋਸਟ ’ਤੇ ਆਪਣੇ ਆਪ ਦਾਖਲ ਨਹੀਂ ਮਿਲਦਾ, ਅਤੇ ਇਨਕਾਰ ਅਕਸਰ ਟਨਲ ਖੁਦ ਸਿਹਤਮੰਦ ਹੁੰਦਿਆਂ ਫਾਰਵਰਡਿੰਗ ਨਿਯਮ ਤੋਂ ਆਉਂਦਾ ਹੈ। ਇਹੀ ਵੰਡ IPsec ਵਿੱਚ ਦਿਖਦੀ ਹੈ, ਜਿੱਥੇ ਟ੍ਰੈਫਿਕ ਚੁਣਨ ਵਾਲੀ ਸੁਰੱਖਿਆ ਨੀਤੀ ਉਸਨੂੰ ਦਾਖਲ ਦੇਣ ਵਾਲੇ ਫਿਲਟਰ ਤੋਂ ਵੱਖਰੀ ਹੈ, ਅਤੇ ਇਸੇ ਲਈ ਦੋਵਾਂ ਨੂੰ ਵੱਖਰੇ ਤੰਤਰ ਵਜੋਂ RFC 4301।

ਵਾਪਸੀ ਦਾ ਰਸਤਾ ਵੀ ਜਾਣ ਵਾਲੇ ਰਸਤੇ ਜਿੰਨੀ ਸਾਵਧਾਨੀ ਨਾਲ ਜਾਂਚੋ। ਸਟੇਟਫੁਲ ਫਿਲਟਰਿੰਗ ਨੂੰ ਜਵਾਬ ਵੇਖਣਾ ਪੈਂਦਾ ਹੈ, ਇਸ ਲਈ ਟਨਲ ਰਾਹੀਂ ਇੱਕ ਦਿਸ਼ਾ ਵਿੱਚ ਅਤੇ ਉਸਦੇ ਆਲੇ-ਦੁਆਲੇ ਦੂਜੀ ਦਿਸ਼ਾ ਵਿੱਚ ਅਸਮਮਿਤ ਰਾਊਟਿੰਗ ਅਜਿਹੇ ਸੁੱਟ ਬਣਾਉਂਦੀ ਹੈ ਜੋ ਬੇਤਰਤੀਬ ਦਿਖਦੇ ਹਨ ਅਤੇ ਸਿਰਫ਼ ਕੁਝ ਕਲਾਇੰਟਾਂ ਤੋਂ ਦੁਹਰਾਏ ਜਾਂਦੇ ਹਨ। ਜੇ ਟ੍ਰੈਫਿਕ ਗੇਟਵੇ ਤੱਕ ਪਹੁੰਚ ਕੇ ਰੁਕ ਜਾਵੇ, ਤਾਂ ਕੁਝ ਵੀ ਫੈਲਾਉਣ ਤੋਂ ਪਹਿਲਾਂ ਫਾਰਵਰਡਿੰਗ ਨਿਯਮ ਅਤੇ ਵਾਪਸੀ ਦਾ ਰਸਤਾ ਇਕੱਠੇ ਪੜ੍ਹੋ।

ਗੇਟਵੇ ਉਹ ਥਾਂ ਵੀ ਹੈ ਜਿੱਥੇ NAT ਜਾਂ ਮਾਸਕਰੇਡ ਨਿਯਮ ਅਸਲ ਸਰੋਤ ਲੁਕਾ ਸਕਦਾ ਹੈ। ਜੇ ਅੰਦਰੂਨੀ ਹੋਸਟ ਕਲਾਇੰਟ ਦੀ ਥਾਂ ਗੇਟਵੇ ਦਾ ਪਤਾ ਵੇਖਦੇ ਹਨ, ਤਾਂ ਕਲਾਇੰਟ ਪੂਲ ਨਾਲ ਮੇਲ ਖਾਣ ਵਾਲੇ ਉਨ੍ਹਾਂ ਦੇ ਹੋਸਟ ਫਾਇਰਵਾਲ ਨਿਯਮ ਕਦੇ ਮੇਲ ਨਹੀਂ ਖਾਣਗੇ, ਅਤੇ ਹੱਲ ਹਰ ਸਰਵਰ ’ਤੇ ਨਹੀਂ, ਗੇਟਵੇ ’ਤੇ ਹੈ।

ਸਭ ਤੋਂ ਤੰਗ ਪਰਤ ਬਦਲੋ, ਫਿਰ ਜਾਂਚੋ

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

ਜੋ ਜਾਂਚ ਫੇਲ੍ਹ ਹੋਈ ਉਸੇ ਨਾਲ, ਉਸੇ ਕਲਾਇੰਟ ਤੋਂ ਜਾਂਚੋ, ਅਤੇ ਫਿਰ ਦੁਬਾਰਾ ਜੁੜਨ ਤੋਂ ਬਾਅਦ ਇੱਕ ਵਾਰ ਹੋਰ, ਕਿਉਂਕਿ ਟਨਲ ਦੁਬਾਰਾ ਗੱਲਬਾਤ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਮੇਲ ਖਾਣ ਵਾਲਾ ਨਿਯਮ ਬਾਅਦ ਵਿੱਚ ਮੇਲ ਖਾਣਾ ਬੰਦ ਕਰ ਸਕਦਾ ਹੈ:

nc -vz 10.20.4.15 443
curl -v --max-time 5 https://10.20.4.15/

ਇਸਨੂੰ ਬੰਦ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ:

  • ਮੰਜ਼ਿਲ ਦਾ ਰਸਤਾ ਟਨਲ ਇੰਟਰਫੇਸ ਰਾਹੀਂ ਨਿਕਲਦਾ ਹੈ, ਅਤੇ ਸਰੋਤ ਪਤਾ ਨੀਤੀ ਦੀ ਆਸ ਨਾਲ ਮੇਲ ਖਾਂਦਾ ਹੈ।
  • ਪੋਰਟ ’ਤੇ ਕੁਝ ਸੁਣ ਰਿਹਾ ਹੈ, ਅਤੇ ਇਨਕਾਰ ਜਾਂ ਸਮਾਂ-ਸੀਮਾ ਅੰਦਾਜ਼ਾ ਨਹੀਂ, ਨਾਂ ਦਿੱਤੇ ਨਿਯਮ ਨੂੰ ਮੰਨਿਆ ਜਾਂਦਾ ਹੈ।
  • ਗੇਟਵੇ ਦੋਵੇਂ ਦਿਸ਼ਾਵਾਂ ਵਿੱਚ ਫਾਰਵਰਡ ਕਰਦਾ ਹੈ, ਅਤੇ ਮੰਜ਼ਿਲ ਉਹ ਸਰੋਤ ਵੇਖਦੀ ਹੈ ਜਿਸ ਲਈ ਤੁਹਾਡੇ ਨਿਯਮ ਲਿਖੇ ਗਏ ਸਨ।
  • ਜਾਂਚ ਪਾਸ ਹੋਣ ਲਈ ਕੋਈ ਕੰਟਰੋਲ ਬੰਦ ਨਹੀਂ ਕੀਤਾ ਗਿਆ, ਅਤੇ ਤੁਹਾਡੇ ਬਦਲਾਅ ਵਿੱਚ ਇੱਕ ਸਰੋਤ ਰੇਂਜ ਅਤੇ ਇੱਕ ਪੋਰਟ ਦਾ ਨਾਂ ਹੈ।

ਸੰਬੰਧਿਤ ਲੇਖ