ਹੈਂਡਸ਼ੇਕ ਚੱਲ ਰਿਹਾ, ਪਤਾ ਗਿਆ: WireGuard ਦੀਆਂ ਤਿੰਨ ਹਾਲਤਾਂ
ਨਵਾਂ ਹੈਂਡਸ਼ੇਕ ਸਾਬਤ ਕਰਦਾ ਹੈ ਕਿ ਪੀਅਰ ਨੇ ਜਵਾਬ ਦਿੱਤਾ, ਇਹ ਨਹੀਂ ਕਿ ਇੰਟਰਫ਼ੇਸ ਆਪਣਾ ਪਤਾ ਰੱਖਦਾ ਹੈ ਜਾਂ ਅਗਲਾ ਪੈਕਟ ਸੋਚੀ ਅਪਲਿੰਕ ਰਾਹੀਂ ਜਾਂਦਾ ਹੈ।
WireGuard ਇੱਕੋ ਸਮੇਂ ਨਵਾਂ ਹੈਂਡਸ਼ੇਕ ਅਤੇ ਕੋਈ ਪਤਾ ਨਹੀਂ, ਦੋਵੇਂ ਰੱਖ ਸਕਦਾ ਹੈ, ਅਤੇ ਉਹ ਹਾਲਤ ਵਿਰੋਧਾਭਾਸੀ ਨਹੀਂ ਸਗੋਂ ਸੁਸੰਗਤ ਹੈ। ਹੈਂਡਸ਼ੇਕ ਪੀਅਰ ਦੀ ਘਟਨਾ ਹੈ, ਪਤਾ ਇੰਟਰਫ਼ੇਸ ਦਾ ਹੈ, ਅਤੇ ਰੂਟ ਤੈਅ ਕਰਦਾ ਹੈ ਕਿ ਪੈਕਟ ਕਿਸ ਅਪਲਿੰਕ ਰਾਹੀਂ ਬਾਹਰ ਜਾਂਦਾ ਹੈ। ਤਿੰਨ ਪਰਤਾਂ, ਤਿੰਨ ਮਾਲਕ, ਅਤੇ ਬਾਕੀ ਦੋ ਸਿਹਤਮੰਦ ਦਿਸਦੇ ਹੋਣ ਦੇ ਬਾਵਜੂਦ ਹਰ ਇੱਕ ਫੇਲ੍ਹ ਹੋ ਸਕਦਾ ਹੈ।
ਇਹਨਾਂ ਨੂੰ ਇੱਕੋ ਹਾਲਤ ਵਜੋਂ ਪੜ੍ਹਨਾ ਹੀ ਦੋ ਮਿੰਟ ਦੇ ਨਿਦਾਨ ਨੂੰ ਸੇਵਾਵਾਂ ਮੁੜ ਚਾਲੂ ਕਰਨ ਵਿੱਚ ਲੱਗਣ ਵਾਲੀ ਪੂਰੀ ਦੁਪਹਿਰ ਵਿੱਚ ਬਦਲ ਦਿੰਦਾ ਹੈ।
ਹੈਂਡਸ਼ੇਕ ਪੀਅਰ ਦੀ ਘਟਨਾ ਹੈ, ਪਤਾ ਦੇਣ ਦੀ ਘਟਨਾ ਨਹੀਂ
WireGuard ਦਾ ਹੈਂਡਸ਼ੇਕ ਸਾਬਤ ਕਰਦਾ ਹੈ ਕਿ ਸੰਰਚਿਤ ਪੀਅਰ ਨੇ ਵੈਧ ਕੁੰਜੀ ਨਾਲ ਜਵਾਬ ਦਿੱਤਾ ਅਤੇ ਸੈਸ਼ਨ ਕੁੰਜੀਆਂ ਮੌਜੂਦਾ ਹਨ। ਇਹ ਇੰਟਰਫ਼ੇਸ ਉੱਤੇ ਸਥਾਨਕ ਪਤੇ ਬਾਰੇ ਕੁਝ ਨਹੀਂ ਕਹਿੰਦਾ, ਅਤੇ ਇਹ ਵੀ ਨਹੀਂ ਕਿ ਕੋਈ ਰੂਟ ਉੱਥੇ ਵੱਲ ਇਸ਼ਾਰਾ ਕਰਦਾ ਹੈ। ਪਤਾ ਸਹਾਇਕ ਜਾਂ ਨੈੱਟਵਰਕ ਮੈਨੇਜਰ ਦਿੰਦਾ ਹੈ, ਜਦੋਂ ਕਿ ਪ੍ਰੋਟੋਕੋਲ ਸੰਰਚਨਾ ਸਿਰਫ਼ ਪੀਅਰ ਅਤੇ ਕੁੰਜੀਆਂ ਦੇ ਨਾਂ ਗਿਣਦੀ ਹੈ। ਇਹਨਾਂ ਦੋਹਾਂ ਨੂੰ ਮਿਲਾਉਣਾ ਹੀ ਸਿਹਤਮੰਦ ਹੈਂਡਸ਼ੇਕ ਨੂੰ ਕੰਮ ਕਰਦੀ ਟਨਲ ਵਜੋਂ ਪੜ੍ਹਨ ਦਾ ਕਾਰਨ ਹੈ।
ਇਸੇ ਲਈ wg show ਅਜਿਹੇ ਇੰਟਰਫ਼ੇਸ ਉੱਤੇ ਸਕਿੰਟ ਪੁਰਾਣਾ ਹੈਂਡਸ਼ੇਕ ਦੱਸ ਸਕਦਾ ਹੈ ਜੋ ਕਿਸੇ ਐਪਲੀਕੇਸ਼ਨ ਤੋਂ ਇੱਕ ਵੀ ਪੈਕਟ ਨਹੀਂ ਲੈ ਸਕਦਾ।
ਇੰਟਰਫ਼ੇਸ ਮੁੜ ਬਣਾਉਣ ਵਾਲਾ ਮੈਨੇਜਰ ਪੀਅਰ ਸੰਰਚਨਾ ਨੂੰ ਛੋਹੇ ਬਿਨਾਂ ਪਤਾ ਡੇਗ ਸਕਦਾ ਹੈ, ਅਤੇ ਅਗਲਾ ਹੈਂਡਸ਼ੇਕ ਤੁਰੰਤ ਸਫਲ ਹੁੰਦਾ ਹੈ ਕਿਉਂਕਿ ਕੁੰਜੀਆਂ ਕਦੇ ਬਦਲੀਆਂ ਨਹੀਂ। ਸਫਲ ਹੈਂਡਸ਼ੇਕ ਬਾਰੇ ਲਾਗ ਲਾਈਨ ਸਟੀਕ ਹੈ ਅਤੇ ਖ਼ਰਾਬੀ ਨਾਲ ਸੰਬੰਧਹੀਣ ਹੈ।
| Observation | Which layer it belongs to | Wrong conclusion it invites |
|---|---|---|
| Handshake a few seconds old | Peer and keys | The tunnel is usable for application traffic |
Address present on wg0 | Interface configuration | Traffic actually egresses through it |
Route points at wg0 | Forwarding table | The outer packet uses the intended uplink |
ਇੰਟਰਫ਼ੇਸ ਦੇ ਪਤੇ ਦਾ ਆਪਣਾ ਮਾਲਕ ਹੁੰਦਾ ਹੈ
ਟਨਲ ਡਿਵਾਈਸ ਉੱਤੇ ਪਤਾ ਸਹਾਇਕ ਦੀ Address ਲਾਈਨ ਤੋਂ, ਇੰਟਰਫ਼ੇਸ ਉੱਤੇ ਚੱਲ ਰਹੇ DHCP ਕਲਾਇੰਟ ਤੋਂ, ਜਾਂ ਕਨੈਕਟ ਸਮੇਂ ਉਹ ਬਣਾਉਣ ਵਾਲੇ ਪ੍ਰਬੰਧਨ ਡੀਮਨ ਤੋਂ ਆ ਸਕਦਾ ਹੈ। ਜੋ ਵੀ ਹੋਵੇ, ਉਹੀ ਹਿੱਸਾ ਪਤੇ ਦਾ ਮਾਲਕ ਹੈ ਅਤੇ ਆਪਣੇ ਤਰਕ ਅਨੁਸਾਰ ਉਸਨੂੰ ਬਹਾਲ ਕਰੇਗਾ ਜਾਂ ਨਹੀਂ। ਮਾਲਕ ਦਾ ਨਾਂ ਲਏ ਬਿਨਾਂ ਪਤਾ ਪੜ੍ਹਨ ਨਾਲ ਇਹ ਨਹੀਂ ਦੱਸ ਸਕੋਗੇ ਕਿ ਉਹ ਕਿਉਂ ਗਾਇਬ ਹੋਇਆ।
ਇੱਕ ਇੰਟਰਫ਼ੇਸ ਉੱਤੇ ਦੋ ਮਾਲਕ ਆਮ ਖ਼ਰਾਬੀ ਹੈ। ਇੱਕੋ ਡਿਵਾਈਸ ਉੱਤੇ ਸਹਾਇਕ ਅਤੇ ਡੈਸਕਟਾਪ ਨੈੱਟਵਰਕ ਮੈਨੇਜਰ ਚਾਲੂ ਕਰਨ ਨਾਲ ਇੱਕ ਦੂਜੇ ਵੱਲੋਂ ਹੁਣੇ ਸੰਰਚਿਤ ਕੀਤਾ ਹਟਾਉਣ ਦੀ ਦੌੜ ਬਣਦੀ ਹੈ, ਅਤੇ ਐਂਡਪੌਇੰਟ ਉਸ ਸਾਰੇ ਸਮੇਂ ਜਵਾਬ ਦਿੰਦਾ ਰਹਿੰਦਾ ਹੈ।
ਇੱਕ ਮਾਲਕ ਚੁਣੋ ਅਤੇ ਦੂਜੇ ਸਾਧਨ ਨੂੰ ਪ੍ਰਬੰਧਨ ਦੀ ਥਾਂ ਨਿਰੀਖਣ ਕਰਨ ਦਿਓ। ਉਹ ਫ਼ੈਸਲਾ ਲਿਖਣ ਯੋਗ ਹੈ, ਕਿਉਂਕਿ ਲੱਛਣ ਹਫ਼ਤਿਆਂ ਬਾਅਦ ਦਿਸਦਾ ਹੈ ਅਤੇ ਪਤੇ ਦੇ ਅਚਾਨਕ ਨੁਕਸਾਨ ਵਰਗਾ ਲੱਗਦਾ ਹੈ।
ਰੂਟ ਅਪਲਿੰਕ ਚੁਣਦਾ ਹੈ, ਇੰਟਰਫ਼ੇਸ ਨਹੀਂ
wg0 ਵੱਲ ਇਸ਼ਾਰਾ ਕਰਨ ਵਾਲਾ ਅੰਦਰੂਨੀ ਰੂਟ ਟ੍ਰੈਫ਼ਿਕ ਟਨਲ ਵਿੱਚ ਦਾਖਲ ਹੁੰਦਾ ਹੈ ਇਹ ਤੈਅ ਕਰਦਾ ਹੈ। ਵੱਖਰਾ ਫ਼ੈਸਲਾ ਐਨਕ੍ਰਿਪਟ ਕੀਤੇ ਬਾਹਰੀ ਪੈਕਟ ਪੀਅਰ ਵੱਲ ਭੇਜਦਾ ਹੈ, ਅਤੇ ਕਈ ਅਪਲਿੰਕ ਵਾਲੇ ਹੋਸਟ ਉੱਤੇ ਉਹ ਫ਼ੈਸਲਾ ਫਾਰਵਰਡਿੰਗ ਟੇਬਲ ਅਤੇ ਨੀਤੀ ਨਿਯਮਾਂ ਤੋਂ ਆਉਂਦਾ ਹੈ। Wi-Fi ਰੋਮਿੰਗ ਅੰਦਰੂਨੀ ਪਤੇ ਨੂੰ ਛੋਹੇ ਬਿਨਾਂ ਬਾਹਰੀ ਰਾਹ ਬਦਲ ਸਕਦੀ ਹੈ।
ਇਸ ਲਈ ਕੰਮ ਕਰਦੀ ਟਨਲ ਅਤੇ ਅਪਹੁੰਚ ਪੀਅਰ ਸੁਸੰਗਤ ਹਾਲਤਾਂ ਹਨ, ਅਤੇ ਸਹੀ ਪੀਅਰ ਤੇ ਟੁੱਟਿਆ ਅੰਦਰੂਨੀ ਰੂਟ ਵੀ। ਤਿੰਨੇ ਨਿਰੀਖਣ ਇਕੱਠੇ, ਇੱਕੋ ਪਲ ਵਿੱਚ ਲੈਣੇ ਪੈਣਗੇ, ਨਹੀਂ ਤਾਂ ਤੁਲਨਾ ਅਰਥਹੀਣ ਹੈ।
ਤਿੰਨ ਹਾਲਤਾਂ ਦੀ ਇੱਕੋ ਪਾਸ ਵਿੱਚ ਤੁਲਨਾ ਕਰੋ
ਸਿਰਫ਼-ਪੜ੍ਹਨ ਵਾਲੇ ਤਿੰਨ ਕਮਾਂਡ ਤਿੰਨ ਸਵਾਲਾਂ ਦੇ ਜਵਾਬ ਉਸ ਕ੍ਰਮ ਵਿੱਚ ਦਿੰਦੇ ਹਨ ਜੋ ਖ਼ਰਾਬੀ ਨੂੰ ਸਭ ਤੋਂ ਤੇਜ਼ ਵੱਖ ਕਰਦਾ ਹੈ। ਇਹਨਾਂ ਨੂੰ ਵਿਚਕਾਰ ਕੁਝ ਬਦਲੇ ਬਿਨਾਂ ਚਲਾਓ।
ip address show dev wg0
ip route get 10.80.0.1
wg show wg0 latest-handshakes transfer
ਪਹਿਲਾ ਦਿਖਾਉਂਦਾ ਹੈ ਕਿ ਇੰਟਰਫ਼ੇਸ ਕੋਲ ਪਤਾ ਹੈ ਵੀ ਜਾਂ ਨਹੀਂ, ਅਤੇ ਦੂਜਾ ਦਿਖਾਉਂਦਾ ਹੈ ਕਿ ਕੋਈ ਖ਼ਾਸ ਮੰਜ਼ਿਲ ਹੁਣ ਕਿਹੜਾ ਡਿਵਾਈਸ ਵਰਤੇਗੀ। ਤੀਜਾ ਆਖ਼ਰੀ ਹੈਂਡਸ਼ੇਕ ਦਾ ਸਮਾਂ ਅਤੇ ਬਾਈਟ ਕਾਊਂਟਰ ਦੱਸਦਾ ਹੈ, ਅਤੇ ਤਿੰਨਾਂ ਵਿੱਚੋਂ ਇਹੀ ਇਕੱਲਾ ਹੈ ਜੋ ਸਥਾਨਕ ਹੋਸਟ ਦੀ ਥਾਂ ਪੀਅਰ ਦਾ ਵਰਣਨ ਕਰਦਾ ਹੈ।
ਟਾਈਮਸਟੈਂਪ ਦੇ ਨਾਲ ਕਾਊਂਟਰ ਵੀ ਪੜ੍ਹੋ। ਟ੍ਰਾਂਸਫ਼ਰ ਸਥਿਰ ਰਹਿੰਦਿਆਂ ਲਗਾਤਾਰ ਨਵੇਂ ਹੁੰਦਾ ਹੈਂਡਸ਼ੇਕ ਮਤਲਬ ਪੀਅਰ ਜਵਾਬ ਦੇ ਰਿਹਾ ਹੈ ਪਰ ਕੋਈ ਕੰਮ ਦੀ ਚੀਜ਼ ਪਾਰ ਨਹੀਂ ਹੋ ਰਹੀ, ਜੋ ਕੁੰਜੀਆਂ ਵੱਲ ਨਹੀਂ ਸਗੋਂ ਰੂਟਿੰਗ ਜਾਂ ACL ਵੱਲ ਇਸ਼ਾਰਾ ਕਰਦਾ ਹੈ। ਪਤਾ ਹੁੰਦਿਆਂ ਟਾਈਮਸਟੈਂਪ ਦਾ ਅੱਗੇ ਵਧਣਾ ਰੁਕਣਾ ਉਲਟਾ ਉੱਪਰ ਵੱਲ ਇਸ਼ਾਰਾ ਕਰਦਾ ਹੈ। ਦੋਵੇਂ ਪਾਠ ਆਉਟਪੁੱਟ ਦੀ ਇੱਕੋ ਲਾਈਨ ਤੋਂ ਆਉਂਦੇ ਹਨ, ਅਤੇ ਸਿਰਫ਼ ਹੈਂਡਸ਼ੇਕ ਹੈ ਕਿ ਨਹੀਂ ਇਹ ਜਾਂਚੋ ਤਾਂ ਕੋਈ ਵੀ ਨਹੀਂ ਦਿਸਦਾ।
ਗ਼ਲਤ ਹਾਲਤ ਨੂੰ ਸੁਧਾਰੋ, ਫਿਰ ਟਨਲ ਨਹੀਂ ਸਗੋਂ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਦੁਬਾਰਾ ਪਰਖੋ। ਨਵਾਂ ਹੈਂਡਸ਼ੇਕ ਪੀਅਰ ਬਾਰੇ ਸਬੂਤ ਹੈ, ਅਤੇ ਪੀਅਰ ਬਾਰੇ ਸਬੂਤ ਇਹ ਸਬੂਤ ਨਹੀਂ ਕਿ ਤੁਹਾਡੇ ਬ੍ਰਾਊਜ਼ਰ ਦੀ ਅਗਲੀ ਬੇਨਤੀ ਪਤਾ, ਰੂਟ ਅਤੇ ਕੰਮ ਕਰਦਾ ਅਪਲਿੰਕ ਲੱਭ ਲਵੇਗੀ। wg-quick ਦਸਤਾਵੇਜ਼ ਸਪੱਸ਼ਟ ਕਹਿੰਦਾ ਹੈ ਕਿ ਇਹਨਾਂ ਵਿੱਚੋਂ ਕਿਹੜਾ ਸਹਾਇਕ ਸੈੱਟ ਕਰਦਾ ਹੈ ਅਤੇ ਕਿਹੜਾ ਪ੍ਰੋਟੋਕੋਲ ਦਾ ਹੈ।