Nmstate alat konfigurasi rangkaian deklaratif untuk linux

Nmstate alat konfigurasi rangkaian deklaratif untuk linux

Ekosistem Linux menyediakan pelbagai cara untuk mengkonfigurasi rangkaian termasuk Daemon Pengurus Rangkaian Popular dan alat baris arahan seperti utiliti NMCLI dan NMTUI GUI. Panduan ini memperkenalkan satu lagi alat konfigurasi rangkaian yang dikenali sebagai Nmstate

Nmstate adalah pengurus rangkaian deklaratif untuk mengkonfigurasi rangkaian pada tuan rumah Linux. Ia adalah perpustakaan yang menyediakan alat baris arahan yang menguruskan tetapan rangkaian tuan rumah. Ia menguruskan rangkaian tuan rumah melalui API deklaratif utara. Pada masa menulis panduan ini, NetworkManager Daemon adalah satu -satunya penyedia yang disokong oleh Nmstate.

Dalam panduan ini, kita melihat beberapa contoh penggunaan contoh Nmstate alat. Untuk panduan ini, kami akan menunjukkan penggunaan ini Fedora Linux.

Pendekatan Deklaratif Vs Imperatif

Pengurusan Rangkaian boleh mengambil dua pendekatan - Mustahak dan deklaratif. Di dalam mustahak pendekatan, anda secara jelas mentakrifkan keadaan rangkaian antara muka dengan menjalankan arahan di terminal. Tumpuannya adalah pada 'bagaimana'.

Sebagai contoh, untuk menurunkan rangkaian menggunakan pendekatan penting, jalankan arahan:

$ sudo ifconfig enp0s3 turun 

Sebaliknya, deklaratif Pendekatan menggunakan a Yaml fail untuk menggunakan perubahan pada konfigurasi. Sebilangan besar alat orkestrasi devOps seperti Kubernet Gunakan pendekatan ini untuk menggunakan aplikasi PODS menggunakan a Yaml fail.

Pendekatan ini menyediakan apa yang biasa disebut sebagai infrastruktur sebagai kod (IAC) di kalangan DevOps. Ini meningkatkan automasi konfigurasi rangkaian pada tuan rumah dan menyediakan cara yang cepat dan lebih dipercayai untuk membuat pelbagai perubahan pada antara muka rangkaian dengan kesilapan yang minimum.

Sekarang, marilah kita menukar gear dan lihat bagaimana anda boleh menggunakannya Nmstate Alat Konfigurasi Untuk mengkonfigurasi antara muka rangkaian anda di Linux.

Langkah 1: Pasang alat konfigurasi rangkaian nmstate

Kami akan mendapat bola bergulir dengan memasang Nmstate. Pertama, periksa ketersediaan pakej dari Fedora repositori seperti berikut:

$ sudo dnf cari nmstate 

Dari output, kita dapat melihat bahawa pengurus rangkaian tersedia di repositori rasmi.

Semak pakej NMSTATE

Seterusnya, pasang Nmstate seperti berikut. Ini berfungsi Fedora 31 dan kemudian versi.

$ sudo dnf memasang nmstate 

Arahan memasang Nmstate API Pengurus Rangkaian bersama -sama dengan ketergantungan python lain.

Pasang NMState di Fedora

Setelah pemasangan selesai, sahkan nmstate Pakej dipasang seperti berikut.

$ rpm -qi nmstate 
Sahkan pakej nmstate

Untuk Linux berasaskan RHEL, aktifkan repositori COPR terlebih dahulu.

$ sudo dnf copr enable nmstate/nmstate-stable 

Kemudian pasang Nmstate seperti berikut.

$ sudo dnf memasang nmstate 

Lihat arahan tambahan mengenai cara memasang NMState dari sumber.

Setelah dipasang, anda boleh menyemak versi Nmstate dipasang seperti berikut.

$ nmstatectl versi 1.0.2 

Menggunakan Alat Konfigurasi NMState di Linux

Dengan Nmstate Dipasang, marilah kita turun ke tempat-tempat kecil tentang bagaimana anda boleh memanfaatkan API Pengurus Rangkaian.

Untuk melihat konfigurasi rangkaian semasa antara muka rangkaian anda, jalankan arahan berikut. Di sini, adalah konfigurasi anda ENP0S3 antara muka.

$ nmstatectl show enp0s3 
Tunjukkan konfigurasi antara muka rangkaian

Output dibahagikan kepada 4 bahagian yang berbeza:

  • DNS-Resolver: Bahagian ini mengandungi konfigurasi nameserver untuk antara muka tertentu.
  • peraturan laluan: Ini menetapkan peraturan penghalaan.
  • laluan: Ini termasuk laluan dinamik dan statik.
  • Antara muka: Bahagian ini menentukan tetapan IPv4 dan IPv6.

Menukar Konfigurasi Rangkaian di Linux

Anda boleh menggunakan Nmstate alat konfigurasi untuk mengkonfigurasi tuan rumah anda ke keadaan yang dikehendaki menggunakan mod berasaskan interaktif atau fail.

  • Interaktif: Ini menyunting antara muka rangkaian menggunakan NMSTATECTL EDIT perintah. Perintah ini membuka editor teks yang ditakrifkan oleh pembolehubah persekitaran editor. Setelah perubahan disimpan, NMState menggunakan konfigurasi baru dengan segera melainkan jika kesilapan sintaks dikesan.
  • Berasaskan fail: Dalam mod berasaskan fail, konfigurasi antara muka digunakan menggunakan fail YAML atau JSON menggunakan nmstatectl memohon perintah.

