Ekosistem Linux menyediakan pelbagai cara untuk mengkonfigurasi rangkaian termasuk Pengurus Rangkaian Daemon yang popular dan alat baris perintah 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, Daemon NetworkManager adalah satu -satunya penyedia yang disokong oleh NMState .
Dalam panduan ini, kita melihat beberapa contoh penggunaan alat NMState . Untuk panduan ini, kami akan menunjukkan ini menggunakan Fedora Linux .
Pendekatan Deklaratif Vs Imperatif
Pengurusan rangkaian boleh mengambil dua pendekatan - penting dan deklaratif . Dalam pendekatan yang penting , 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, pendekatan deklaratif menggunakan fail YAML untuk memohon perubahan pada konfigurasi. Kebanyakan alat orkestrasi DevOps seperti kubernet menggunakan pendekatan ini untuk menggunakan aplikasi PODS menggunakan fail YAML .
Pendekatan ini menyediakan apa yang biasanya dirujuk sebagai infrastruktur sebagai kod ( IAC ) dalam 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 menggunakan alat konfigurasi NMState 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 repositori Fedora seperti berikut:
$ sudo dnf cari nmstate
Dari output, kita dapat melihat bahawa pengurus rangkaian boleh didapati di repositori rasmi.
Seterusnya, pasang NMState seperti berikut. Ini berfungsi pada versi Fedora 31 dan kemudian.
$ sudo dnf memasang nmstate
Perintah itu memasang API Pengurus Rangkaian NMState bersama -sama dengan kebergantungan Python yang lain.
Setelah pemasangan selesai, sahkan pakej NMState dipasang seperti berikut.
$ rpm -qi nmstate
Untuk Linux berasaskan RHEL, membolehkan repositori COPR terlebih dahulu.
$ sudo dnf copr enable nmstate/nmstate-stable
Kemudian pasang NMState seperti berikut.
$ sudo dnf memasang nmstate
Semak arahan tambahan mengenai cara memasang NMState dari sumber.
Setelah dipasang, anda boleh menyemak versi NMState yang dipasang seperti berikut.
$ nmstatectl versi 1.0.2
Menggunakan Alat Konfigurasi NMState di Linux
Dengan NMState dipasang, marilah kita turun ke knitty-gritties bagaimana anda boleh memanfaatkan API Pengurus Rangkaian.
Untuk melihat konfigurasi rangkaian semasa antara muka rangkaian anda, jalankan arahan berikut. Di sini, adalah konfigurasi antara muka ENP0S3 anda.
$ nmstatectl show enp0s3
Output dibahagikan kepada 4 bahagian yang berbeza:
- DNS-RESOLVER : Bahagian ini mengandungi konfigurasi Nameserver untuk antara muka tertentu.
- Peraturan Route : Ini menetapkan peraturan penghalaan.
- Laluan : Ini termasuk laluan dinamik dan statik.
- Antara muka : Bahagian ini menentukan kedua -dua tetapan IPv4 dan IPv6.
Menukar Konfigurasi Rangkaian di Linux
Anda boleh menggunakan alat konfigurasi NMState untuk mengkonfigurasi hos anda ke keadaan yang dikehendaki menggunakan mod berasaskan interaktif atau fail.
- Interaktif : Ini menyunting antara muka rangkaian menggunakan perintah edit nmstatectl . Perintah ini membuka editor teks yang ditakrifkan oleh pembolehubah persekitaran editor. Sebaik sahaja perubahan itu disimpan, NMState menggunakan konfigurasi baru dengan serta -merta kecuali kesilapan sintaks dikesan.
- Berasaskan fail : Dalam mod berasaskan fail, konfigurasi antara muka digunakan menggunakan fail YAML atau JSON menggunakan perintah NMStatectl Apply .
Marilah kita dapatkan tangan kami kotor dan lihat bagaimana anda boleh mengubah suai konfigurasi rangkaian menggunakan NMState .
Sistem Fedora kami 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 ) antara muka rangkaian ENP0S3 . Secara lalai, ini ditetapkan kepada 1500 seperti yang ditunjukkan.
$ ifconfig
Kami akan mengubahnya menjadi 4000 . Kami akan berbuat demikian menggunakan perintah edit nmstatectl seperti berikut.
$ sudo nmstatectl edit enp0s3
Ini membuka konfigurasi dalam editor teks. Untuk kes kami, ia dibuka dalam editor VIM . Seterusnya, tatal ke bawah dan cari parameter MTU . Kami akan menukar nilai kepada 4000 , sama seperti kami akan mengedit fail di VIM. Kemudian kami akan menyelamatkan perubahan.
Apabila anda menyimpan dan keluar dari fail, anda akan melihat beberapa output hancur pada terminal apabila NMState menjimatkan perubahan. Tiada 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 hingga 4000 dari nilai lalai 1500 .
Contoh mod konfigurasi berasaskan fail
Marilah kita mengubah suai konfigurasi menggunakan mod berasaskan fail. Dalam contoh ini, kita akan melumpuhkan IPv6 untuk antara muka rangkaian ENP0S8 . Langkah pertama adalah untuk membuat fail YAML yang akan menentukan keadaan yang dikehendaki bagi antara muka rangkaian ENP0S8 .
$ sudo nmstatectl show enp0s8> enp0s8.yml
Seterusnya, kami akan mengedit fail YAML seperti berikut.
$ sudo vim enp0s8.yml
Tatal ke bahagian IPv6. Untuk melumpuhkan IPv6, tetapkan parameter yang diaktifkan untuk palsu dan memadam garisan yang telah dilanda.
Simpan konfigurasi dan gunakan keadaan baru menggunakan fail YAML seperti berikut.
$ sudo nmstatectl apply enp0s8.yml
Sekarang jalankan arahan yang ditunjukkan untuk mengesahkan bahawa IPv6 telah dilumpuhkan. Output yang dipaparkan menunjukkan bahawa IPv6 untuk antara muka rangkaian ENP0S8 kosong, menyiratkan bahawa kami telah berjaya melumpuhkan IPv6 pada antara muka.
$ ip -br a
Memohon perubahan rangkaian buat sementara waktu
Satu lagi fungsi yang sangat berguna yang disediakan oleh NMState 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 tamat tempoh tamat. Masa tamat lalai adalah 60 saat.
Untuk menunjukkan ini, kami akan menetapkan IP statik sementara pada antara muka ENP0S3 dan melumpuhkan DHCP . Sekali lagi, akses fail menggunakan editor teks.
$ sudo vim enp0s3.yml
Tatal ke bahagian IPv4 . Tentukan IP statik-dalam kes kami 192.168.2.150 dan padamkan garisan yang telah dilanda. Di samping itu, pastikan untuk menetapkan parameter DHCP kepada palsu .
Simpan fail dan buat sementara waktu lakukan perubahan seperti berikut.
$ sudo nmstatectl apply --no-commit --timeout 20 enp0s3.yml
Opsyen --no-commit
buat sementara waktu menggunakan perubahan untuk tempoh yang ditakrifkan oleh pilihan --timeout
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 masa 20 saat. Alamat IP kembali ke 192.168.2.104 dari IP yang dikonfigurasi secara statik yang terdahulu iaitu 192.168.2.150 .
Diakui, alat NMState adalah alat yang mudah untuk mengkonfigurasi antara muka rangkaian anda. Ia adalah alat deklaratif yang menggunakan keadaan konfigurasi yang diingini antara muka tuan rumah menggunakan API NetworkManager.
Negeri mudah ditakrifkan menggunakan pendekatan interaktif atau menggunakan kaedah berasaskan fail yang menggunakan fail YAML yang telah dikonfigurasikan. Ini meningkatkan automasi tugas konfigurasi dan pengurangan kesilapan semasa konfigurasi.
Atas ialah kandungan terperinci Nmstate: alat konfigurasi rangkaian deklaratif. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Sebagai pentadbir sistem, anda mungkin mendapati diri anda (hari ini atau pada masa akan datang) bekerja di persekitaran di mana Windows dan Linux wujud bersama. Bukan rahsia lagi bahawa beberapa syarikat besar lebih suka (atau harus) menjalankan beberapa perkhidmatan pengeluaran mereka di Windows Boxes

