Satu akaun yang boleh log masuk ke mana-mana satu daripada dua nod VPN menimbulkan soalan reka bentuk jauh sebelum ia menimbulkan soalan perisian. Pandangan akaun, rangkaian yang dimiliki setiap nod dan sesi yang dipegang oleh klien yang bersambung ialah tiga jenis keadaan yang berbeza, dan ia gagal dengan cara yang berbeza apabila anda menyalinnya ke sana ke mari. Menyalin ketiga-tiganya ke dalam satu sistem ialah cara biasa untuk kehilangan salah satunya.

Telusuri tiga lejar di bawah mengikut urutan. Setiap satu bertanya apa yang berwibawa, apa yang setempat dan apa yang berlaku apabila nod lain tiada, dan jawapannya tidak saling mengikuti.

Siapa yang boleh bersambung: satu pihak berkuasa, banyak nod

Mulakan dengan lejar kemasukan: sumber identiti mana yang berwibawa, pengeluar sijil mana yang dipercayai, akaun mana yang layak, faktor kedua apa yang terpakai dan apa yang boleh dicapai oleh setiap akaun. Kemudian catat bagaimana setiap nod mengetahui perubahan, dan betapa cepat.

Pangkalan data bersama ialah satu komponen yang mungkin bagi jawapan itu. Ia bukan bukti bahawa setiap dasar yang berkaitan tinggal di sana, atau bahawa setiap nod mengaplikasikan perubahan pada saat yang sama. Akaun yang dinyahdayakan pada nod A tetapi masih diterima pada nod B bermakna proses keluar belum selesai.

Tentukan apa yang nod lakukan apabila pihak berkuasa tidak dapat dihubungi. Menerima kelayakan cache semasa gangguan ialah pilihan dasar dengan kos keselamatan, dan menolaknya ialah pilihan dasar dengan kos ketersediaan. Kedua-duanya boleh dipertahankan; membiarkannya tanpa dokumentasi tidak.

Asingkan kuasa pengeluar daripada data akaun. Beberapa gerbang boleh mempercayai CA yang sama tanpa memegang kunci tandatangannya, dan setiap nod masih perlukan sijil pelayannya sendiri dan hubungan kepercayaan sebelah kliennya sendiri.

Apa yang dimiliki nod: alamat dan laluan

Lejar kedua adalah setempat kepada setiap nod: alamat pendengar, identiti pelayan, kolam alamat, laluan ke sumber peribadi, dasar penyelesai dan bagaimana trafik keluar ke internet. Akaun yang sama boleh dilayan oleh mana-mana nod sementara objek-objek ini kekal berbeza.

Laluan balik ialah bahagian yang dilupakan. Jika kedua-dua nod mengagihkan alamat daripada kolam yang sama, rangkaian peribadi tidak dapat menentukan nod mana yang memiliki klien tertentu, dan balasan mungkin dihantar ke tempat yang salah. Kolam berbeza juga memerlukan laluan dan kebenaran, jadi julat nombor yang berbeza bukan reka bentuk yang lengkap.

Halakan klien ke satu nod secara sengaja. Pemilihan DNS, senarai titik akhir klien dan perkhidmatan hadapan ialah mekanisme berbeza dengan tingkah laku kesihatan dan pengalihan kegagalan yang berbeza. Memilih salah satu adalah wajar; memperlakukan “pengimbangan beban” sebagai reka bentuk membiarkan laluan balik dan tingkah laku kegagalan tidak ditakrifkan.

Contoh produk yang didokumenkan membantu di sini. Dokumentasi replikasi Pritunl memperlakukan rangkaian VPN sebagai objek bagi setiap replika, dan klien pada replika berbeza memerlukan laluan dan kesambungan tambahan untuk mencapai satu sama lain. Itu susunan khusus produk, bukan resipi untuk Community OpenVPN, tetapi ia menunjukkan mengapa menambah replika mengubah rangkaian dan bukan hanya stor akaun.

Apa itu sesi: keadaan hidup, bukan baris

Lejar ketiga ialah sesi langsung. Klien yang bersambung mempunyai keadaan protokol dan peruntukan rangkaian pada nod yang menerimanya. Akaun yang diketahui pada nod lain tidak memberikan nod itu sesi, kunci atau keupayaan meneruskan paket.

Bersikap jelas tentang apa yang berlaku apabila nod gagal. Hasil yang disokong mungkin penyambungan semula ke nod lain dengan pengesahan baharu dan alamat baharu, selepas itu aplikasi pulih dengan caranya sendiri. Jika penyerahan tanpa gangguan diperlukan, keperluan itu memerlukan sokongan pelaksanaan yang jelas, bukan kesimpulan daripada replikasi pangkalan data. Tulis jawapannya di tempat jurutera jaga boleh menemuinya.

Peraturan kapasiti memerlukan layanan yang sama. Had dua sesi serentak bagi setiap akaun hanya boleh dikuatkuasakan merentas nod jika sesuatu pihak berkuasa mempunyai pandangan terselaras tentang slot yang diduduki. Senarai setempat nod dan rekod akaun sejarah tidak menjumlah menjadi pandangan itu.

Menguji ketiga-tiga lejar

Latih setiap satu secara berasingan. Log masuk melalui nod A, kemudian melalui nod B, dan sahkan kedua-duanya berjaya dengan julat alamat yang dijangka. Tarik balik satu identiti dan periksa kedua-dua nod, bukan hanya yang anda uji secara kebetulan. Kemudian hentikan satu nod dan perhatikan apa yang sebenarnya dilakukan oleh klien dan aplikasi peribadi.

Sertakan laluan balik dalam ujian penerimaan. Klien yang bersambung ke B tetapi tidak dapat menerima balasan daripada sumber di belakang A telah lulus pemeriksaan kemasukan dan gagal pemeriksaan rangkaian, dan perbezaan itu harus muncul dalam laporan.

Reka bentuk akaun berbilang nod lengkap hanya apabila ketiga-tiga lejar mempunyai pemilik yang jelas, laluan perubahan dan tingkah laku kegagalan. Menyalin fail konfigurasi merentas nod tidak menjawab mana-mana soalan itu.

Artikel berkaitan