Marilah kita dapatkan tangan kita kotor dan periksa bagaimana anda boleh mengubah suai konfigurasi rangkaian menggunakan Nmstate.

Kami Fedora Sistem mempunyai dua antara muka rangkaian aktif dengan konfigurasi berikut:

$ ip -br -4 a 
Output sampel
lo tidak diketahui 127.0.0.1/8 ENP0S3 UP 192.168.2.104/24 ENP0S8 UP 192.168.2.103/24 

Contoh mod konfigurasi interaktif

Kami akan menggunakan mod interaktif untuk menukar Mtu (Unit penghantaran maksimum) daripada ENP0S3 antara muka rangkaian. Secara lalai, ini ditetapkan ke 1500 seperti yang ditunjukkan.

$ ifconfig 
Semak rangkaian MTU di Linux

Kami akan mengubahnya menjadi 4000. Kami akan melakukannya dengan menggunakan NMSTATECTL EDIT perintah seperti berikut.

$ sudo nmstatectl edit enp0s3 

Ini membuka konfigurasi dalam editor teks. Untuk kes kami, ia dibuka vim editor. Seterusnya, tatal ke bawah dan cari mtu parameter. Kami akan mengubah nilai ke 4000, Sama seperti kami akan mengedit fail di Vim. Kemudian kami akan menyelamatkan perubahan.

Tukar rangkaian MTU di Linux

Apabila anda menyimpan dan keluar dari fail, anda akan melihat beberapa output hancur di terminal sebagai Nmstate menjimatkan perubahan. Tidak ada campur tangan yang diperlukan, hanya duduk diam.

Marilah kita mengesahkan bahawa perubahan itu dibuat.

$ ifconfig 

Dari output terminal, kita dapat melihat bahawa kita telah berjaya menukar MTU ke 4000 dari lalai 1500 nilai.

Sahkan rangkaian MTU di Linux

Contoh mod konfigurasi berasaskan fail

Marilah kita mengubah suai konfigurasi menggunakan mod berasaskan fail. Dalam contoh ini, kita akan melumpuhkan IPv6 untuk ENP0S8 antara muka rangkaian. Langkah pertama adalah untuk membuat fail yaml yang akan menentukan keadaan yang dikehendaki ENP0S8 antara muka rangkaian.

$ sudo nmstatectl show enp0s8> enp0s8.yml 
Buat fail yaml rangkaian

Seterusnya, kami akan mengeditnya Yaml fail seperti berikut.

$ sudo vim enp0s8.yml 

Tatal ke bahagian IPv6. Untuk melumpuhkan IPv6, tetapkan parameter yang diaktifkan untuk palsu dan padamkan garisan yang telah dilanggar.

Lumpuhkan IPv6 di Linux

Simpan konfigurasi dan gunakan keadaan baru menggunakan fail YAML seperti berikut.

$ sudo nmstatectl memohon ENP0S8.yml 

Sekarang jalankan arahan yang ditunjukkan untuk mengesahkan bahawa IPv6 telah dilumpuhkan. Output yang dipaparkan menunjukkan bahawa IPv6 untuk ENP0S8 Antara muka rangkaian kosong, menyiratkan bahawa kami telah berjaya melumpuhkan IPv6 di antara muka.

$ ip -br a 
Sahkan IPv6 dilumpuhkan di Linux

Memohon perubahan rangkaian buat sementara waktu

Fungsi lain yang sangat berguna Nmstate Menyediakan adalah keupayaan untuk mengkonfigurasi sementara keadaan rangkaian yang dikehendaki. Sebaik sahaja anda berpuas hati dengan konfigurasi, anda boleh meneruskan dan membuat perubahan kekal. Jika tidak, perubahan yang dibuat akan dilancarkan kembali ke tetapan awal sebaik sahaja waktu tamat tempoh. Masa tamat lalai adalah 60 saat.

Untuk menunjukkan ini, kami akan menetapkan IP statik sementara di ENP0S3 antara muka dan lumpuhkan DHCP. Sekali lagi, akses fail menggunakan editor teks.

$ sudo vim enp0s3.yml 

Tatal ke IPv4 seksyen. Tentukan IP statik - dalam kes kami 192.168.2.150 dan padamkan garisan yang telah dilanda. Di samping itu, pastikan anda menetapkan DHCP parameter ke salah.

Tetapkan IP Statik di Linux

Simpan fail dan buat sementara waktu, lakukan perubahan seperti berikut.

$ sudo nmstatectl apply --no-commit --timeout 20 ENP0S3.yml 

The --Tidak Komited pilihan sementara menggunakan perubahan untuk tempoh yang ditakrifkan oleh --masa tamat pilihan yang, dalam contoh ini, adalah 20 saat.

Untuk mengesahkan aplikasi temporal perubahan, kami akan menyemak konfigurasi IP dalam selang masa 20 saat.

$ ip -br a 

Dari output, anda dapat melihat bahawa konfigurasi IP antara muka kembali ke DHCP selepas selang waktu 20 saat. Alamat IP kembali ke 192.168.2.104 dari IP yang dikonfigurasikan secara statik sebelumnya 192.168.2.150.

Semak antara muka rangkaian

Diakui, yang Nmstate Alat adalah alat yang mudah untuk mengkonfigurasi antara muka rangkaian anda. Ini adalah alat deklaratif yang menggunakan keadaan konfigurasi yang diingini antara muka tuan rumah menggunakan API NetworkManager.

The Negeri mudah ditakrifkan menggunakan sama ada interaktif mendekati atau menggunakan berasaskan fail kaedah yang menggunakan pra-konfigurasi Yaml fail. Ini meningkatkan automasi tugas konfigurasi dan pengurangan kesilapan semasa konfigurasi.