ESP ਇੱਕ IP ਪ੍ਰੋਟੋਕੋਲ 50 ਹੈ, TCP ਪੋਰਟ 50 ਨਹੀਂ: ਕੀ ਮਨਜ਼ੂਰ ਕਰਨਾ ਹੈ
ਪ੍ਰੋਟੋਕੋਲ ਨੰਬਰ ਅਤੇ ਪੋਰਟ ਨੰਬਰ ਵੱਖਰੇ ਨਾਮ-ਥਾਂ ਹਨ। TCP ਪੋਰਟ 50 ਲਈ ਨਿਯਮ ਕੁਝ ਵੀ ਮਨਜ਼ੂਰ ਨਹੀਂ ਕਰਦਾ, ਅਤੇ NAT ਟ੍ਰਾਵਰਸਲ ESP ਨੂੰ UDP 4500 ਵਿੱਚ ਭੇਜਦਾ ਹੈ।
ਫਾਇਰਵਾਲ ਫਾਰਮ TCP ਪੋਰਟ ਮੰਗਦੇ ਹਨ, ਅਤੇ ਸਪੱਸ਼ਟ ਐਂਟਰੀ 50 ਹੈ। ਉਹ ਐਂਟਰੀ ਕੁਝ ਵੀ ਮਨਜ਼ੂਰ ਨਹੀਂ ਕਰਦੀ, ਕਿਉਂਕਿ ESP IP ਪ੍ਰੋਟੋਕੋਲ ਨੰਬਰ 50 ਹੈ ਅਤੇ ਪ੍ਰੋਟੋਕੋਲ ਨੰਬਰ ਪੋਰਟ ਨਹੀਂ ਹੁੰਦੇ। ਦੋਵੇਂ ਨਾਮ-ਥਾਂ ਸਿਰਫ਼ ਛੋਟੇ ਪੂਰਨ ਅੰਕ ਸਾਂਝੇ ਕਰਦੇ ਹਨ ਅਤੇ ਹੋਰ ਕੁਝ ਨਹੀਂ, ਅਤੇ ਗਲਤੀ IKE ਖਤਮ ਹੋਣ ਅਤੇ ਸੁਰੱਖਿਅਤ ਟ੍ਰੈਫਿਕ ਕਦੇ ਨਾ ਪਹੁੰਚਣ ਤੱਕ ਅਦਿੱਖ ਰਹਿੰਦੀ ਹੈ।
ਛੋਟੇ ਅੰਕ ਸਾਂਝੇ ਕਰਨ ਵਾਲੇ ਦੋ ਨਾਮ-ਥਾਂ
IP ਹੈਡਰ ਵਿੱਚ ਇੱਕ ਪ੍ਰੋਟੋਕੋਲ ਫੀਲਡ ਹੁੰਦਾ ਹੈ ਜੋ ਦੱਸਦਾ ਹੈ ਕਿ ਅੱਗੇ ਕੀ ਆਉਂਦਾ ਹੈ: TCP ਲਈ 6, UDP ਲਈ 17, ICMP ਲਈ 1, ESP ਲਈ 50, AH ਲਈ 51। TCP ਜਾਂ UDP ਹੈਡਰ ਵਿੱਚ ਪੋਰਟ ਨੰਬਰ ਹੁੰਦੇ ਹਨ, ਜੋ ਮੰਜ਼ਿਲ ਹੋਸਟ ਉੱਤੇ ਪ੍ਰਕਿਰਿਆ ਚੁਣਦੇ ਹਨ। ਪ੍ਰੋਟੋਕੋਲ 50 ਅਤੇ TCP ਪੋਰਟ 50 ਅਸੰਬੰਧਿਤ ਮੁੱਲ ਹਨ, ਪਰ ਇੱਕ ਸੰਵਾਦ ਬਕਸਾ ਉਨ੍ਹਾਂ ਨੂੰ ਬਦਲਣਯੋਗ ਦਿਖਾ ਸਕਦਾ ਹੈ।
ਇਸ ਲਈ ਪੋਰਟ ਫਾਰਵਰਡਿੰਗ ਨਿਯਮ ਮੂਲ ESP ਨੂੰ ਪ੍ਰਗਟ ਨਹੀਂ ਕਰ ਸਕਦਾ। ਫਾਰਵਰਡ ਕਰਨ ਲਈ ਕੋਈ ESP ਮੰਜ਼ਿਲ ਪੋਰਟ ਨਹੀਂ, ਅਤੇ ਸਿਰਫ਼ ਪੋਰਟ ਨਿਯਮ ਸਮਝਣ ਵਾਲੇ ਯੰਤਰ ਕੋਲ ਉਸ ਪੈਕੇਟ ਲਈ ਕੋਈ ਸ਼ਬਦਾਵਲੀ ਹੀ ਨਹੀਂ। ਸਹੀ ਨਿਯਮ ਇਸਦੀ ਥਾਂ IP ਪ੍ਰੋਟੋਕੋਲ ਦਾ ਨਾਮ ਲੈਂਦਾ ਹੈ। ਕੋਈ ਵੀ ਪੋਰਟ ਸੰਵਾਦ ਉਸ ਪੈਕੇਟ ਲਈ ਗਲਤ ਸਾਧਨ ਹੈ।
ਉਲਝਣ ਦਾ ਦੂਜਾ ਅੱਧ ਵੀ ਹੈ। ਜਦੋਂ ਪੈਕੇਟ ਐਨਕ੍ਰਿਪਟ ਹੁੰਦਾ ਹੈ, ਤਾਂ ਇਸਦੇ ਅੰਦਰ ਸਭ ਕੁਝ ਅਪਾਰਦਰਸ਼ੀ ਹੁੰਦਾ ਹੈ, ਮੂਲ ਕਨੈਕਸ਼ਨ ਦਾ TCP ਹੈਡਰ ਵੀ। ਉਸ ਪੈਕੇਟ ਉੱਤੇ ਪੋਰਟ ਜਾਂਚਣ ਵਾਲਾ ਫਾਇਰਵਾਲ ਬਾਹਰਲਾ ਹੈਡਰ ਵੇਖ ਰਿਹਾ ਹੈ, ਜਿਸ ਵਿੱਚ ਮੂਲ ਹਾਲਤ ਵਿੱਚ ਜਾਂਚਣ ਲਈ ਪੋਰਟ ਹੀ ਨਹੀਂ ਹੁੰਦੇ।
ਮੂਲ ESP, ਫਿਰ ਐਨਕੈਪਸੂਲੇਟਿਡ ਬਦਲ
ਮੂਲ ESP ਸਿੱਧਾ IP ਪ੍ਰੋਟੋਕੋਲ ਵਜੋਂ ਢੋਇਆ ਜਾਂਦਾ ਹੈ, ਜੋ ਬਰਾਬਰ ਕੁਸ਼ਲ ਅਤੇ ਅਸੁਵਿਧਾਜਨਕ ਹੈ। ਕੁਸ਼ਲ ਕਿਉਂਕਿ ਕੋਈ ਵਾਧੂ ਹੈਡਰ ਨਹੀਂ, ਅਤੇ ਅਸੁਵਿਧਾਜਨਕ ਕਿਉਂਕਿ ਪਤੇ ਅਤੇ ਪੋਰਟ ਦਾ ਅਨੁਵਾਦ ਕਰਨ ਵਾਲਾ ਕੋਈ ਵੀ ਯੰਤਰ ਇਸਨੂੰ ਟ੍ਰੈਕ ਨਹੀਂ ਕਰ ਸਕਦਾ। NAT ਟ੍ਰਾਵਰਸਲ ਇਹੀ ਹੱਲ ਕਰਨ ਲਈ ਹੈ: ESP ਪੈਕੇਟ ਨੂੰ UDP ਅੰਦਰ ਲਪੇਟ ਕੇ, ਤਾਂ ਜੋ ਅਨੁਵਾਦਕ ਕੋਲ ਦੁਬਾਰਾ ਲਿਖਣ ਲਈ ਪੋਰਟ ਹੋਣ।
| Form on the wire | How it is identified | What the firewall must permit |
|---|---|---|
| IKE negotiation | UDP with a destination port | UDP 500, and 4500 once traversal is detected |
| Native ESP | IP protocol 50 in the outer header | The protocol itself, with no port to name |
| ESP inside UDP | UDP 4500 carrying an ESP payload | The UDP port pair, which translation devices can track |
ਦੋਵੇਂ ਰੂਪ ਇੱਕੋ ਡੇਟਾ ਚੈਨਲ ਦੀਆਂ ਬਦਲਵੀਆਂ ਤੈਨਾਤੀਆਂ ਹਨ, ਇੱਕ ਦੀਆਂ ਪਰਤਾਂ ਨਹੀਂ। ਮੂਲ ESP ਦੀ ਮਨਜ਼ੂਰੀ ਐਨਕੈਪਸੂਲੇਟਿਡ ਰੂਪ ਨੂੰ ਮਨਜ਼ੂਰ ਨਹੀਂ ਕਰਦੀ, ਅਤੇ UDP 4500 ਦੀ ਮਨਜ਼ੂਰੀ ਮੂਲ ਟ੍ਰੈਫਿਕ ਨੂੰ ਮਨਜ਼ੂਰ ਨਹੀਂ ਕਰਦੀ, ਇਸ ਲਈ ਨਿਯਮ ਸਮੂਹ ਨੂੰ ਤੈਨਾਤੀ ਨਾਲ ਮੇਲ ਖਾਣਾ ਚਾਹੀਦਾ ਹੈ, ਇਤਫ਼ਾਕਨ ਦੋਵੇਂ ਢਕਣੇ ਨਹੀਂ।
ਇੱਥੇ ਪਛਾਣ ਵੀ ਮਹੱਤਵਪੂਰਨ ਹੈ। ਅੰਤ ਬਿੰਦੂ ਗੱਲਬਾਤ ਦੌਰਾਨ ਰੂਪਾਂ ਵਿਚਕਾਰ ਫੈਸਲਾ ਕਰਦੇ ਹਨ, ਅਤੇ ਤਬਦੀਲੀ ਆਮ ਤੌਰ ਉੱਤੇ ਉਦੋਂ ਹੁੰਦੀ ਹੈ ਜਦੋਂ ਉਨ੍ਹਾਂ ਵਿਚਕਾਰ NAT ਪਛਾਣਿਆ ਜਾਂਦਾ ਹੈ। ਇਸ ਲਈ ਸੁਰੰਗ ਬਣਨ ਤੋਂ ਬਾਅਦ ਬਦਲਣ ਵਾਲਾ ਰਾਹ ਟ੍ਰੈਫਿਕ ਨੂੰ ਉਸ ਨਾਮ-ਥਾਂ ਵਿੱਚ ਲੈ ਜਾ ਸਕਦਾ ਹੈ ਜਿਸਨੂੰ ਤੁਹਾਡੇ ਨਿਯਮਾਂ ਨੇ ਕਦੇ ਨਹੀਂ ਢਕਿਆ।
ਪੜ੍ਹੋ ਕਿ ਕਨੈਕਸ਼ਨ ਅਸਲ ਵਿੱਚ ਕਿਹੜਾ ਰੂਪ ਵਰਤਦਾ ਹੈ
ਫਾਇਰਵਾਲ ਤੋਂ ਅੰਦਾਜ਼ਾ ਲਾਉਣ ਦੀ ਥਾਂ ਅੰਤ ਬਿੰਦੂ ਨੂੰ ਪੁੱਛੋ। Linux ਵਿੱਚ ਸਥਿਤੀ ਐਂਟਰੀ ਦੱਸਦੀ ਹੈ ਕਿ ਐਸੋਸੀਏਸ਼ਨ UDP ਐਨਕੈਪਸੂਲੇਸ਼ਨ ਵਰਤਦੀ ਹੈ ਜਾਂ ਨਹੀਂ ਅਤੇ ਕਿਹੜੇ ਪੋਰਟ ਸ਼ਾਮਲ ਹਨ। ਪੈਕੇਟ ਕੈਪਚਰ ਤਾਰ ਤੋਂ ਉਸੇ ਸਵਾਲ ਦਾ ਜਵਾਬ ਦਿੰਦਾ ਹੈ, ਅਤੇ ਦੋਵੇਂ ਨਿਯਮ ਸਮੂਹ ਪੜ੍ਹ ਕੇ ਆਸ ਰੱਖਣ ਨਾਲੋਂ ਤੇਜ਼ ਹਨ।
ip xfrm state | grep -A3 encap
tcpdump -ni any 'ip proto 50 or udp port 4500'
ਪਹਿਲਾ ਕਮਾਂਡ NAT ਟ੍ਰਾਵਰਸਲ ਵਰਤੇ ਜਾਣ ਵੇਲੇ ਐਨਕੈਪਸੂਲੇਸ਼ਨ ਕਿਸਮ ਦਿਖਾਉਂਦਾ ਹੈ ਅਤੇ ਨਾ ਵਰਤੇ ਜਾਣ ਵੇਲੇ ਕੁਝ ਨਹੀਂ। ਦੂਜਾ ਦਿਖਾਉਂਦਾ ਹੈ ਕਿ ਦੋ ਰੂਪਾਂ ਵਿੱਚੋਂ ਕਿਹੜਾ ਅਸਲ ਵਿੱਚ ਇੰਟਰਫੇਸ ਪਾਰ ਕਰ ਰਿਹਾ ਹੈ, ਅਤੇ ਇਹ ਕਾਗਜ਼ ਉੱਤੇ ਸਹੀ ਦਿਸਦੀ ਸੰਰਚਨਾ ਬਾਰੇ ਬਹਿਸਾਂ ਖਤਮ ਕਰਦਾ ਹੈ।
ਵਿਰੋਧੀ ਸਬੂਤ ਵੀ ਉਸੇ ਕਦਮ ਦਾ ਹਿੱਸਾ ਹੈ। ਸਿਫ਼ਰ ਮਿਲਾਨ ਦੱਸਣ ਵਾਲਾ ਨਿਯਮ ਤੁਹਾਨੂੰ ਦੱਸਦਾ ਹੈ ਕਿ ਪੈਕੇਟ ਕਦੇ ਉਸ ਤੱਕ ਨਹੀਂ ਪਹੁੰਚਿਆ, ਅਤੇ ਇਹ ਫਾਇਰਵਾਲ ਦਾ ਨਹੀਂ, ਰਾਊਟਿੰਗ ਜਾਂ ਚੋਣਕਾਰ ਦਾ ਸਵਾਲ ਹੈ।
ਫਿਰ ਨਿਯੰਤਰਣ ਚੈਨਲ ਵੱਖਰੇ ਤੌਰ ਉੱਤੇ ਪੁਸ਼ਟੀ ਕਰੋ। IKE ਦੇ ਆਪਣੇ ਪੋਰਟ ਅਤੇ ਆਪਣੇ ਲਾਗ ਹਨ, ਅਤੇ ਡੇਟਾ ਬਿਨਾ ਪੂਰੀ ਹੋਈ ਗੱਲਬਾਤ ਉਹੀ ਵੰਡ ਹੈ ਜਿਸ ਬਾਰੇ ਇਹ ਲੇਖ ਹੈ।
ਨਿਯਮ ਸਹੀ ਨਾਮ-ਥਾਂ ਵਿੱਚ ਲਿਖੋ
ਪ੍ਰੋਟੋਕੋਲ ਨਿਯਮ ਅਤੇ ਪੋਰਟ ਨਿਯਮ ਵੱਖਰੀਆਂ ਹਦਾਇਤਾਂ ਹਨ, ਇਸ ਲਈ ਸਾਧਨ ਨੂੰ ਉਹੀ ਪ੍ਰਗਟ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ ਜੋ ਤੁਹਾਡਾ ਮਤਲਬ ਹੈ। nftables ਵਿੱਚ ਪ੍ਰੋਟੋਕੋਲ ਮਿਲਾਨ ਸਪੱਸ਼ਟ ਹੈ, ਅਤੇ ਐਨਕੈਪਸੂਲੇਟਿਡ ਬਦਲ ਨੂੰ ਆਪਣਾ UDP ਨਿਯਮ ਮਿਲਦਾ ਹੈ। ਦੋਵੇਂ ਨਿਯਮਾਂ ਨੂੰ ਨਾਲ-ਨਾਲ ਰੱਖੋ ਤਾਂ ਜੋ ਸਮੀਖਿਆ ਵਿੱਚ ਜੋੜੀ ਦਿਸੇ।
nft add rule inet filter input ip protocol esp accept
nft add rule inet filter input udp dport { 500, 4500 } accept
ਗਲਤ ਨਿਦਾਨ ਦੀ ਭਰਪਾਈ ਲਈ ਕਿਸੇ ਵੀ ਨਿਯਮ ਨੂੰ ਚੌੜਾ ਕਰਨ ਦੇ ਲਾਲਚ ਦਾ ਵਿਰੋਧ ਕਰੋ। ਹਰ ਇੰਟਰਫੇਸ ਉੱਤੇ ESP ਪ੍ਰੋਟੋਕੋਲ ਲਈ ਸਭ ਮਨਜ਼ੂਰ ਕਰਨਾ, ਜਾਂ ਕਿਤੇ ਤੋਂ ਕਿਤੇ ਤੱਕ UDP ਮਨਜ਼ੂਰੀ, ਲੱਛਣ ਸੁਧਾਰਦਾ ਹੈ ਅਤੇ ਤੁਹਾਡੇ ਵੱਲੋਂ ਸੈੱਟ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ ਨਿਯੰਤਰਣ ਹਟਾ ਦਿੰਦਾ ਹੈ। ਰੂਪ ਪਤਾ ਹੋਣ ਤੋਂ ਬਾਅਦ ਤੰਗ ਸਮਰਥਿਤ ਪ੍ਰਵਾਹ ਲਗਭਗ ਹਮੇਸ਼ਾ ਕਾਫ਼ੀ ਹੁੰਦਾ ਹੈ।
ਅੰਤ ਵਿੱਚ, ਸੁਰੰਗ ਚੱਲਦੀ ਹੈ ਪਰ ਐਪਲੀਕੇਸ਼ਨ ਨਹੀਂ ਚੱਲਦੀ, ਤਾਂ ਪਰਤਾਂ ਸਿੱਧੀਆਂ ਰੱਖੋ. ਗੇਟਵੇ ਉੱਤੇ ਪਹੁੰਚਣ ਵਾਲੇ ਪੈਕੇਟ ਨੂੰ ਅਜੇ ਵੀ ਫਾਰਵਰਡਿੰਗ, ਵਾਪਸੀ ਰਾਹ ਅਤੇ ਉਨ੍ਹਾਂ ਨੂੰ ਸਵੀਕਾਰ ਕਰਨ ਵਾਲੀ ਨੀਤੀ ਚਾਹੀਦੀ ਹੈ, ਅਤੇ ਇਨ੍ਹਾਂ ਵਿੱਚੋਂ ਕੋਈ ਵੀ ESP ਨਿਯਮ ਪ੍ਰਗਟ ਨਹੀਂ ਕਰਦਾ। ਗੁੰਮ ਪੋਰਟ ਇੱਕ ਖਾਸ ਅਸਫਲਤਾ ਦੱਸਦਾ ਹੈ, ਹਰ IPsec ਅਸਫਲਤਾ ਨਹੀਂ। ਨਿਯਮ ਸੁਧਾਰ ਅਤੇ ਰਾਊਟਿੰਗ ਜਾਂਚ ਨੂੰ ਦੋ ਵੱਖਰੇ ਸਿੱਟਿਆਂ ਵਜੋਂ ਰੱਖੋ।
ਤੁਸੀਂ ਜੋ ਰੂਪ ਦੇਖਿਆ, ਜੋ ਪ੍ਰੋਟੋਕੋਲ ਨਿਯਮ ਜੋੜਿਆ ਅਤੇ ਬਾਅਦ ਵਿੱਚ ਜੋ ਕਾਊਂਟਰ ਦੇਖਿਆ, ਉਹ ਦਰਜ ਕਰੋ। ਤਿੰਨ ਲਾਈਨਾਂ, ਅਤੇ ਅਗਲਾ ਵਿਅਕਤੀ ਦੁਪਹਿਰ ਦੀ ਥਾਂ ਇੱਕ ਮਿੰਟ ਵਿੱਚ ਨਾਮ-ਥਾਂ ਦੀ ਗਲਤੀ ਨੂੰ ਰਾਊਟਿੰਗ ਦੀ ਗਲਤੀ ਤੋਂ ਵੱਖ ਕਰ ਸਕੇਗਾ।