Lövhə ortaq obrazdan yüklənir, DHCP icarəsi alır və hər hansı kəs cihaza toxunmadan əvvəl quraşdırma skripti işləyir. Həmin skriptin haradasa yalnız bu lövhəyə aid olan və başqa heç birinə aid olmayan WireGuard kimliyi almalı, həmin kimliyi avtorizasiya etdirməli və şlüzün qəbul edəcəyi profil yazmalıdır. Obraz müştəri proqramını, yoxlanılmış şablonu və şlüzün açıq açarını daşıya bilər. Heç vaxt daşımamalı olduğu şey bütün donanmanın paylaşdığı bir şəxsi açardır, çünki bu, bir oğurlanmış lövhəni bütün donanma üçün hadisəyə çevirir. Aşağıdakı sıra kimliyi lokal, avtorizasiyanı isə açıq saxlayır.

Obraz nə daşıyır, nə daşımır

Paketi, yer tutucularla şablonu, şlüzün açıq açarını və qeydiyyat müştərisini göndərin. Şablon bir formadır, sirr deyil: quraşdırma istifadəçisi üçün oxunaqlı olmalı və heç bir açar materialı saxlamamalıdır.

Şəxsi açar ilk açılışda cihazda yaradılır və onu heç vaxt tərk etmir. Yalnız açıq yarısı səyahət edir, cihazın özü haqqında öz iddiasından başqa bir şeylə avtorizasiya edilən qeydiyyat sorğusunun içində. Bu fərq oğurlanmış lövhənin bütün donanma üçün problemə çevrilməsinin qarşısını alır. Bu da ilk açılış skriptlərinin çoxunun səhv etdiyi hissədir.

Addım 1: açarı lokal olaraq yaradın

Yaradılmanı əsas şəbəkə bağlantısı təsdiqlənib işlədikdən sonra qorunan qovluqda icra edin. Alt qabıq umask dəyişikliyini bu əməliyyatla lokal saxlayır və set -C mövcud faylın üzərinə yazmaqdan imtina edir:

(
    umask 077
    set -C
    wg genkey > /etc/wireguard/device.key &&
        wg pubkey < /etc/wireguard/device.key > /etc/wireguard/device.pub
)

WireGuard sürətli başlanğıcı bu iki əmrin istinad etdiyi açar yaradılma əlaqəsini sənədləşdirir. Yaradılma kəsilərsə, cihazı qeydiyyatsız buraxın və iş axını faylları uzlaşdırsın. Skriptin yuxarıdan təmiz işləməsi üçün mövcud kimliyi silməyin.

Gözləyən açarı təkrar cəhdlər boyunca saxlayın. Hər müvəqqəti şəbəkə nasazlığından sonra kimliyi yenidən yaratmaq donanmanın heç kimin cihazla uyğunlaşdıra bilmədiyi yetim peer-lərlə qalmasının yoludur.

Addım 2: cihaz qeydini avtorizasiya edin

Tutaq ki, inventar bu lövhəni device-042 adlandırır və ona 10.90.0.42/32 təyin edir. Qeydiyyat xidməti bu sorğunu göndərənin həmin qeydə haqqı olduğunu yoxlamalıdır. Formaya yazılmış seriya nömrəsi sübut deyil, çünki seriya nömrələri qutunun xarici tərəfinə çap olunur.

Hər cihaz üçün bootstrap etimadnaməsi, operator təsdiqi və ya apparat dəstəkli attestasiya iddianı əsaslandıra bilər. Sorğunun bütövlüyünü və cavabın həqiqiliyini qoruyun və bir ortaq VPN sirrini bir ortaq zavod etimadnaməsi ilə əvəz etməyin.

Qeydə alınmış qeyd cihazı, onun açıq açarını, təyin edilmiş ünvanını və icazəli idarəetmə rolunu bağlayır. WireGuard özü heç bir qeydiyyat API-si müəyyən etmir, ona görə də bu xidmət qəsdən qurub idarə etdiyiniz bir şeydir.

Addım 3: bir-birinə uyğun iki konfiqurasiya yazın

Cihaza idarəetmə prefikslərini tunelə yönləndirən profil, şlüzə isə yalnız bu cihazın öz mənbə ünvanına icazə verən peer qeydi lazımdır. Şlüz 10.90.0.1-də və idarəetmə şəbəkəsi 10.60.0.0/16 olduqda cihaz tərəfi belə görünür:

[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

Mötərizədəki dəyərlər yer tutucudur, açar deyil. Keepalive lövhə NAT arxasında oturub əlçatan qalmalı olduqda vacibdir; hər yerdə tələb olunmur və vərdişdən əlavə etmək radio-nu səbəbsiz oyaq saxlayır.

Şlüzdə peer qeydi qəsdən dardır:

[Peer]
PublicKey = <device-042 public key>
AllowedIPs = 10.90.0.42/32

Cihazın təyinat siyahısını şlüz peer-inə köçürməyin. Cihazda bu siyahı tunelə nəyin yönləndiriləcəyini deyir; şlüzdə isə bu peer-in hansı mənbə ünvanlarından istifadə edə biləcəyini deyir və bunlar fərqli ifadələrdir.

Yönləndirmə, firewall qaydaları və idarəetmə şəbəkəsinə qayıdış yolu hələ də təsdiqlənmiş girişə icazə verməlidir. Qeydə alınmış peer onun arxasındakı hər tətbiq üçün icazə deyil.

Addım 4: qeydiyyatı həyat dövrü vəziyyəti kimi təsdiqləyin

Şlüz qeydini və cihaz profilini hər konfiqurasiyanın sahibi vasitəsilə tətbiq edin, sonra qeydiyyatı yalnız nəzərdə tutulan kimlik və ünvan qəbul edildikdə tamamlanmış kimi işarələyin. Təkrar cəhdlər ikinci peer və ya ikinci ünvan ayırmaq əvəzinə həmin qeydi uzlaşdırmalıdır.

Kəsilmiş quraşdırma üçün bərpa yolu saxlayın, o cümlədən şlüzün açarı qəbul etdiyi və cihazın profilini heç vaxt yazmadığı hal üçün.

Lövhə dəyişdirildikdə və ya istismardan çıxarıldıqda, onun açıq açarını və avtorizasiyasını birlikdə silin. Yeni açar qəsdən edilən yenidən qeydiyyat hadisəsidir, yenidən obrazlaşdırmanın yan təsiri deyil. İş sırası: lokal olaraq yaradın, inventara qarşı avtorizasiya edin, hər iki tərəfi yazın, vəziyyəti təsdiqləyin, sonra tunel vasitəsilə bir idarəetmə sorğusunu sınayın.

Əlaqəli məqalələr