ਸਾਈਟ-ਤੋਂ-ਸਾਈਟ VPN ਵਿੱਚ ਦੂਜਾ ਸਬਨੈੱਟ ਜੋੜਨਾ: ਦੋ ਰਾਹ
ਨੀਤੀ-ਆਧਾਰਿਤ ਟਨਲਾਂ ਨੂੰ ਦੋਵੇਂ ਪਾਸੇ ਮਿਲਦੇ ਸਿਲੈਕਟਰ ਚਾਹੀਦੇ ਹਨ; ਰੂਟ-ਆਧਾਰਿਤ ਨੂੰ ਰੂਟ ਚਾਹੀਦਾ ਹੈ। ਸਹੀ ਰਾਹ ਚੁਣੋ ਅਤੇ ਪਹਿਲਾਂ ਵਾਪਸੀ ਰੂਟ ਠੀਕ ਕਰੋ।
ਚੱਲ ਰਹੀ ਸਾਈਟ-ਤੋਂ-ਸਾਈਟ ਟਨਲ ਵਿੱਚ ਦੂਜਾ ਸਬਨੈੱਟ ਜੋੜਨ ਨੂੰ ਇੱਕ ਡਿਜ਼ਾਈਨ ਵਿੱਚ ਪੰਜ ਮਿੰਟ ਅਤੇ ਦੂਜੇ ਵਿੱਚ ਲਗਭਗ ਸਾਰੀ ਦੁਪਹਿਰ ਲੱਗਦੀ ਹੈ। ਜਦੋਂ ਟਨਲ ਤੁਹਾਡੇ ਦੱਸੇ ਪ੍ਰੀਫਿਕਸ ਲਈ ਰੂਟ ਲਾਉਂਦੀ ਹੈ, ਤੁਸੀਂ ਇੱਕ ਰੂਟ ਜੋੜਦੇ ਹੋ ਅਤੇ ਟ੍ਰੈਫਿਕ ਉਸ ਦਾ ਪਿੱਛਾ ਕਰਦਾ ਹੈ। ਜਦੋਂ ਇਹ ਇੱਕ ਸਥਿਰ ਸਿਲੈਕਟਰ ਜੋੜੀ ਉੱਤੇ ਗੱਲ ਕਰਦੀ ਹੈ, ਦੋਵੇਂ ਪਾਸੇ ਮਿਲਦੀ ਜੋੜੀ ਉੱਤੇ ਸਹਿਮਤ ਹੋਣ ਤੱਕ ਨਵਾਂ ਪ੍ਰੀਫਿਕਸ ਬਿਨਾਂ ਸੁਰੱਖਿਆ ਦੇ ਰਹਿੰਦਾ ਹੈ। ਤਿੰਨ ਗੱਲਾਂ ਫੈਸਲਾ ਕਰਦੀਆਂ ਹਨ: ਹਰ ਪਾਸੇ ਦੀ ਸੰਰਚਨਾ ਅਸਲ ਵਿੱਚ ਕੀ ਦੱਸਦੀ ਹੈ, ਗੱਲਬਾਤ ਵਾਲਾ ਟ੍ਰੈਫਿਕ ਸਭ ਤੋਂ ਛੋਟੀ ਮਿਲਦੀ ਜੋੜੀ ਤੱਕ ਸੁੰਗੜਦਾ ਹੈ ਜਾਂ ਨਹੀਂ, ਅਤੇ ਨਵੀਂ ਰੇਂਜ ਦਾ ਵਾਪਸੀ ਰਾਹ ਕਿਸ ਦਾ ਹੈ।
ਸਥਿਤੀ ਲੇਬਲ ਨਹੀਂ, ਕਰਨਲ ਪੜ੍ਹੋ
ਜੁੜਿਆ ਦੱਸਣ ਵਾਲੀ ਟਨਲ ਨੇ ਘੱਟੋ-ਘੱਟ ਇੱਕ ਚਾਈਲਡ ਐਸੋਸੀਏਸ਼ਨ ਲਾਈ ਹੈ, ਪਰ ਜ਼ਰੂਰੀ ਨਹੀਂ ਉਹੀ ਜੋ ਤੁਸੀਂ ਸੋਚਦੇ ਹੋ। Linux ਵਿੱਚ ਕਰਨਲ ਦਿਖਾਉਂਦਾ ਹੈ ਕਿ ਕੀ ਲਾਗੂ ਹੁੰਦਾ ਹੈ: ip xfrm policy ਸਿਲੈਕਟਰ ਜੋੜੀਆਂ ਦੀ ਸੂਚੀ ਦਿੰਦਾ ਹੈ ਅਤੇ swanctl --list-sas (ਜਾਂ ਪੁਰਾਣਾ ipsec statusall) ਦੱਸਦਾ ਹੈ ਕਿ ਦੋਵੇਂ ਪਾਸਿਆਂ ਨੇ ਕੀ ਤੈਅ ਕੀਤਾ, ਹਰ ਦਿਸ਼ਾ ਦੇ ਟ੍ਰੈਫਿਕ ਸਿਲੈਕਟਰ ਸਮੇਤ। ਨਵਾਂ ਪ੍ਰੀਫਿਕਸ ਦੋਵਾਂ ਵਿੱਚ ਨਾ ਹੋਵੇ ਤਾਂ ਸੰਰਚਨਾ ਫਾਈਲ ਕੁਝ ਵੀ ਕਹੇ, ਇਹ ਬਿਨਾਂ ਸੁਰੱਖਿਆ ਦੇ ਹੈ।
ਇਸ ਦੀ ਤੁਲਨਾ ਰੂਟ ਟੇਬਲ ਨਾਲ ਕਰੋ। ਰੂਟ-ਆਧਾਰਿਤ ਬੰਦੋਬਸਤ ਵਿੱਚ ਟਨਲ ਜੰਤਰ ਸੁਰੱਖਿਅਤ ਪ੍ਰੀਫਿਕਸ ਲਈ ਅਗਲਾ ਹਾਪ ਹੈ। ਨੀਤੀ-ਆਧਾਰਿਤ ਬੰਦੋਬਸਤ ਵਿੱਚ ਦੂਰਲੇ ਸਬਨੈੱਟ ਲਈ ਵੱਖਰਾ ਰੂਟ ਅਕਸਰ ਨਹੀਂ ਹੁੰਦਾ, ਸਿਰਫ਼ ਡਿਫਾਲਟ ਰੂਟ, ਕਿਉਂਕਿ ਟ੍ਰੈਫਿਕ ਟੇਬਲ ਨਹੀਂ ਨੀਤੀ ਚੁਣਦੀ ਹੈ।
ਨੀਤੀ-ਆਧਾਰਿਤ: ਦੋਵੇਂ ਪਾਸੇ ਨਵਾਂ ਪ੍ਰੀਫਿਕਸ ਸੂਚੀਬੱਧ ਕਰਨਾ ਲਾਜ਼ਮੀ
strongSwan ਸ਼ਬਦਾਵਲੀ ਵਿੱਚ ਸਿਲੈਕਟਰ ਚਾਈਲਡ ਸੰਰਚਨਾ ਦੇ local_ts ਅਤੇ remote_ts ਵਿੱਚ ਹੁੰਦਾ ਹੈ, ਜੋ leftsubnet ਅਤੇ rightsubnet ਦੇ ਉੱਤਰਾਧਿਕਾਰੀ ਹਨ। ਨਵਾਂ ਪ੍ਰੀਫਿਕਸ ਦੋਵੇਂ ਪਾਸੇ ਸ਼ੀਸ਼ੇ ਵਾਂਗ ਦਿਸਣਾ ਚਾਹੀਦਾ ਹੈ: ਸਾਈਟ A ਜਿਸ ਨੂੰ ਸਥਾਨਕ ਕਹਿੰਦੀ ਹੈ, ਸਾਈਟ B ਉਸ ਨੂੰ ਦੂਰਲਾ ਕਹਿੰਦੀ ਹੈ। ਫ਼ਰਕ ਸਾਫ਼ ਗਲਤੀ ਘੱਟ ਹੀ ਦਿੰਦਾ ਹੈ। ਦੋਵੇਂ ਪਾਸੇ ਕੱਟ ਤੱਕ ਸੁੰਗੜਦੇ ਹਨ, ਪੁਰਾਣਾ ਪ੍ਰੀਫਿਕਸ ਚੱਲਦਾ ਰਹਿੰਦਾ ਹੈ ਅਤੇ ਸਿਰਫ਼ ਨਵਾਂ ਚੁੱਪਚਾਪ ਫੇਲ੍ਹ ਹੁੰਦਾ ਹੈ।
swanctl --load-conns
swanctl --initiate --child <child-name>
swanctl --list-sas
ip xfrm policy
pfSense ਜਾਂ OPNsense ਵਿੱਚ ਇਸ ਦਾ ਮਤਲਬ ਹੈ ਦੂਜੀ Phase 2 ਐਂਟਰੀ ਜੋ ਨਵੇਂ ਸਥਾਨਕ ਸਬਨੈੱਟ ਨੂੰ ਨਵੇਂ ਦੂਰਲੇ ਸਬਨੈੱਟ ਨਾਲ ਜੋੜਦੀ ਹੈ, ਫਿਰ ਲਾਗੂ ਕਰਨਾ। ਪੁਰਾਣੀ ਐਂਟਰੀ ਰੱਖੋ; ਬਦਲਣ ਨਾਲ ਮੂਲ ਸਬਨੈੱਟ ਜੁੜਨ ਦੀ ਥਾਂ ਖਿਸਕ ਜਾਂਦਾ ਹੈ। ਜੇ ਮੌਜੂਦਾ Phase 2 ਪਹਿਲਾਂ ਹੀ 0.0.0.0/0 ਵਰਗਾ ਸੁਪਰਨੈੱਟ ਜਾਂ ਸੰਖੇਪ ਰੇਂਜ ਢਕਦੀ ਹੈ, ਤਾਂ ਉਸ ਦੇ ਕੋਲ ਪਤਲੀ ਐਂਟਰੀ ਨਾ ਜੋੜੋ: ਓਵਰਲੈਪ ਸਿਲੈਕਟਰ ਮੁਕਾਬਲੇ ਵਾਲੀਆਂ ਨੀਤੀਆਂ ਲਾਉਂਦੇ ਹਨ ਅਤੇ ਮੁਲਾਂਕਣ ਕ੍ਰਮ ਜੇਤੂ ਤੈਅ ਕਰਦਾ ਹੈ।
IKEv1 ਹਰ ਸਬਨੈੱਟ ਜੋੜੀ ਨੂੰ ਆਪਣੀ Phase 2 ਬਣਾਉਂਦਾ ਹੈ, ਅਤੇ ਹਰ ਅਦਾਨ-ਪ੍ਰਦਾਨ ਵਿੱਚ ਇੱਕ ਜੋੜੀ ਲੈਣ ਵਾਲਾ ਪਾਸਾ ਬਾਕੀ ਛੱਡ ਦਿੰਦਾ ਹੈ। IKEv2 ਇੱਕ ਚਾਈਲਡ ਵਿੱਚ ਕਈ ਸਿਲੈਕਟਰ ਜੋੜੀਆਂ ਲੈ ਜਾ ਸਕਦਾ ਹੈ, ਪਰ ਤਾਂ ਹੀ ਜੇ ਦੋਵੇਂ ਲਾਗੂਆਂ ਮੰਨਣ। swanctl --list-sas ਦੀ ਸੂਚੀ ਸੱਚ ਹੈ; ਤੁਸੀਂ ਜੋ ਲਿਖਿਆ ਉਹ ਬੇਨਤੀ ਹੈ।
ਰੂਟ-ਆਧਾਰਿਤ: ਰੂਟ ਹੀ ਨੀਤੀ ਹੈ
XFRM ਇੰਟਰਫ਼ੇਸ ਜਾਂ VTI ਜੰਤਰ ਰੂਟ ਟੇਬਲ ਅਨੁਸਾਰ ਟ੍ਰੈਫਿਕ ਢੋਂਦਾ ਹੈ। ਨਵਾਂ ਪ੍ਰੀਫਿਕਸ ਦੋਵੇਂ ਸਾਈਟਾਂ ਵਿੱਚ ਜੰਤਰ ਵੱਲ ਸੇਧੋ, ਅਤੇ ਇੰਟਰਫ਼ੇਸ ਦੇ ਰੂਪਾਂਤਰ ਨਾਲ ਬੱਝੀ ਸਥਿਤੀ ਲਾਗੂ ਹੁੰਦੀ ਹੈ। ਸਿੰਕ ਕਰਨ ਲਈ ਸਿਲੈਕਟਰ ਜੋੜੀ ਨਹੀਂ, ਇਸ ਲਈ ਸਬਨੈੱਟ ਵਧਣ ਨਾਲ ਇਹ ਡਿਜ਼ਾਈਨ ਵਧੀਆ ਸਕੇਲ ਹੁੰਦਾ ਹੈ। strongSwan ਫਾਰਵਰਡਿੰਗ ਗਾਈਡ ਕਰਨਲ ਪਾਸਾ ਵਿਸਥਾਰ ਨਾਲ ਦੱਸਦੀ ਹੈ।
ip route add 192.168.60.0/24 dev xfrm0
ip route get 192.168.60.10
WireGuard ਹੋਰ ਅੱਗੇ ਜਾਂਦਾ ਹੈ। AllowedIPs ਇੱਕੋ ਸਮੇਂ ਕ੍ਰਿਪਟੋ ਇਜਾਜ਼ਤ ਸੂਚੀ ਹੈ ਅਤੇ wg-quick ਰਾਹੀਂ ਰੂਟ ਟੇਬਲ ਐਂਟਰੀ ਵੀ। ਸਿਰਫ਼ ਇੱਕ ਪਾਸੇ ਪ੍ਰੀਫਿਕਸ ਜੋੜੋ ਤਾਂ ਹੈਂਡਸ਼ੇਕ, ਬਾਹਰ ਜਾਂਦੇ ਪੈਕੇਟ ਅਤੇ ਖ਼ਾਮੋਸ਼ੀ ਮਿਲਦੀ ਹੈ, ਕਿਉਂਕਿ ਦੂਰਲਾ ਪਾਸਾ ਉਹ ਪੈਕੇਟ ਸੁੱਟਦਾ ਹੈ ਜਿਨ੍ਹਾਂ ਦਾ ਸਰੋਤ ਉਸ ਦੀ ਸੂਚੀ ਵਿੱਚ ਨਹੀਂ। wg set ਰੂਪ ਪੂਰੀ ਸੂਚੀ ਬਦਲ ਦਿੰਦਾ ਹੈ, ਇਸ ਲਈ ਪਹਿਲਾਂ ਚੱਲ ਰਹੇ ਪ੍ਰੀਫਿਕਸ ਦੁਬਾਰਾ ਲਿਖੋ, ਨਹੀਂ ਤਾਂ ਉਹ ਕੱਟ ਜਾਣਗੇ:
wg set wg0 peer <PUBKEY> allowed-ips 192.168.10.0/24,192.168.60.0/24
ip route add 192.168.60.0/24 dev wg0
wg-quick ਦੀ ਥਾਂ wg set ਵਰਤਿਆ ਹੋਵੇ ਤਾਂ ਉਹ ਦੂਜਾ ਹੁਕਮ ਚੋਣਵਾਂ ਨਹੀਂ। ਕਰਨਲ ਨਵੀਂ ਸੂਚੀ ਤੁਰੰਤ ਮੰਨ ਲੈਂਦਾ ਹੈ, ਪਰ ਕੋਈ ਉਸ ਲਈ ਰੂਟ ਨਹੀਂ ਜੋੜਦਾ, ਇਸ ਲਈ ਸਥਾਨਕ ਤੌਰ ਉੱਤੇ ਬਣਿਆ ਟ੍ਰੈਫਿਕ ਅਜੇ ਵੀ ਡਿਫਾਲਟ ਗੇਟਵੇ ਰਾਹੀਂ ਬਾਹਰ ਜਾਂਦਾ ਹੈ। ਨਵਾਂ WireGuard ਸਬਨੈੱਟ ਟਨਲ ਹੋਸਟ ਤੋਂ ਚੱਲਣ ਅਤੇ ਲੈਪਟਾਪ ਤੋਂ ਨਾ ਚੱਲਣ ਦਾ ਇਹੀ ਆਮ ਕਾਰਨ ਹੈ।
ਵਾਪਸੀ ਰਾਹ ਟਨਲ ਨਾਲੋਂ ਵੱਧ ਵਾਰ ਫੇਲ੍ਹ ਹੁੰਦਾ ਹੈ
ਨਵੇਂ ਦੂਰਲੇ ਸਬਨੈੱਟ ਦੇ ਹੋਸਟਾਂ ਨੂੰ ਜਵਾਬ VPN ਗੇਟਵੇ ਰਾਹੀਂ ਵਾਪਸ ਭੇਜਣੇ ਪੈਂਦੇ ਹਨ। ਜਦੋਂ ਉਹ ਗੇਟਵੇ ਉਨ੍ਹਾਂ ਦਾ ਡਿਫਾਲਟ ਰਾਊਟਰ ਨਹੀਂ ਹੁੰਦਾ ਤਾਂ ਜਵਾਬ LAN ਰਾਊਟਰ ਕੋਲ ਜਾਂਦਾ ਹੈ, ਜੋ ਉਸ ਨੂੰ ਸੁੱਟਦਾ ਹੈ ਜਾਂ ਨਿੱਜੀ ਸਰੋਤ ਪਤੇ ਨਾਲ ਇੰਟਰਨੈੱਟ ਉੱਤੇ ਭੇਜਦਾ ਹੈ। ਗੇਟਵੇ ਤੋਂ ਨਹੀਂ, ਦੂਰਲੇ ਪਾਸੇ ਦੇ ਹੋਸਟ ਤੋਂ ਪਰਖੋ: Linux ਵਿੱਚ ip route get 10.30.20.15 ਜਾਂ PowerShell ਵਿੱਚ Find-NetRoute -RemoteIPAddress 10.30.20.15 ਦੱਸਦਾ ਹੈ ਕਿ ਹੋਸਟ ਅਸਲ ਵਿੱਚ ਕਿਹੜਾ ਅਗਲਾ ਹਾਪ ਵਰਤੇਗਾ। ਜਵਾਬ ਟਨਲ ਦਾ ਅੰਤ ਬਿੰਦੂ ਨਾ ਹੋਵੇ ਤਾਂ ਉੱਥੇ ਨਵੇਂ ਪ੍ਰੀਫਿਕਸ ਲਈ ਸਥਿਰ ਰੂਟ ਜੋੜੋ।
ਵਾਪਸੀ ਰੂਟ ਤੋਂ ਬਿਨਾਂ ਸਾਈਟ ਉੱਤੇ ਸਰੋਤ NAT ਜਾਇਜ਼ ਬਦਲ ਹੈ ਅਤੇ ਕਈ hub-and-spoke ਤੈਨਾਤੀਆਂ ਹਰ ਸਰਵਰ ਨੂੰ ਛੂਹਣ ਤੋਂ ਇਸੇ ਤਰ੍ਹਾਂ ਬਚਦੀਆਂ ਹਨ। ਮੰਤਵ ਪਾਸੇ ਦੇ ਗੇਟਵੇ ਉੱਤੇ ਵੀ ਨਵੇਂ ਪ੍ਰੀਫਿਕਸ ਉੱਤੇ ਇਹ ਲਾਗੂ ਕਰੋ:
iptables -t nat -A POSTROUTING -s 10.30.20.0/24 -d 192.168.60.0/24 -j MASQUERADE
ਕੀਮਤ ਅਸਲੀ ਹੈ। ਦੂਰਲੇ ਲਾਗ ਵਿਅਕਤੀਗਤ ਸਰੋਤ ਪਤੇ ਦਿਖਾਉਣਾ ਬੰਦ ਕਰਦੇ ਹਨ ਅਤੇ ਮੂਲ ਸਬਨੈੱਟ ਉੱਤੇ ਆਧਾਰਿਤ ਫਾਇਰਵਾਲ ਨਿਯਮ ਗੇਟਵੇ ਲਈ ਇੱਕ ਨਿਯਮ ਵਿੱਚ ਰਲ ਜਾਂਦੇ ਹਨ। ਰੂਟ ਘਟਣ ਕਰਕੇ ਨਹੀਂ, ਜਾਣ-ਬੁੱਝ ਕੇ ਚੁਣੋ।
ਫਾਇਰਵਾਲ ਵਾਪਸੀ ਰਾਹ ਦਾ ਦੂਜਾ ਅੱਧ ਹਨ। ਜ਼ੋਨ-ਆਧਾਰਿਤ ਜੰਤਰ ਮੌਜੂਦਾ ਟਨਲ ਇੰਟਰਫ਼ੇਸ ਦੇ ਜ਼ੋਨ ਨੂੰ ਨਵੇਂ ਸਬਨੈੱਟ ਤੱਕ ਆਪਣੇ ਆਪ ਨਹੀਂ ਵਧਾਉਂਦੇ ਅਤੇ ਪੁਰਾਣੇ ਪ੍ਰੀਫਿਕਸ ਲਈ ਲਿਖਿਆ ਨਿਯਮ ਨਹੀਂ ਮਿਲੇਗਾ। IPsec ਨੂੰ ਦੋਸ਼ ਦੇਣ ਤੋਂ ਪਹਿਲਾਂ ਨਵਾਂ ਸਬਨੈੱਟ ਜ਼ੋਨ ਵਿੱਚ ਜਾਂ ਦੋਵੇਂ ਦਿਸ਼ਾਵਾਂ ਦੇ ਨਿਯਮ ਜੋੜੀ ਵਿੱਚ ਜੋੜੋ।
ਤਿੰਨ ਸਵਾਲਾਂ ਨਾਲ ਫੈਸਲਾ ਕਰੋ, ਫਿਰ ਟ੍ਰੈਫਿਕ ਨਾਲ ਜਾਂਚੋ
ਛੋਟਾ ਰੂਪ: ਪਾਸੇ ਦੀ ਸੰਰਚਨਾ ਪ੍ਰੀਫਿਕਸ ਦੇ ਨਾਮ ਦਿੰਦੀ ਹੈ (ਨੀਤੀ-ਆਧਾਰਿਤ), ਜਾਂ ਟ੍ਰੈਫਿਕ ਇੰਟਰਫ਼ੇਸ ਵਿੱਚ ਰੂਟ ਹੁੰਦਾ ਹੈ (ਰੂਟ-ਆਧਾਰਿਤ)? ਦੋਵੇਂ ਸਿਰੇ ਨਵਾਂ ਪ੍ਰੀਫਿਕਸ ਸੂਚੀਬੱਧ ਕਰਦੇ ਹਨ? ਨਵੇਂ ਸਬਨੈੱਟ ਤੋਂ ਮੂਲ ਸਰੋਤ ਰੇਂਜ ਤੱਕ ਵਾਪਸੀ ਰਾਹ ਹੈ?
| Tunnel style | Where the prefix goes | What breaks if you skip it |
|---|---|---|
| Policy-based IPsec | Selector pair on both peers | Old subnets work, the new one fails with no clear error |
| Route-based XFRM or VTI | Route into the device on both sites | Packets routed but not transformed, or the state never matches |
| WireGuard | AllowedIPs on both peers plus a route | Handshake succeeds, replies are dropped |
| Overlapping supernet | Adjust the existing entry instead | A shadowed policy wins or loses by evaluation order |
ਜਾਂਚ ਉਹ ਥਾਂ ਹੈ ਜਿੱਥੇ ਜ਼ਿਆਦਾਤਰ ਬਦਲਾਅ ਬਹੁਤ ਛੇਤੀ ਬੰਦ ਹੁੰਦੇ ਹਨ। ਗੇਟਵੇ ਤੋਂ ਪਿੰਗ ਥੋੜ੍ਹਾ ਸਾਬਤ ਕਰਦੀ ਹੈ, ਕਿਉਂਕਿ ਗੇਟਵੇ ਆਪਣੇ ਆਪ ਤੋਂ ਭੇਜਦਾ ਹੈ ਅਤੇ ਅਕਸਰ ਹੋਸਟ ਨਾਲੋਂ ਵੱਖਰੀ ਨੀਤੀ ਨਾਲ ਮਿਲਦਾ ਹੈ। ਨਵੇਂ ਸਬਨੈੱਟ ਦੇ ਹੋਸਟ ਤੋਂ ਪਿੰਗ ਕਰੋ, ਫਿਰ ਬਦਲਾਅ ਦਾ ਕਾਰਨ ਬਣੀ ਐਪ ਚਲਾਓ ਅਤੇ ਸਥਿਤੀ ਆਈਕਨ ਨਹੀਂ ਕਾਊਂਟਰ ਵੇਖੋ।
tcpdump -ni any host 192.168.60.10 and (esp or udp port 4500)
ip xfrm state
wg show
ਨੀਤੀ-ਆਧਾਰਿਤ ਟਨਲ ਵਿੱਚ ip xfrm state ਦੇ ਕਾਊਂਟਰ ਦੋਵੇਂ ਦਿਸ਼ਾਵਾਂ ਵਿੱਚ ਵਧਣੇ ਚਾਹੀਦੇ ਹਨ; ਸਮਤਲ ਕਾਊਂਟਰ ਦਾ ਮਤਲਬ ਪੈਕੇਟ ਰੂਟ ਹੋਇਆ ਪਰ ਚੁਣਿਆ ਨਹੀਂ ਗਿਆ। WireGuard ਵਿੱਚ wg show ਹਰ ਪਾਸੇ ਦਾ ਸਥਾਨਾਂਤਰਣ ਦੱਸਦਾ ਹੈ ਅਤੇ ਜ਼ੀਰੋ ਪ੍ਰਾਪਤ ਬਾਈਟ ਵਾਲਾ ਹੈਂਡਸ਼ੇਕ ਦੂਰਲੇ ਪਾਸੇ ਦੀ ਸੂਚੀ ਜਾਂ ਉਸ ਦੇ ਵਾਪਸੀ ਰੂਟ ਵੱਲ ਇਸ਼ਾਰਾ ਕਰਦਾ ਹੈ।
ਪ੍ਰੀਫਿਕਸ, ਪਾਸੇ ਦਾ ਸਿਲੈਕਟਰ ਜਾਂ ਰੂਟ, ਵਾਪਸੀ ਰਾਹ ਦਾ ਫੈਸਲਾ ਅਤੇ ਫਾਇਰਵਾਲ ਐਂਟਰੀ ਬਾਕੀ ਟਨਲ ਸੂਚੀ ਨਾਲ ਦਰਜ ਕਰਕੇ ਖ਼ਤਮ ਕਰੋ। ਫਿਰ ਇੱਕ ਗੇਟਵੇ ਰੀਬੂਟ ਕਰਕੇ ਦੁਬਾਰਾ ਪਰਖੋ: ਹੱਥ ਨਾਲ ਜੋੜਿਆ ਰੂਟ ਗਾਇਬ ਹੋ ਜਾਂਦਾ ਹੈ ਅਤੇ ਅਗਲੇ ਬੰਦੇ ਨੂੰ ਉਹ ਦੁਬਾਰਾ ਲੱਭਣਾ ਨਹੀਂ ਚਾਹੀਦਾ।