Didukung oleh ZeroTier. Panduan praktis untuk membangun jaringan virtual. Bagian 1


Melanjutkan kisah tentang ZeroTier, dari teori yang disajikan dalam artikel " Peralihan Ethernet Cerdas untuk Planet Bumi ", saya beralih ke praktik di mana:

  • Membuat dan mengonfigurasi pengontrol jaringan pribadi
  • Buat jaringan virtual
  • Konfigurasikan dan hubungkan node ke sana
  • Periksa konektivitas jaringan di antara mereka.
  • Tutup akses ke GUI pengontrol jaringan dari luar

Pengontrol jaringan


Seperti yang disebutkan sebelumnya, untuk membuat jaringan virtual, mengelolanya, dan juga menghubungkan node, pengguna membutuhkan pengontrol jaringan, antarmuka grafis (GUI) yang ada dalam dua cara:

Opsi GUI ZeroTier
  • Satu dari pengembang ZeroTier, tersedia sebagai solusi cloud publik yang disediakan oleh model SaaS, dengan empat paket berlangganan, termasuk gratis, tetapi terbatas dalam jumlah perangkat yang dikelola dan tingkat dukungan
  • Yang kedua adalah dari pengembang independen, fungsionalitas agak disederhanakan, tetapi tersedia sebagai solusi open source pribadi untuk digunakan di tempat atau pada sumber daya cloud.

Dalam latihan saya, saya menggunakan keduanya, dan sebagai hasilnya, tetap memilih yang kedua. Alasan untuk ini adalah peringatan pengembang.

β€œPengontrol jaringan berfungsi sebagai otoritas sertifikasi untuk jaringan virtual ZeroTier. File yang berisi kunci rahasia controller harus dijaga dengan hati-hati dan diarsipkan dengan aman. Mengompromikan mereka memungkinkan penyerang tidak sah untuk membuat konfigurasi jaringan yang curang. Dan kerugian itu mengarah pada hilangnya kemampuan untuk mengendalikan dan mengelola jaringan, secara efektif membuatnya tidak dapat digunakan. "

β†’ Tautan ke dokumentasi

Dan juga, tanda-tanda IB paranoid mereka sendiri :)

  • Bahkan jika Cheburnet datang, saya masih harus memiliki akses ke pengontrol jaringan saya;
  • Hanya saya yang harus menggunakan pengontrol jaringan. Jika perlu, memberikan akses ke perwakilan resmi mereka;
  • Seharusnya dimungkinkan untuk membatasi akses ke pengontrol jaringan dari luar.

Untuk membahas secara terpisah tentang cara menggunakan pengontrol jaringan dan GUI untuknya pada sumber daya fisik atau virtual di lokasi, dalam artikel ini saya tidak melihat banyak gunanya. Dan ada juga 3 alasan untuk ini:

  • lebih banyak surat dari yang direncanakan
  • Ini sudah dijelaskan pada Pengembang GUI GitHab
  • topik tentang yang lain

Oleh karena itu, dengan memilih jalur yang kurang tahan, saya akan menggunakan narasi ini pengontrol jaringan dengan GUI berbasis VDS yang dibuat dari template yang dikembangkan oleh kolega saya dari RuVDS.

Pengaturan awal


Setelah membuat server dari templat yang ditentukan, pengguna mendapatkan akses ke Web-GUI controller melalui browser dengan menghubungi di https: // <server IP>: 3443


Secara default, server sudah berisi sertifikat TLS / SSL yang ditandatangani sendiri yang dibuat sebelumnya. Ini cukup bagi saya, karena saya memblokir akses dari luar. Bagi mereka yang ingin menggunakan jenis sertifikat lain, ada instruksi untuk menginstal pengembang GUI di GitHab.

Saat pengguna pertama kali masuk ke sistem Login dengan nama pengguna dan kata sandi default - admin dan kata sandi :


Dia menyarankan untuk mengubah kata sandi default ke pengguna


Saya bertindak sedikit berbeda - saya tidak mengubah kata sandi untuk pengguna yang sudah ada, tetapi membuat yang baru - Buat Pengguna .

Saya menetapkan nama pengguna baru - Nama pengguna :
Saya menetapkan kata sandi baru - Masukkan kata sandi baru :
Saya mengkonfirmasi kata sandi baru - Masukkan kembali kata sandi :

Karakter yang dimasukkan peka huruf besar kecil - hati-hati!

Centang kotak untuk mengonfirmasi perubahan kata sandi pada login berikutnya - Ubah kata sandi pada login berikutnya: Saya tidak menandainya

Untuk mengkonfirmasi data yang dimasukkan, tekan Atur kata sandi :


Kemudian: masuk - Keluar / Masuk , sudah berada di bawah kredensial pengguna baru:


Selanjutnya, saya pergi ke tab Users - Users dan menghapus pengguna admin dengan mengklik ikon tempat sampah yang terletak di sebelah kiri namanya.


