ਪਹਿਲੇ ਬੂਟ 'ਤੇ WireGuard ਡਿਵਾਈਸਾਂ ਦੇ ਫਲੀਟ ਲਈ ਰਜਿਸਟ੍ਰੇਸ਼ਨ
ਇੱਕ ਇਮੇਜ, ਹਰ ਬੋਰਡ ਲਈ ਇੱਕ ਕੁੰਜੀ, ਅਤੇ ਇੱਕ ਅਧਿਕਾਰ ਪਗ ਜੋ ਡਿਵਾਈਸ ਦੇ ਆਪਣੇ ਦਾਅਵੇ 'ਤੇ ਭਰੋਸਾ ਨਹੀਂ ਕਰਦਾ। ਬੂਟ ਤੋਂ ਪੁਸ਼ਟ ਕੀਤੇ peer ਤੱਕ ਚਾਰ ਪੜਾਅ।
ਬੋਰਡ ਆਮ ਇਮੇਜ ਤੋਂ ਬੂਟ ਹੁੰਦਾ ਹੈ, DHCP ਲੀਜ਼ ਲੈਂਦਾ ਹੈ, ਅਤੇ ਕੋਈ ਵੀ ਡਿਵਾਈਸ ਨੂੰ ਛੂਹਣ ਤੋਂ ਪਹਿਲਾਂ ਪ੍ਰੋਵਿਜ਼ਨਿੰਗ ਸਕ੍ਰਿਪਟ ਚੱਲਦੀ ਹੈ। ਉਸ ਸਕ੍ਰਿਪਟ ਵਿੱਚ ਕਿਤੇ ਇਸ ਨੂੰ ਉਹ WireGuard ਪਛਾਣ ਲੈਣੀ ਪੈਂਦੀ ਹੈ ਜੋ ਇਸ ਬੋਰਡ ਦੀ ਹੈ ਅਤੇ ਹੋਰ ਕਿਸੇ ਦੀ ਨਹੀਂ, ਉਸ ਪਛਾਣ ਨੂੰ ਅਧਿਕਾਰਤ ਕਰਵਾਉਣਾ ਪੈਂਦਾ ਹੈ, ਅਤੇ ਉਹ ਪ੍ਰੋਫਾਈਲ ਲਿਖਣੀ ਪੈਂਦੀ ਹੈ ਜੋ ਗੇਟਵੇ ਸਵੀਕਾਰ ਕਰੇ। ਇਮੇਜ ਕਲਾਇੰਟ ਸੌਫਟਵੇਅਰ, ਸਮੀਖਿਆ ਕੀਤਾ ਟੈਂਪਲੇਟ ਅਤੇ ਗੇਟਵੇ ਦੀ ਜਨਤਕ ਕੁੰਜੀ ਲੈ ਜਾ ਸਕਦੀ ਹੈ। ਜੋ ਇਸ ਨੂੰ ਕਦੇ ਨਹੀਂ ਲੈ ਜਾਣਾ ਚਾਹੀਦਾ ਉਹ ਹੈ ਇੱਕ ਨਿੱਜੀ ਕੁੰਜੀ ਜੋ ਪੂਰਾ ਫਲੀਟ ਸਾਂਝਾ ਕਰਦਾ ਹੈ, ਕਿਉਂਕਿ ਇਸ ਨਾਲ ਇੱਕ ਚੋਰੀ ਹੋਇਆ ਬੋਰਡ ਪੂਰੇ ਫਲੀਟ ਦੀ ਘਟਨਾ ਬਣ ਜਾਂਦਾ ਹੈ। ਹੇਠਾਂ ਦਿੱਤਾ ਕ੍ਰਮ ਪਛਾਣ ਨੂੰ ਸਥਾਨਕ ਅਤੇ ਅਧਿਕਾਰ ਨੂੰ ਸਪਸ਼ਟ ਰੱਖਦਾ ਹੈ।
ਇਮੇਜ ਕੀ ਲੈ ਜਾਂਦੀ ਹੈ, ਅਤੇ ਕੀ ਨਹੀਂ
ਪੈਕੇਜ, ਪਲੇਸਹੋਲਡਰਾਂ ਵਾਲਾ ਟੈਂਪਲੇਟ, ਗੇਟਵੇ ਦੀ ਜਨਤਕ ਕੁੰਜੀ ਅਤੇ ਰਜਿਸਟ੍ਰੇਸ਼ਨ ਕਲਾਇੰਟ ਭੇਜੋ। ਟੈਂਪਲੇਟ ਇੱਕ ਰੂਪ ਹੈ, ਭੇਤ ਨਹੀਂ: ਇਹ ਪ੍ਰੋਵਿਜ਼ਨਿੰਗ ਵਰਤੋਂਕਾਰ ਲਈ ਪੜ੍ਹਨਯੋਗ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ ਅਤੇ ਇਸ ਵਿੱਚ ਕੋਈ ਕੁੰਜੀ ਸਮੱਗਰੀ ਨਹੀਂ ਹੋਣੀ ਚਾਹੀਦੀ।
ਨਿੱਜੀ ਕੁੰਜੀ ਪਹਿਲੇ ਬੂਟ 'ਤੇ ਡਿਵਾਈਸ 'ਤੇ ਹੀ ਬਣਦੀ ਹੈ ਅਤੇ ਇਸ ਨੂੰ ਕਦੇ ਨਹੀਂ ਛੱਡਦੀ। ਸਿਰਫ਼ ਜਨਤਕ ਅੱਧਾ ਹਿੱਸਾ ਸਫ਼ਰ ਕਰਦਾ ਹੈ, ਇੱਕ ਰਜਿਸਟ੍ਰੇਸ਼ਨ ਬੇਨਤੀ ਦੇ ਅੰਦਰ ਜੋ ਡਿਵਾਈਸ ਦੇ ਆਪਣੇ ਇਸ ਦਾਅਵੇ ਤੋਂ ਇਲਾਵਾ ਕਿਸੇ ਹੋਰ ਚੀਜ਼ ਦੁਆਰਾ ਅਧਿਕਾਰਤ ਹੁੰਦੀ ਹੈ ਕਿ ਇਹ ਕੌਣ ਹੈ। ਇਹੀ ਫ਼ਰਕ ਇੱਕ ਚੋਰੀ ਹੋਏ ਬੋਰਡ ਨੂੰ ਪੂਰੇ ਫਲੀਟ ਦੀ ਸਮੱਸਿਆ ਬਣਨ ਤੋਂ ਰੋਕਦਾ ਹੈ। ਅਤੇ ਇਹੀ ਉਹ ਹਿੱਸਾ ਹੈ ਜੋ ਜ਼ਿਆਦਾਤਰ ਪਹਿਲੇ-ਬੂਟ ਸਕ੍ਰਿਪਟਾਂ ਗਲਤ ਕਰਦੀਆਂ ਹਨ।
ਪੜਾਅ 1: ਕੁੰਜੀ ਸਥਾਨਕ ਤੌਰ 'ਤੇ ਬਣਾਓ
ਅੰਡਰਲਾਈੰਗ ਨੈੱਟਵਰਕ ਕਨੈਕਸ਼ਨ ਮਨਜ਼ੂਰ ਹੋਣ ਅਤੇ ਕੰਮ ਕਰਨ ਤੋਂ ਬਾਅਦ ਸੁਰੱਖਿਅਤ ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ ਨਿਰਮਾਣ ਚਲਾਓ। ਸਬਸ਼ੈੱਲ umask ਤਬਦੀਲੀ ਨੂੰ ਸਿਰਫ਼ ਇਸ ਕਾਰਵਾਈ ਤੱਕ ਸਥਾਨਕ ਰੱਖਦਾ ਹੈ, ਅਤੇ set -C ਮੌਜੂਦਾ ਫਾਈਲ ਨੂੰ ਮਿਟਾ ਕੇ ਦੁਬਾਰਾ ਲਿਖਣ ਤੋਂ ਇਨਕਾਰ ਕਰਦਾ ਹੈ:
(
umask 077
set -C
wg genkey > /etc/wireguard/device.key &&
wg pubkey < /etc/wireguard/device.key > /etc/wireguard/device.pub
)
WireGuard ਤੇਜ਼ ਸ਼ੁਰੂਆਤ ਉਸ ਕੁੰਜੀ-ਨਿਰਮਾਣ ਸੰਬੰਧ ਦਾ ਦਸਤਾਵੇਜ਼ੀਕਰਨ ਕਰਦਾ ਹੈ ਜਿਸ 'ਤੇ ਇਹ ਦੋ ਕਮਾਂਡਾਂ ਨਿਰਭਰ ਕਰਦੀਆਂ ਹਨ। ਜੇ ਨਿਰਮਾਣ ਵਿੱਚ ਰੁਕਾਵਟ ਆਵੇ, ਤਾਂ ਡਿਵਾਈਸ ਨੂੰ ਗੈਰ-ਰਜਿਸਟਰਡ ਛੱਡ ਦਿਓ ਅਤੇ ਵਰਕਫਲੋ ਨੂੰ ਫਾਈਲਾਂ ਮਿਲਾਉਣ ਦਿਓ। ਸਿਰਫ਼ ਇਸ ਲਈ ਕਿ ਸਕ੍ਰਿਪਟ ਸ਼ੁਰੂ ਤੋਂ ਸਾਫ਼ ਚੱਲੇ, ਮੌਜੂਦਾ ਪਛਾਣ ਨਾ ਮਿਟਾਓ।
ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ਾਂ ਦੌਰਾਨ ਬਕਾਇਆ ਕੁੰਜੀ ਸੰਭਾਲੋ। ਹਰ ਅਸਥਾਈ ਨੈੱਟਵਰਕ ਅਸਫਲਤਾ ਤੋਂ ਬਾਅਦ ਪਛਾਣ ਦੁਬਾਰਾ ਬਣਾਉਣਾ ਹੀ ਉਹ ਤਰੀਕਾ ਹੈ ਜਿਸ ਨਾਲ ਫਲੀਟ ਵਿੱਚ ਐਸੇ ਅਨਾਥ peer ਰਹਿ ਜਾਂਦੇ ਹਨ ਜਿਨ੍ਹਾਂ ਨੂੰ ਕੋਈ ਡਿਵਾਈਸ ਨਾਲ ਨਹੀਂ ਜੋੜ ਸਕਦਾ।
ਪੜਾਅ 2: ਡਿਵਾਈਸ ਰਿਕਾਰਡ ਨੂੰ ਅਧਿਕਾਰਤ ਕਰੋ
ਮੰਨ ਲਓ ਇਨਵੈਂਟਰੀ ਇਸ ਬੋਰਡ ਨੂੰ device-042 ਕਹਿੰਦੀ ਹੈ ਅਤੇ ਇਸ ਨੂੰ 10.90.0.42/32 ਦਿੰਦੀ ਹੈ। ਰਜਿਸਟ੍ਰੇਸ਼ਨ ਸੇਵਾ ਨੂੰ ਪੁਸ਼ਟੀ ਕਰਨੀ ਪੈਂਦੀ ਹੈ ਕਿ ਇਸ ਬੇਨਤੀਕਰਤਾ ਦਾ ਉਸ ਰਿਕਾਰਡ 'ਤੇ ਹੱਕ ਹੈ। ਫਾਰਮ ਵਿੱਚ ਟਾਈਪ ਕੀਤਾ ਸੀਰੀਅਲ ਨੰਬਰ ਸਬੂਤ ਨਹੀਂ ਹੈ, ਕਿਉਂਕਿ ਸੀਰੀਅਲ ਨੰਬਰ ਡੱਬੇ ਦੇ ਬਾਹਰ ਛਾਪੇ ਜਾਂਦੇ ਹਨ।
ਪ੍ਰਤੀ-ਡਿਵਾਈਸ ਬੂਟਸਟ੍ਰੈਪ ਕ੍ਰੈਡੈਂਸ਼ੀਅਲ, ਓਪਰੇਟਰ ਦੀ ਮਨਜ਼ੂਰੀ, ਜਾਂ ਹਾਰਡਵੇਅਰ-ਸਮਰਥਿਤ ਪ੍ਰਮਾਣਿਕਤਾ ਦਾਅਵੇ ਨੂੰ ਸਥਾਪਿਤ ਕਰ ਸਕਦੇ ਹਨ। ਬੇਨਤੀ ਦੀ ਅਖੰਡਤਾ ਅਤੇ ਜਵਾਬ ਦੀ ਪ੍ਰਮਾਣਿਕਤਾ ਦੀ ਰੱਖਿਆ ਕਰੋ, ਅਤੇ ਇੱਕ ਸਾਂਝੇ VPN ਭੇਤ ਨੂੰ ਇੱਕ ਸਾਂਝੇ ਫੈਕਟਰੀ ਕ੍ਰੈਡੈਂਸ਼ੀਅਲ ਨਾਲ ਨਾ ਬਦਲੋ।
ਰਜਿਸਟਰਡ ਰਿਕਾਰਡ ਡਿਵਾਈਸ, ਇਸ ਦੀ ਜਨਤਕ ਕੁੰਜੀ, ਦਿੱਤਾ ਗਿਆ ਪਤਾ ਅਤੇ ਮਨਜ਼ੂਰਸ਼ੁਦਾ ਪ੍ਰਬੰਧਨ ਭੂਮਿਕਾ ਨੂੰ ਬੰਨ੍ਹਦਾ ਹੈ। WireGuard ਆਪ ਕੋਈ ਰਜਿਸਟ੍ਰੇਸ਼ਨ API ਪਰਿਭਾਸ਼ਿਤ ਨਹੀਂ ਕਰਦਾ, ਇਸ ਲਈ ਉਹ ਸੇਵਾ ਉਹ ਚੀਜ਼ ਹੈ ਜੋ ਤੁਸੀਂ ਜਾਣਬੁੱਝ ਕੇ ਬਣਾਉਂਦੇ ਅਤੇ ਚਲਾਉਂਦੇ ਹੋ।
ਪੜਾਅ 3: ਦੋ ਮੇਲ ਖਾਂਦੀਆਂ ਕਨਫਿਗਰੇਸ਼ਨਾਂ ਲਿਖੋ
ਡਿਵਾਈਸ ਨੂੰ ਉਹ ਪ੍ਰੋਫਾਈਲ ਚਾਹੀਦੀ ਹੈ ਜੋ ਪ੍ਰਬੰਧਨ ਪ੍ਰੀਫਿਕਸ ਟਨਲ ਵਿੱਚ ਰੂਟ ਕਰੇ, ਅਤੇ ਗੇਟਵੇ ਨੂੰ ਉਹ peer ਐਂਟਰੀ ਚਾਹੀਦੀ ਹੈ ਜੋ ਸਿਰਫ਼ ਇਸ ਡਿਵਾਈਸ ਦੇ ਆਪਣੇ ਸਰੋਤ ਪਤੇ ਨੂੰ ਮਨਜ਼ੂਰੀ ਦੇਵੇ। ਗੇਟਵੇ 10.90.0.1 'ਤੇ ਅਤੇ ਪ੍ਰਬੰਧਨ ਨੈੱਟਵਰਕ 10.60.0.0/16 ਹੋਣ 'ਤੇ ਡਿਵਾਈਸ ਵਾਲਾ ਪਾਸਾ ਇੰਝ ਦਿਸਦਾ ਹੈ:
[Interface]
PrivateKey = <device-042 private key>
Address = 10.90.0.42/32
[Peer]
PublicKey = <trusted gateway public key>
Endpoint = vpn.example.com:51820
AllowedIPs = 10.90.0.1/32, 10.60.0.0/16
PersistentKeepalive = 25
ਬਰੈਕਟਾਂ ਅੰਦਰਲੇ ਮੁੱਲ ਪਲੇਸਹੋਲਡਰ ਹਨ, ਕੁੰਜੀਆਂ ਨਹੀਂ। ਜਦੋਂ ਬੋਰਡ NAT ਪਿੱਛੇ ਹੋਵੇ ਅਤੇ ਪਹੁੰਚਯੋਗ ਰਹਿਣਾ ਚਾਹੀਦਾ ਹੋਵੇ ਤਾਂ keepalive ਮਹੱਤਵਪੂਰਨ ਹੈ; ਇਹ ਹਰ ਥਾਂ ਲੋੜੀਂਦਾ ਨਹੀਂ, ਅਤੇ ਆਦਤ ਨਾਲ ਜੋੜਨਾ ਰੇਡੀਓ ਨੂੰ ਬਿਨਾਂ ਕਾਰਨ ਜਗਾਈ ਰੱਖਦਾ ਹੈ।
ਗੇਟਵੇ 'ਤੇ, peer ਐਂਟਰੀ ਜਾਣਬੁੱਝ ਕੇ ਤੰਗ ਹੈ:
[Peer]
PublicKey = <device-042 public key>
AllowedIPs = 10.90.0.42/32
ਡਿਵਾਈਸ ਦੀ ਮੰਜ਼ਿਲ ਸੂਚੀ ਗੇਟਵੇ peer 'ਤੇ ਨਕਲ ਨਾ ਕਰੋ। ਡਿਵਾਈਸ 'ਤੇ ਉਹ ਸੂਚੀ ਦੱਸਦੀ ਹੈ ਕਿ ਟਨਲ ਵਿੱਚ ਕੀ ਰੂਟ ਕਰਨਾ ਹੈ; ਗੇਟਵੇ 'ਤੇ ਇਹ ਦੱਸਦੀ ਹੈ ਕਿ ਇਹ peer ਕਿਹੜੇ ਸਰੋਤ ਪਤੇ ਵਰਤ ਸਕਦਾ ਹੈ, ਅਤੇ ਇਹ ਵੱਖਰੇ ਬਿਆਨ ਹਨ।
ਫਾਰਵਰਡਿੰਗ, ਫਾਇਰਵਾਲ ਨਿਯਮ ਅਤੇ ਪ੍ਰਬੰਧਨ ਨੈੱਟਵਰਕ ਵੱਲ ਵਾਪਸੀ ਰਾਹ ਨੂੰ ਅਜੇ ਵੀ ਮਨਜ਼ੂਰਸ਼ੁਦਾ ਪਹੁੰਚ ਦੀ ਇਜਾਜ਼ਤ ਦੇਣੀ ਚਾਹੀਦੀ ਹੈ। ਰਜਿਸਟਰਡ peer ਇਸਦੇ ਪਿੱਛੇ ਦੀ ਹਰ ਐਪਲੀਕੇਸ਼ਨ ਲਈ ਇਜਾਜ਼ਤ ਨਹੀਂ ਹੈ।
ਪੜਾਅ 4: ਰਜਿਸਟ੍ਰੇਸ਼ਨ ਨੂੰ ਜੀਵਨ-ਚੱਕਰ ਸਥਿਤੀ ਵਜੋਂ ਸਥਾਪਿਤ ਕਰੋ
ਹਰ ਕਨਫਿਗਰੇਸ਼ਨ ਦੇ ਮਾਲਕ ਰਾਹੀਂ ਗੇਟਵੇ ਰਿਕਾਰਡ ਅਤੇ ਡਿਵਾਈਸ ਪ੍ਰੋਫਾਈਲ ਲਾਗੂ ਕਰੋ, ਫਿਰ ਰਜਿਸਟ੍ਰੇਸ਼ਨ ਨੂੰ ਸਿਰਫ਼ ਤਦ ਪੂਰਾ ਚਿੰਨ੍ਹਿਤ ਕਰੋ ਜਦੋਂ ਇੱਛਤ ਪਛਾਣ ਅਤੇ ਪਤਾ ਸਵੀਕਾਰ ਕੀਤੇ ਜਾਣ। ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ਾਂ ਨੂੰ ਦੂਜਾ peer ਜਾਂ ਦੂਜਾ ਪਤਾ ਦੇਣ ਦੀ ਬਜਾਏ ਉਹੀ ਰਿਕਾਰਡ ਮਿਲਾਉਣਾ ਚਾਹੀਦਾ ਹੈ।
ਰੁਕੀ ਹੋਈ ਪ੍ਰੋਵਿਜ਼ਨਿੰਗ ਲਈ ਰਿਕਵਰੀ ਰਾਹ ਰੱਖੋ, ਜਿਸ ਵਿੱਚ ਉਹ ਸਥਿਤੀ ਵੀ ਸ਼ਾਮਲ ਹੈ ਜਿੱਥੇ ਗੇਟਵੇ ਨੇ ਕੁੰਜੀ ਸਵੀਕਾਰ ਕੀਤੀ ਪਰ ਡਿਵਾਈਸ ਨੇ ਕਦੇ ਆਪਣੀ ਪ੍ਰੋਫਾਈਲ ਨਹੀਂ ਲਿਖੀ।
ਜਦੋਂ ਬੋਰਡ ਬਦਲਿਆ ਜਾਂ ਰਿਟਾਇਰ ਹੋਇਆ, ਤਾਂ ਇਸ ਦੀ ਜਨਤਕ ਕੁੰਜੀ ਅਤੇ ਇਸ ਦਾ ਅਧਿਕਾਰ ਇਕੱਠੇ ਹਟਾਓ। ਨਵੀਂ ਕੁੰਜੀ ਇੱਕ ਜਾਣਬੁੱਝ ਕੇ ਕੀਤੀ ਮੁੜ-ਰਜਿਸਟ੍ਰੇਸ਼ਨ ਘਟਨਾ ਹੈ, ਰੀਇਮੇਜ ਦਾ ਸਾਈਡ ਇਫੈਕਟ ਨਹੀਂ। ਕੰਮ ਦਾ ਕ੍ਰਮ: ਸਥਾਨਕ ਤੌਰ 'ਤੇ ਬਣਾਓ, ਇਨਵੈਂਟਰੀ ਵਿਰੁੱਧ ਅਧਿਕਾਰਤ ਕਰੋ, ਦੋਵੇਂ ਪਾਸੇ ਲਿਖੋ, ਸਥਿਤੀ ਸਥਾਪਿਤ ਕਰੋ, ਫਿਰ ਟਨਲ ਰਾਹੀਂ ਇੱਕ ਪ੍ਰਬੰਧਨ ਬੇਨਤੀ ਦੀ ਜਾਂਚ ਕਰੋ।