Dalam sistem Linux, 1. Gunakan arahan IPA atau HostName-I untuk melihat IP peribadi; 2. Gunakan curlifconfig.me atau curlipinfo.io/ip untuk mendapatkan ip awam; 3. Versi desktop boleh melihat IP peribadi melalui tetapan sistem, dan penyemak imbas boleh mengakses laman web tertentu untuk melihat IP awam; 4. Perintah umum boleh ditetapkan sebagai alias untuk panggilan cepat. Kaedah ini mudah dan praktikal, sesuai untuk keperluan tontonan IP dalam senario yang berbeza.

Dibina pada enjin V8 Chrome, Node.js adalah persekitaran runtime JavaScript yang didorong oleh acara terbuka yang dibuat untuk membina aplikasi berskala dan API backend. Nodejs dikenali sebagai ringan dan cekap kerana model I/O yang tidak menyekat dan

LinuxcanrunonmodesthardwareWithSpecificMinimumRequirements.a1ghzprocessor (x86orx86_64) disediakan, withadual-corecpurecommended.r Amshouldbeatleast512mbforcommand-lineuseor2gbfordesktopenvironments.diskspacerequiresaminimumof5-10gb, walaupun25gbisbetterforad

Ditulis dalam C, MySQL adalah sumber terbuka, silang platform, dan salah satu sistem pengurusan pangkalan data relasi yang paling banyak digunakan (RDMS). Ini adalah bahagian penting dalam timbunan lampu dan merupakan sistem pengurusan pangkalan data yang popular dalam hosting web, analisis data,

Ubuntu telah lama berdiri sebagai benteng aksesibiliti, menggilap, dan kuasa dalam ekosistem Linux. Dengan ketibaan Ubuntu 25.04, yang dinamakan "Puffin Plucky", kanonik sekali lagi menunjukkan komitmennya untuk menyampaikan

MongoDB adalah pangkalan data NoSQL yang berorientasikan dokumen yang sangat berskala tinggi yang dibina untuk menguruskan trafik yang berat dan sejumlah besar data. Tidak seperti pangkalan data SQL tradisional yang menyimpan data dalam baris dan lajur dalam jadual, data struktur MongoDB dalam j

Ditulis dalam PHP, Magento adalah sumber terbuka yang popular, dan platform e-dagang yang serba boleh yang menyediakan perniagaan dengan keranjang belanja dalam talian. Ia memanfaatkan pelbagai kerangka PHP seperti Symfony dan Laminas untuk meningkatkan fungsinya dan kebolehgunaannya. Mage