Di masa mendatang, Anda dapat mengubah kata sandi pengguna dengan mengklik namanya atau mengatur kata sandi.

Membuat jaringan virtual


Untuk membuat jaringan virtual, pengguna harus masuk ke tab Tambah jaringan . Dari item Pengguna ini dapat dilakukan melalui halaman Beranda - halaman Web-GUI utama, di mana alamat ZeroTier dari pengontrol jaringan ini ditampilkan dan ada tautan ke daftar jaringan yang dibuat melaluinya.


Pada halaman Tambahkan jaringan , pengguna menetapkan nama jaringan yang ia buat lagi.


Saat menerapkan data input - Buat Jaringan, pengguna masuk ke halaman dengan daftar jaringan yang ditunjukkan:

Nama jaringan - nama jaringan dalam bentuk tautan, saat Anda mengkliknya Anda dapat mengubahnya
ID Jaringan - ID Jaringan
detail - tautan ke halaman dengan parameter jaringan terinci
setup mudah - tautan ke halaman untuk setup mudah
anggota - tautan ke halaman manajemen situs


Untuk konfigurasi lebih lanjut, klik tautan pengaturan mudah . Pada halaman yang terbuka, pengguna menetapkan kisaran alamat IPv4 untuk jaringan yang sedang dibuat. Ini dapat dilakukan secara otomatis dengan menekan tombol Generate network address atau secara manual dengan memasukkan mask jaringan dari jaringan CIDR di bidang yang sesuai.


Setelah konfirmasi entri data berhasil, Anda harus kembali ke halaman dengan daftar jaringan menggunakan tombol Kembali. Pada ini, konfigurasi jaringan dasar dapat dianggap lengkap.

Menghubungkan host


  1. Pertama, Anda perlu menginstal layanan ZeroTier One pada node yang ingin disambungkan pengguna ke jaringan.

    Apa itu ZeroTier One?
    ZeroTier One adalah layanan yang berjalan pada laptop, desktop, server, mesin dan wadah virtual, yang menyediakan koneksi ke jaringan virtual melalui port jaringan virtual, seperti klien VPN.

    Setelah menginstal dan memulai layanan, Anda dapat terhubung ke jaringan virtual menggunakan 16 digit alamatnya. Setiap jaringan terlihat seperti port jaringan virtual dalam sistem, yang berperilaku sama dengan port Ethernet biasa.

    Tautan ke distribusi, serta perintah pemasangan dapat ditemukan di halaman pabrikan .

    Anda dapat mengelola layanan yang diinstal melalui terminal baris perintah (CLI) dengan hak administrator / root. Di Windows / MacOS, juga menggunakan antarmuka grafis. Di Android / iOS, hanya menggunakan GUI.
  2. Memeriksa keberhasilan menginstal layanan:

    CLI:

    zerotier-cli status 

    Hasil:

    200 info ebf416fac1 1.4.6 ONLINE
    GUI:

    Kenyataan operasi aplikasinya dan keberadaannya di dalam garis dengan Node ID dengan alamat simpul.
  3. Menghubungkan node ke jaringan:

    CLI:

     zerotier-cli join <Network ID> 

    Hasil:

    200 join OK

    GUI:

    Windows: klik kanan pada ikon ZeroTier One di baki sistem dan pilih - Gabung Jaringan .


    MacOS: Luncurkan aplikasi ZeroTier One di menu bar, jika belum berjalan. Klik pada ikon and dan pilih Join Network .

    Android / iOS: + (plus gambar) dalam aplikasi


    Di bidang yang muncul, masukkan ID Jaringan yang ditentukan dalam GUI pengendali jaringan dan klik Bergabung / Tambah Jaringan .
  4. Menetapkan Alamat IP ke Host
    Sekarang kita kembali ke pengontrol jaringan dan pada halaman dengan daftar jaringan pergi ke tautan anggota . Jika pada layar Anda melihat gambar yang mirip dengan ini, itu berarti pengontrol jaringan Anda menerima permintaan untuk mengkonfirmasi koneksi ke jaringan dari node yang terhubung.


    Pada halaman ini kami meninggalkan semuanya apa adanya dan melalui tautan penugasan IP pergi ke halaman tujuan dari simpul alamat IP:


    Setelah menetapkan alamat, dengan tombol Kembali kami kembali ke halaman daftar node yang terhubung dan menetapkan nama - Nama anggota dan centang kotak centang untuk mengesahkan simpul pada jaringan - Diotorisasi . Omong-omong, kotak centang ini adalah hal yang sangat nyaman untuk memutuskan / menghubungkan ke jaringan host di masa depan.


    Simpan perubahan menggunakan tombol Refresh .
  5. Memeriksa status koneksi node ke jaringan:
    Untuk memeriksa status koneksi pada node itu sendiri, kami melakukan:
    CLI:

     zerotier-cli listnetworks 

    Hasil:

    200 listnetworks <nwid> <name> <mac> <status> <type> <dev> <ZT assigned ips>
    200 listnetworks 2da06088d9f863be My_1st_VLAN be:88:0c:cf:72:a1 OK PRIVATE ethernet_32774 10.10.10.2/24

    GUI:

    Status Jaringan Harus OK

    Untuk menghubungkan node yang tersisa, ulangi langkah 1-5 untuk masing-masing node.

