VPN ਕਲਾਇੰਟ ਵਜੋਂ Pi: ਇੱਕ ਪ੍ਰਬੰਧਕ ਜਾਂ ਆਪਣੀ ਸਕ੍ਰਿਪਟ?
Raspberry Pi ਉੱਤੇ NetworkManager ਪ੍ਰੋਫਾਈਲ ਦੀ ਹੱਥ ਨਾਲ ਲਿਖੀ ਕਲਾਇੰਟ ਸਕ੍ਰਿਪਟ ਨਾਲ ਤੁਲਨਾ, ਪੂਰੀ ਸੁਰੰਗ, DNS, IPv6 ਅਤੇ ਸੁਰੰਗ ਡਿੱਗਣ ਵੇਲੇ ਦਾ ਵਿਵਹਾਰ ਸਮੇਤ।
ਜਿਸ Raspberry Pi ਨੂੰ ਸਿਰਫ਼ ਆਪਣਾ ਬਾਹਰ ਜਾਣ ਵਾਲਾ ਟਰੈਫ਼ਿਕ ਬਚਾਉਣਾ ਹੈ, ਉਸ ਲਈ ਦੋ ਵਾਸਤਵਿਕ ਡਿਜ਼ਾਈਨ ਹਨ: ਨੈੱਟਵਰਕ ਪ੍ਰਬੰਧਕ ਨੂੰ ਸੁਰੰਗ ਦਾ ਮਾਲਕ ਬਣਨ ਦਿਓ, ਜਾਂ ਅਜਿਹੀ ਸਕ੍ਰਿਪਟ ਰੱਖੋ ਜੋ ਉਸਦੀ ਮਾਲਕ ਹੋਵੇ। ਦੋਵੇਂ ਟਰੈਫ਼ਿਕ ਲੈ ਜਾ ਸਕਦੇ ਹਨ। ਉਹ ਵੱਖ-ਵੱਖ ਥਾਵਾਂ ’ਤੇ ਫੇਲ੍ਹ ਹੁੰਦੇ ਹਨ, ਅਤੇ ਰਾਤ ਦੋ ਵਜੇ ਦੂਰੋਂ ਜਿਸ ਫੇਲ੍ਹ ਦਾ ਤੁਸੀਂ ਨਿਦਾਨ ਕਰ ਸਕਦੇ ਹੋ, ਉਹੀ ਚੁਣਨ ਯੋਗ ਹੈ। ਮਾਲਕੀ ’ਤੇ, IPv6 ਅਤੇ DNS ਸ਼ਾਮਲ ਹੋਣ ’ਤੇ ਪੂਰੀ ਸੁਰੰਗ ਦਾ ਕੀ ਅਰਥ ਹੈ ’ਤੇ, ਅਤੇ ਸੁਰੰਗ ਡਿੱਗਣ ਦੇ ਪਲ ਕੀ ਹੁੰਦਾ ਹੈ ’ਤੇ ਉਨ੍ਹਾਂ ਦੀ ਤੁਲਨਾ ਕਰੋ।
ਇੱਕ ਸੁਰੰਗ ਲਈ ਦੋ ਮਾਲਕ
ਡਿਜ਼ਾਈਨ A ਸਿਸਟਮ ਦੇ ਨੈੱਟਵਰਕ ਪ੍ਰਬੰਧਕ ਅੰਦਰ ਇੱਕ ਪ੍ਰੋਫਾਈਲ ਹੈ: ਆਯਾਤ ਕੀਤਾ OpenVPN ਪ੍ਰੋਫਾਈਲ ਜਾਂ ਮੂਲ WireGuard ਕਨੈਕਸ਼ਨ, ਜੋ ਬੂਟ ਵੇਲੇ Ethernet ਅਤੇ Wi-Fi ਉਠਾਉਣ ਵਾਲੀ ਉਸੇ ਸੇਵਾ ਦੁਆਰਾ ਸਰਗਰਮ ਹੁੰਦਾ ਹੈ। ਡਿਜ਼ਾਈਨ B ਤੁਹਾਡੀ ਆਪਣੀ ਇਕਾਈ ਹੈ, ਜੋ ਕਲਾਇੰਟ ਨੂੰ ਸਿੱਧਾ ਚਲਾਉਂਦੀ ਹੈ, ਰਿਜ਼ੌਲਵਰ ਸੰਰਚਨਾ ਸੰਪਾਦਿਤ ਕਰਦੀ ਹੈ ਅਤੇ ਆਪਣੇ ਰੂਟ ਤੇ ਫਾਇਰਵਾਲ ਨਿਯਮ ਸਥਾਪਿਤ ਕਰਦੀ ਹੈ। ਦੋਵੇਂ ਜਾਇਜ਼ ਡਿਜ਼ਾਈਨ ਹਨ; ਰਾਊਟਿੰਗ ਸਾਰਣੀ ਬਦਲਣ ਦੀ ਇਜਾਜ਼ਤ ਕਿਸ ਨੂੰ ਹੈ, ਇਸ ਵਿੱਚ ਉਹ ਵੱਖਰੇ ਹਨ।
ਮਾਲਕ ਵੱਖਰੇ ਹੋਣ ਕਰਕੇ ਫੇਲ੍ਹ ਵੀ ਵੱਖਰੇ ਹਨ। A ਵਿੱਚ, ਸਰਗਰਮ ਨਾ ਹੋਣ ਵਾਲਾ ਪ੍ਰੋਫਾਈਲ ਇੰਟਰਫ਼ੇਸ ਉੱਪਰ ਅਤੇ ਸੁਰੰਗ ਹੇਠਾਂ ਛੱਡਦਾ ਹੈ, ਅਤੇ ਪ੍ਰਬੰਧਕ ਦੇ ਲੌਗ ਕਾਰਨ ਦੱਸਦੇ ਹਨ। B ਵਿੱਚ, ਅੱਧੀ ਸਫਲ ਹੋਣ ਵਾਲੀ ਸਕ੍ਰਿਪਟ ਉਹ ਰੂਟ ਛੱਡ ਜਾਂਦੀ ਹੈ ਜੋ ਉਨ੍ਹਾਂ ਨੂੰ ਬਣਾਉਣ ਵਾਲੀ ਪ੍ਰਕਿਰਿਆ ਤੋਂ ਬਾਅਦ ਵੀ ਬਚੇ ਰਹਿੰਦੇ ਹਨ। ਦੋਵੇਂ ਚਲਾਉਣਾ ਸਭ ਤੋਂ ਮਾੜਾ ਨਤੀਜਾ ਹੈ: ਦੋ ਪ੍ਰਕਿਰਿਆਵਾਂ ਡਿਫ਼ਾਲਟ ਰੂਟ ਲਿਖ ਰਹੀਆਂ ਹਨ, ਬੂਟ ਵੇਲੇ ਦੋ ਰਿਜ਼ੌਲਵਰ ਸੰਪਾਦਨ ਮੁਕਾਬਲਾ ਕਰ ਰਹੇ ਹਨ, ਅਤੇ ਘੁਮਾਉਣ ਲਈ ਦੋ ਸੈੱਟ ਭੇਦ।
ਹਰ ਸੁਰੰਗ ਲਈ ਇੱਕ ਮਾਲਕ ਚੁਣੋ ਅਤੇ ਕੁਝ ਵੀ ਪਰਖਣ ਤੋਂ ਪਹਿਲਾਂ ਦੂਜੇ ਨੂੰ ਬੰਦ ਕਰੋ। ਦੋ ਮਾਲਕ ਦਾ ਮਤਲਬ ਇਹ ਵੀ ਹੈ ਕਿ ਸੁਰੰਗ ਉੱਪਰ ਹੋਣ ਅਤੇ ਕੁਝ ਵੀ ਹੱਲ ਨਾ ਹੋਣ ਵੇਲੇ ਦੇਖਣ ਲਈ ਦੋ ਥਾਵਾਂ। ਇਹੀ ਇੱਕ ਨਿਯਮ Pi VPN ਚਰਚਾਵਾਂ ਵਿੱਚ ਦੱਸੀਆਂ ਬਹੁਤੀਆਂ ਉਲਝਣ ਭਰੀਆਂ ਹਾਲਤਾਂ ਨੂੰ ਰੋਕਦਾ ਹੈ।
ਆਯਾਤ ਕੀ ਬਣਾਉਂਦਾ ਹੈ, ਅਤੇ ਕੀ ਨਹੀਂ
Raspberry Pi OS Bookworm ਅਤੇ ਬਾਅਦ ਦੇ ਸੰਸਕਰਣਾਂ ਵਿੱਚ ਡਿਫ਼ਾਲਟ ਨੈੱਟਵਰਕ ਸੰਰਚਨਾ ਸੰਦ NetworkManager ਹੈ, ਇਸ ਲਈ ਪ੍ਰੋਫਾਈਲ ਕਲਾਇੰਟ ਸੁਰੰਗ ਦਾ ਕੁਦਰਤੀ ਘਰ ਹੈ। ਆਯਾਤ ਲਈ ਮਿਲਦਾ ਪਲੱਗਇਨ ਸਥਾਪਿਤ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ; ਇਸ ਤੋਂ ਬਿਨਾਂ ਆਯਾਤ ਅਸਮਰਥਿਤ ਕਨੈਕਸ਼ਨ ਕਿਸਮ ਬਾਰੇ ਸੁਨੇਹੇ ਨਾਲ ਫੇਲ੍ਹ ਹੁੰਦਾ ਹੈ, ਜੋ ਰੁਕ ਕੇ ਪਲੱਗਇਨ ਸਥਾਪਿਤ ਕਰਨ ਦਾ ਸੱਚਾ ਸੰਕੇਤ ਹੈ।
nmcli connection import type openvpn file ./provider.ovpn
nmcli connection show
nmcli --ask connection up id provider-name
ਆਯਾਤ ਇੱਕ ਪ੍ਰੋਫਾਈਲ ਸੰਭਾਲਦਾ ਹੈ। ਇਹ ਸਾਬਤ ਨਹੀਂ ਕਰਦਾ ਕਿ ਦੂਜਾ ਪਾਸਾ ਪਹੁੰਚਯੋਗ ਹੈ, ਅਤੇ ਇਹ ਗਾਰੰਟੀ ਨਹੀਂ ਦਿੰਦਾ ਕਿ ਫ਼ਾਈਲ ਦਾ ਹਰ ਨਿਰਦੇਸ਼ ਤਬਦੀਲੀ ਤੋਂ ਬਚਿਆ ਹੈ। ਨਤੀਜਾ ਕਨੈਕਸ਼ਨ ਦੁਬਾਰਾ ਪੜ੍ਹੋ ਅਤੇ ਪਛਾਣ ਤੇ ਭਰੋਸਾ ਲੈ ਕੇ ਚੱਲਣ ਵਾਲੇ ਹਿੱਸੇ ਜਾਂਚੋ: ਸਰਟੀਫ਼ਿਕੇਟ, ਦੂਰ ਦਾ ਹੋਸਟ ਤੇ ਪੋਰਟ, ਅਤੇ ਕੀ ਪਾਸਵਰਡ ਮੰਗਿਆ ਜਾਂਦਾ ਹੈ ਜਾਂ ਸੰਭਾਲਿਆ ਜਾਂਦਾ ਹੈ।
--ask ਨਾਲ ਸਰਗਰਮ ਕਰਨਾ ਸਾਂਝੀ ਮਸ਼ੀਨ ’ਤੇ ਸ਼ੈੱਲ ਇਤਿਹਾਸ ਤੋਂ ਬਾਹਰ ਪਾਸਫ਼੍ਰੇਜ਼ ਰੱਖਦਾ ਹੈ। ਬਿਨਾਂ ਨਿਗਰਾਨੀ ਵਾਲੇ Pi ਲਈ ਤੁਸੀਂ ਅਖੀਰ ਚਾਹੋਗੇ ਕਿ ਪ੍ਰੋਫਾਈਲ ਬੂਟ ’ਤੇ ਉੱਪਰ ਆਵੇ, ਜੋ ਹੱਥ ਨਾਲ ਇੱਕ ਵਾਰ ਉਠਾਉਣ ਤੋਂ ਵੱਖਰਾ ਫ਼ੈਸਲਾ ਹੈ।
ਪੂਰੀ ਸੁਰੰਗ, ਦੋਵੇਂ ਡਿਜ਼ਾਈਨਾਂ ਦੀ ਤੁਲਨਾ ਵਿੱਚ
ਪੂਰੀ ਸੁਰੰਗ ਰੂਟਾਂ ਬਾਰੇ ਦਾਅਵਾ ਹੈ, ਇਰਾਦੇ ਬਾਰੇ ਨਹੀਂ, ਅਤੇ ਦੋਵੇਂ ਡਿਜ਼ਾਈਨ ਇਸਨੂੰ ਵੱਖਰੇ ਢੰਗ ਨਾਲ ਪੇਸ਼ ਕਰਦੇ ਹਨ। ਪ੍ਰੋਫਾਈਲ ਤਰੀਕਾ ਪ੍ਰਬੰਧਕ ਨੂੰ ਡਿਫ਼ਾਲਟ ਰੂਟ ਅਤੇ ਉਸਦੀਆਂ ਰਿਜ਼ੌਲਵਰ ਸੈਟਿੰਗਾਂ ਸਥਾਪਿਤ ਕਰਨ ਲਈ ਕਹਿੰਦਾ ਹੈ; ਸਕ੍ਰਿਪਟ ਤਰੀਕਾ ਉਹੀ ਕਰਦਾ ਹੈ ਜੋ ਸਕ੍ਰਿਪਟ ਕਹਿੰਦੀ ਹੈ, ਕੁਝ ਨਾ ਕਰਨਾ ਵੀ ਸ਼ਾਮਲ। ਕੋਈ ਡਿਜ਼ਾਈਨ IPv6 ਨੂੰ ਨਹੀਂ ਢਕਦਾ ਜਦ ਤੱਕ ਇਸਨੂੰ ਨਾ ਕਿਹਾ ਜਾਵੇ, ਅਤੇ ਅਛੋਹ IPv6 ਡਿਫ਼ਾਲਟ ਰੂਟ IPv4 ਦੇ ਸੰਪੂਰਨ ਦਿਸਣ ਵੇਲੇ ਖ਼ੁਸ਼ੀ ਨਾਲ ਸੁਰੰਗ ਤੋਂ ਬਾਹਰ ਟਰੈਫ਼ਿਕ ਲੈ ਜਾਵੇਗਾ।
ip -4 route get 198.51.100.23
ip -6 route show default
resolvectl query example.org
ਰੂਟ ਖੋਜ ਲਈ ਦਸਤਾਵੇਜ਼ੀ ਪਤਾ ਵਰਤੋ ਅਤੇ ਇਸਨੂੰ ਅਜਿਹੇ ਹੋਸਟ ਨਾਲ ਬਦਲੋ ਜਿਸਨੂੰ ਜਾਂਚਣ ਦੀ ਇਜਾਜ਼ਤ ਤੁਹਾਨੂੰ ਹੈ। ਪਹਿਲਾ ਹੁਕਮ ਦਿਖਾਉਂਦਾ ਹੈ ਕਿ Pi ਆਮ ਮੰਤਵ ਲਈ ਕਿਹੜਾ ਇੰਟਰਫ਼ੇਸ ਵਰਤੇਗਾ; ਦੂਜਾ ਦਿਖਾਉਂਦਾ ਹੈ ਕਿ IPv6 ਡਿਫ਼ਾਲਟ ਰੂਟ ਅਜੇ ਵੀ ਹੈ ਜਾਂ ਨਹੀਂ; ਤੀਜਾ ਸਾਬਤ ਕਰਦਾ ਹੈ ਕਿ ਕਿਹੜੇ ਰਿਜ਼ੌਲਵਰ ਨੇ ਜਵਾਬ ਦਿੱਤਾ। ਪੂਰੀ ਸੁਰੰਗ ਬਾਰੇ ਕਿਸੇ ਵੀ ਦਾਅਵੇ ’ਤੇ ਭਰੋਸਾ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਤਿੰਨੇ ਪੜ੍ਹੋ।
ਜੇ ਪ੍ਰਦਾਤਾ ਦੇ ਨਿਰਦੇਸ਼ ਪੂਰੀ ਸੁਰੰਗ ਦਾ ਵਾਅਦਾ ਕਰਦੇ ਹਨ ਪਰ IPv6 ਡਿਫ਼ਾਲਟ ਰੂਟ ਬਚਿਆ ਰਹਿੰਦਾ ਹੈ, ਤਾਂ Pi ਲੀਕ ਕਰ ਰਿਹਾ ਹੈ। ਅਪਲਿੰਕ ’ਤੇ IPv6 ਬੰਦ ਕਰੋ ਜਾਂ ਪ੍ਰੋਫਾਈਲ ਨੂੰ ਇਸਦਾ ਦਾਅਵਾ ਕਰਨ ਲਈ ਕਹੋ, ਅਤੇ ਬਾਅਦ ਵਿੱਚ ਖੋਜਣ ਦੀ ਬਜਾਏ ਸੁਚੇਤ ਫ਼ੈਸਲਾ ਲਓ।
ਖੁੱਲ੍ਹੀ ਫੇਲ੍ਹ ਬਨਾਮ ਬੰਦ ਫੇਲ੍ਹ
ਜਦੋਂ ਸੁਰੰਗ ਡਿੱਗਦੀ ਹੈ, ਆਪਣਾ ਡਿਫ਼ਾਲਟ ਰੂਟ ਗੁਆਉਣ ਵਾਲੀ ਰਾਊਟਿੰਗ ਸਾਰਣੀ ਸਿੱਧੀ ਭੌਤਿਕ ਅਪਲਿੰਕ ’ਤੇ ਵਾਪਸ ਆ ਜਾਂਦੀ ਹੈ, ਅਤੇ ਟਰੈਫ਼ਿਕ ਖੁੱਲ੍ਹੇ ਵਿੱਚ ਜਾਰੀ ਰਹਿੰਦਾ ਹੈ। ਇਹ ਖੁੱਲ੍ਹੀ ਫੇਲ੍ਹ ਹੈ, ਅਤੇ ਕੁਝ ਰੋਕੇ ਬਿਨਾਂ ਇਹ ਦੋਵੇਂ ਡਿਜ਼ਾਈਨਾਂ ਦਾ ਡਿਫ਼ਾਲਟ ਵਿਵਹਾਰ ਹੈ। ਬਹੁਤੇ ਲੋਕ ਇਸਨੂੰ ਹਫ਼ਤਿਆਂ ਬਾਅਦ ਫਾਇਰਵਾਲ ਲੌਗ ਪੜ੍ਹ ਕੇ ਲੱਭਦੇ ਹਨ।
ਬੰਦ ਫੇਲ੍ਹ ਸੁਰੰਗ ਹੇਠਾਂ ਹੋਣ ਵੇਲੇ ਤੁਹਾਡੀ ਦੂਰੋਂ ਪਹੁੰਚ ਖੋਹ ਲੈਂਦੀ ਹੈ, ਇਸ ਲਈ ਪ੍ਰਬੰਧਨ ਮਾਰਗ ਲਈ ਸੁਚੇਤ ਛੋਟ ਚਾਹੀਦੀ ਹੈ। ਇੱਕ ਤਰੀਕਾ ਹੈ ਅਜਿਹਾ ਨਿਯਮ ਜੋ ਸੁਰੰਗ ਤੋਂ ਬਾਹਰ ਸਿਰਫ਼ VPN ਸਾਥੀ ਦੇ ਪਤੇ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ:
sudo nft add table inet vpnkill
sudo nft 'add chain inet vpnkill out { type filter hook output priority 0; policy accept; }'
sudo nft add rule inet vpnkill out oifname != "tun0" ip daddr != 203.0.113.24 reject
ਚਲਾਉਣ ਖ਼ਰਚ ਦੀ ਇਮਾਨਦਾਰ ਤੁਲਨਾ ਕਰੋ। ਪ੍ਰੋਫਾਈਲ ਆਮ ਤੌਰ ’ਤੇ ਇਹ ਨਿਯਮ ਪੇਸ਼ ਨਹੀਂ ਕਰ ਸਕਦਾ, ਇਸ ਲਈ ਬੰਦ ਫੇਲ੍ਹ ਤੁਹਾਨੂੰ ਸਕ੍ਰਿਪਟ ਡਿਜ਼ਾਈਨ ਵੱਲ ਜਾਂ ਸੁਰੰਗ ਤੋਂ ਸੁਤੰਤਰ ਰੂਪ ਵਿੱਚ ਨਿਯਮ ਸਥਾਪਿਤ ਕਰਨ ਵਾਲੀ ਛੋਟੀ ਇਕਾਈ ਵੱਲ ਧੱਕਦੀ ਹੈ। ਕਿਸੇ ਵੀ ਹਾਲਤ ਵਿੱਚ, ਇੱਕ ਹਫ਼ਤਾ ਇਨਕਾਰ ਲੌਗ ਕਰੋ: ਚੁੱਪ ਇਨਕਾਰ ਟੁੱਟੀ ਸੇਵਾ ਵਰਗਾ ਹੀ ਦਿਸਦਾ ਹੈ, ਅਤੇ ਜਦੋਂ ਵਰਤੋਂਕਾਰ ਦੱਸੇ ਕਿ ਇੱਕ ਸਾਈਟ ਲੋਡ ਹੋਣਾ ਬੰਦ ਹੋ ਗਿਆ, ਤਦ ਤੁਹਾਨੂੰ ਕਾਊਂਟਰ ਚਾਹੀਦਾ ਹੋਵੇਗਾ।
ਬਿਨਾਂ ਸਕ੍ਰੀਨ ਵਾਲੇ Pi ਲਈ ਚੋਣ
ਜੇ ਇਮੇਜ ਪਹਿਲਾਂ ਹੀ NetworkManager ਚਲਾਉਂਦੀ ਹੈ, ਸੁਰੰਗ ਨੂੰ ਕੁਝ ਅਜੀਬ ਨਹੀਂ ਚਾਹੀਦਾ, ਅਤੇ ਤੁਸੀਂ ਚਾਹੁੰਦੇ ਹੋ ਕਿ ਇਹ ਅਪਲਿੰਕ ਦੀ ਆਪਣੇ ਆਪ ਪੈਰਵੀ ਕਰੇ, ਤਾਂ ਪ੍ਰੋਫਾਈਲ ਲਓ। ਜੇ ਤੁਹਾਨੂੰ ਨੀਤੀ ਰਾਊਟਿੰਗ, ਹਰ ਮੰਤਵ ਲਈ ਚੁਣੀਆਂ ਕਈ ਸੁਰੰਗਾਂ, ਜਾਂ ਅਜਿਹਾ ਬੰਦ-ਫੇਲ੍ਹ ਨਿਯਮ ਚਾਹੀਦਾ ਹੈ ਜੋ ਸੁਰੰਗ ਉੱਪਰ ਆਉਣ ਤੋਂ ਪਹਿਲਾਂ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ, ਤਾਂ ਸਕ੍ਰਿਪਟ ਲਓ ਅਤੇ ਬੂਟ ਕ੍ਰਮ ਤੇ ਸਫ਼ਾਈ ਸਮੇਤ ਇਸਦੇ ਹਰ ਹਿੱਸੇ ਦੀ ਮਾਲਕੀ ਰੱਖੋ। ਦੋਵੇਂ ਡਿਜ਼ਾਈਨ ਮਿਲਾਉਣਾ ਕਿਸੇ ਇੱਕ ਨਾਲੋਂ ਮਹਿੰਗਾ ਹੈ।
ਉਨ੍ਹਾਂ ਵਿਚਕਾਰ ਬਦਲੀ ਮੁੱਖ ਤੌਰ ’ਤੇ ਕ੍ਰਮ ਦਾ ਮਾਮਲਾ ਹੈ: ਪੁਰਾਣੇ ਮਾਲਕ ਨੂੰ ਬੰਦ ਕਰੋ, ਪੁਰਾਣਾ ਰੂਟ ਜਾਂ ਰਿਜ਼ੌਲਵਰ ਐਂਟਰੀ ਨਾ ਬਚੀ ਹੋਣ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ, ਫਿਰ ਨਵਾਂ ਸਰਗਰਮ ਕਰੋ ਅਤੇ ਦੋ ਵਾਰ ਰੀਬੂਟ ਕਰੋ। ਇੱਕ ਰੀਬੂਟ ਅਜਿਹੀ ਦੌੜ ਲੁਕਾ ਸਕਦਾ ਹੈ ਜਿਸਨੂੰ ਦੂਜਾ ਖੋਲ੍ਹਦਾ ਹੈ। ਸੁਰੰਗ ਦੀ ਨਹੀਂ, Pi ਦੀ ਪਰਖ ਕਰਕੇ ਮੁਕਾਓ: ਇੱਕ ਨਾਮ ਹੱਲ ਕਰੋ, IPv4 ਰਾਹੀਂ ਕੁਝ ਲਿਆਓ, ਰੱਖਿਆ ਹੋਵੇ ਤਾਂ IPv6 ਰਾਹੀਂ ਵੀ ਲਿਆਓ, ਫਿਰ ਸੁਰੰਗ ਡੇਗੋ ਅਤੇ ਪੁਸ਼ਟੀ ਕਰੋ ਕਿ ਤੁਸੀਂ ਚੁਣਿਆ ਵਿਵਹਾਰ ਸੱਚਮੁੱਚ ਹੁੰਦਾ ਹੈ। ip link ਵਿੱਚ ਇੰਟਰਫ਼ੇਸ ਪਰਖ ਦੀ ਸ਼ੁਰੂਆਤ ਹੈ, ਅੰਤ ਨਹੀਂ।