Verifikasi konektivitas jaringan node


Saya melakukan ini dengan mengeksekusi perintah ping <alamat IP dari node jaringan lain> pada perangkat yang terhubung jaringan yang saat ini saya kendalikan.


Di tangkapan layar pengontrol Web-GUI, Anda dapat melihat tiga simpul terhubung ke jaringan:

  1. ZTNCUI - 10.10.10.1 - pengontrol jaringan saya dengan GUI - VDS di salah satu DC RuVDS. Untuk pekerjaan normal, tidak perlu menambahkannya ke jaringan, tetapi saya melakukannya karena saya ingin memblokir akses ke antarmuka web dari luar. Lebih lanjut tentang ini nanti.
  2. MyComp - 10.10.10.2 - komputer saya yang bekerja adalah PC fisik
  3. Cadangkan - 10.10.10.3 - VDS di DC lain.

Oleh karena itu, dari komputer kerja saya, saya memeriksa ketersediaan node lain dengan perintah:

 ping 10.10.10.1 

Pinging 10.10.10.1 with 32 bytes of data:
Reply from 10.10.10.1: bytes=32 time=14ms TTL=64
Reply from 10.10.10.1: bytes=32 time=4ms TTL=64
Reply from 10.10.10.1: bytes=32 time=7ms TTL=64
Reply from 10.10.10.1: bytes=32 time=2ms TTL=64

Ping statistics for 10.10.10.1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 2ms, Maximum = 14ms, Average = 6ms


 ping 10.10.10.3 

Pinging 10.10.10.3 with 32 bytes of data:
Reply from 10.10.10.3: bytes=32 time=15ms TTL=64
Reply from 10.10.10.3: bytes=32 time=4ms TTL=64
Reply from 10.10.10.3: bytes=32 time=8ms TTL=64
Reply from 10.10.10.3: bytes=32 time=4ms TTL=64

Ping statistics for 10.10.10.3:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 4ms, Maximum = 15ms, Average = 7ms


Pengguna memiliki hak untuk menggunakan alat-alat lain untuk memeriksa ketersediaan node pada jaringan, keduanya built-in ke OS, seperti NMAP, Advanced IP Scanner, dll.

Sembunyikan akses ke GUI pengontrol jaringan dari luar.


Secara umum, saya dapat mengurangi kemungkinan akses tidak sah ke VDS, di mana pengontrol jaringan saya berada, menggunakan firewall di akun pribadi RuVDS. Topik ini lebih cenderung untuk artikel yang terpisah. Oleh karena itu, di sini saya akan menunjukkan cara memberikan akses ke kontroler GUI hanya dari jaringan yang saya buat di artikel ini.

Untuk melakukan ini, hubungkan melalui SSH ke VDS di mana controller berada, buka file konfigurasi menggunakan perintah:

 nano /opt/key-networks/ztncui/.env 

Dalam file yang terbuka, setelah baris β€œHTTPS_PORT = 3443” yang berisi alamat port tempat GUI terbuka, Anda perlu menambahkan baris tambahan dengan alamat tempat GUI akan terbuka - dalam kasus saya, ini adalah HTTPS_HOST = 10.10.10.1.

Selanjutnya, simpan file tersebut

trl+C
Y
Enter


dan jalankan perintah:

 systemctl restart ztncui 

Dan itu saja, sekarang GUI pengontrol jaringan saya hanya tersedia untuk node jaringan 10.10.10.0.24.

Alih-alih sebuah kesimpulan


Dengan ini, saya ingin menyelesaikan bagian pertama dari panduan praktis tentang membuat jaringan virtual berdasarkan ZeroTier. Menunggu komentar Anda.

Sementara itu, untuk menghabiskan waktu hingga publikasi bagian selanjutnya, di mana saya akan memberi tahu Anda cara menggabungkan jaringan virtual dengan jaringan fisik, cara mengatur mode "pejuang jalanan" dan hal lainnya, saya sarankan Anda mencoba mengatur jaringan virtual Anda sendiri menggunakan pengendali jaringan pribadi dengan GUI berbasis VDS dari pasar di situs web RUVDS. Selain itu, untuk semua pelanggan baru ada masa percobaan gratis 3 hari!

PS Ya! Saya hampir lupa! Anda dapat menghapus node dari jaringan menggunakan perintah di CLI dari node ini.

 zerotier-cli leave <Network ID> 

200 leave OK

atau perintah Hapus di GUI klien pada node.

Source: https://habr.com/ru/post/id485914/


All Articles