Mengelola koneksi jaringan di Linux menggunakan utilitas konsol nmcli

Manfaatkan sepenuhnya alat manajemen jaringan NetworkManager di baris perintah Linux menggunakan utilitas nmcli.

Mengelola koneksi jaringan di Linux menggunakan utilitas konsol nmcli

Π° nmcli langsung memanggil API untuk mengakses fungsi NetworkManager.

Ini muncul pada tahun 2010 dan bagi banyak orang telah menjadi cara alternatif untuk mengkonfigurasi antarmuka jaringan dan koneksi. Meski sebagian orang masih menggunakannya ifconfig. Karena nmcli adalah alat antarmuka baris perintah (CLI) yang dirancang untuk digunakan di jendela terminal dan skrip, ini ideal untuk administrator sistem yang bekerja tanpa GUI.

sintaks perintah ncmli

Secara umum, sintaksnya terlihat seperti ini:

$ nmcli <options> <section> <action>

  • opsi adalah parameter yang menentukan seluk-beluk operasi nmcli,
  • bagian (bagian) - menentukan fitur utilitas mana yang akan digunakan,
  • tindakan - memungkinkan Anda menentukan apa yang sebenarnya perlu dilakukan.

Ada total 8 bagian, yang masing-masing dikaitkan dengan serangkaian perintah (tindakan) tertentu:

  • Bantuan memberikan bantuan tentang perintah ncmcli dan penggunaannya.
  • Umum mengembalikan status NetworkManager dan konfigurasi global.
  • jaringan termasuk perintah untuk menanyakan status koneksi jaringan dan mengaktifkan/menonaktifkan koneksi.
  • radio termasuk perintah untuk menanyakan status koneksi jaringan WiFi dan mengaktifkan/menonaktifkan koneksi.
  • Memantau mencakup perintah untuk memantau aktivitas NetworkManager dan mengamati perubahan status koneksi jaringan.
  • Koneksi termasuk perintah untuk mengelola antarmuka jaringan, menambahkan koneksi baru dan menghapus yang sudah ada.
  • alat terutama digunakan untuk mengubah parameter terkait perangkat (seperti nama antarmuka) atau untuk menghubungkan perangkat menggunakan koneksi yang ada.
  • Rahasia mendaftarkan nmcli sebagai "agen rahasia" NetworkManager yang mendengarkan pesan rahasia. Bagian ini jarang digunakan, karena nmcli bekerja dengan cara ini secara default saat menyambung ke jaringan.

Contoh sederhana

Sebelum memulai, pastikan NetworkManager berjalan dan nmcli dapat berkomunikasi dengannya:

$ nmcli general
STATE      CONNECTIVITY  WIFI-HW  WIFI     WWAN-HW  WWAN    
connected  full          enabled  enabled  enabled  enabled

Pekerjaan sering kali dimulai dengan melihat semua profil koneksi jaringan:

$ nmcli connection show
NAME                UUID                                  TYPE      DEVICE
Wired connection 1  ac3241e4-b424-35d6-aaa7-07498561688d  ethernet  enp0s3
Wired connection 2  2279d917-fa02-390c-8603-3083ec5a1d3e  ethernet  enp0s8
Wired connection 3  52d89737-de92-35ec-b082-8cf2e5ac36e6  ethernet  enp0s9

Perintah ini menggunakan tindakan tampilkan untuk bagian Koneksi.

Mesin uji menjalankan Ubuntu 20.04. Dalam hal ini, kami menemukan tiga koneksi kabel: enp0s3, enp0s8, dan enp0s9.

Kelola koneksi

Penting untuk dipahami bahwa dalam nmcli, istilah Koneksi yang kami maksud adalah entitas yang berisi semua informasi tentang koneksi. Dengan kata lain, ini adalah konfigurasi jaringan. Koneksi merangkum semua informasi terkait koneksi, termasuk lapisan tautan dan informasi pengalamatan IP. Ini adalah Layer 2 dan Layer 3 dalam model jaringan OSI.

Saat Anda menyiapkan jaringan di Linux, Anda biasanya menyiapkan koneksi yang pada akhirnya akan diikat ke perangkat jaringan, yang pada gilirannya merupakan antarmuka jaringan yang diinstal di komputer. Saat perangkat menggunakan koneksi, perangkat tersebut dianggap aktif atau ditingkatkan. Jika sambungan tidak digunakan, sambungan tersebut tidak aktif atau disetel ulang.

Menambahkan koneksi jaringan

Utilitas ncmli memungkinkan Anda menambahkan dan segera mengkonfigurasi koneksi dengan cepat. Misalnya, untuk menambahkan koneksi Kabel 2 (dengan enp0s8), Anda perlu menjalankan perintah berikut sebagai pengguna super:

$ sudo nmcli connection add type ethernet ifname enp0s8
Connection 'ethernet-enp0s8' (09d26960-25a0-440f-8b20-c684d7adc2f5) successfully added.

Pada opsi tipe kami menunjukkan bahwa ini akan menjadi koneksi Ethernet, dan pada opsi ifname (nama antarmuka) kami menunjukkan antarmuka jaringan yang ingin kami gunakan.

Inilah yang akan terjadi setelah menjalankan perintah:

$ nmcli connection show
NAME                UUID                                  TYPE      DEVICE
Wired connection 1  ac3241e4-b424-35d6-aaa7-07498561688d  ethernet  enp0s3
Wired connection 2  2279d917-fa02-390c-8603-3083ec5a1d3e  ethernet  enp0s8
Wired connection 3  52d89737-de92-35ec-b082-8cf2e5ac36e6  ethernet  enp0s9
ethernet-enp0s8     09d26960-25a0-440f-8b20-c684d7adc2f5  ethernet  --  

Koneksi baru telah dibuat, ethernet-enp0s8. Itu diberi UUID dan jenis koneksinya adalah Ethernet. Mari kita naikkan menggunakan perintah up:

$ nmcli connection up ethernet-enp0s8
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/4)

Mari kita periksa kembali daftar koneksi aktif:

$ nmcli connection show --active
NAME                UUID                                  TYPE      DEVICE
Wired connection 1  ac3241e4-b424-35d6-aaa7-07498561688d  ethernet  enp0s3
ethernet-enp0s8     09d26960-25a0-440f-8b20-c684d7adc2f5  ethernet  enp0s8
Wired connection 3  52d89737-de92-35ec-b082-8cf2e5ac36e6  ethernet  enp0s9

Koneksi baru ethernet-enp0s8 telah ditambahkan, aktif dan menggunakan antarmuka jaringan enp0s8.

Menyiapkan koneksi

Utilitas ncmli memungkinkan Anda dengan mudah mengubah parameter koneksi yang ada. Misalnya, Anda perlu mengubah alamat IP dinamis (DHCP) menjadi alamat IP statis.

Katakanlah kita perlu menyetel alamat IP ke 192.168.4.26. Untuk melakukan ini kami menggunakan dua perintah. Yang pertama akan langsung mengatur alamat IP, dan yang kedua akan mengalihkan metode pengaturan alamat IP ke manual:

$ nmcli connection modify ethernet-enp0s8 ipv4.address 192.168.4.26/24
$ nmcli connection modify ethernet-enp0s8 ipv4.method manual

Jangan lupa juga untuk mengatur subnet masknya. Untuk koneksi pengujian kami, ini adalah 255.255.255.0, atau dengan /24 untuk perutean tanpa kelas (CIDR).

Agar perubahan diterapkan, Anda perlu menonaktifkan lalu mengaktifkan kembali koneksi:

$ nmcli connection down ethernet-enp0s8
Connection 'ethernet-enp0s8' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/4)
$ nmcli connection up ethernet-enp0s8
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveC

Sebaliknya, jika Anda perlu menginstal DHCP, gunakan otomatis dan bukan manual:

$ nmcli connection modify ethernet-enp0s8 ipv4.method auto

Bekerja dengan perangkat

Untuk ini kami menggunakan bagian Perangkat.

Memeriksa status perangkat

$ nmcli device status
DEVICE  TYPE      STATE      CONNECTION        
enp0s3  ethernet  connected  Wired connection 1
enp0s8  ethernet  connected  ethernet-enp0s8    
enp0s9  ethernet  connected  Wired connection 3
lo      loopback  unmanaged  --  

Meminta informasi perangkat

Untuk melakukan ini, gunakan tindakan tampilkan dari bagian Perangkat (Anda harus menentukan nama perangkat). Utilitas ini menampilkan banyak informasi, seringkali dalam beberapa halaman.
Mari kita lihat antarmuka enp0s8 yang digunakan koneksi baru kita. Mari kita pastikan bahwa itu menggunakan alamat IP yang sama persis dengan yang kita tetapkan sebelumnya:

$ nmcli device show enp0s8
GENERAL.DEVICE:                         enp0s8
GENERAL.TYPE:                           ethernet
GENERAL.HWADDR:                         08:00:27:81:16:20
GENERAL.MTU:                            1500
GENERAL.STATE:                          100 (connected)
GENERAL.CONNECTION:                     ethernet-enp0s8
GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveConnection/6
WIRED-PROPERTIES.CARRIER:               on
IP4.ADDRESS[1]:                         192.168.4.26/24
IP4.GATEWAY:                            --
IP4.ROUTE[1]:                           dst = 192.168.4.0/24, nh = 0.0.0.0, mt = 103
IP6.ADDRESS[1]:                         fe80::6d70:90de:cb83:4491/64
IP6.GATEWAY:                            --
IP6.ROUTE[1]:                           dst = fe80::/64, nh = ::, mt = 103
IP6.ROUTE[2]:                           dst = ff00::/8, nh = ::, mt = 256, table=255

Ada cukup banyak informasi. Mari kita soroti hal utama:

  • Nama antarmuka jaringan: enp0s8.
  • Jenis koneksi: koneksi Ethernet kabel.
  • Kami melihat alamat MAC perangkat.
  • Unit transmisi maksimum (MTU) ditentukan β€” ukuran maksimum blok data berguna dari satu paket yang dapat ditransmisikan oleh protokol tanpa fragmentasi.
  • Perangkat saat ini terhubung.
  • Nama koneksiperangkat mana yang digunakan: ethernet-enp0s8.
  • Perangkat menggunakan Alamat IP, yang kami instal sebelumnya: 192.168.4.26/24.

Informasi lainnya berkaitan dengan parameter perutean default dan gateway koneksi. Mereka bergantung pada jaringan tertentu.

Editor nmcli interaktif

nmcli juga memiliki editor interaktif sederhana, yang mungkin lebih nyaman untuk digunakan seseorang. Untuk menjalankannya pada koneksi ethernet-enp0s8 misalnya, gunakan tindakan edit:

$ nmcli connection edit ethernet-enp0s8

Ini juga memiliki sedikit bantuan, namun ukurannya lebih kecil dari versi konsol:

===| nmcli interactive connection editor |===
Editing existing '802-3-ethernet' connection: 'ethernet-enp0s8'
Type 'help' or '?' for available commands.
Type 'print' to show all the connection properties.
Type 'describe [<setting>.<prop>]' for detailed property description.
You may edit the following settings: connection, 802-3-ethernet (ethernet), 802-1x, dcb, sriov, ethtool, match, ipv4, ipv6, tc, proxy
nmcli>

Jika Anda mengetik perintah cetak dan menekan Enter, nmcli akan menampilkan semua properti koneksi:

===============================================================================
                 Connection profile details (ethernet-enp0s8)
===============================================================================
connection.id:                          ethernet-enp0s8
connection.uuid:                        09d26960-25a0-440f-8b20-c684d7adc2f5
connection.stable-id:                   --
connection.type:                        802-3-ethernet
connection.interface-name:              enp0s8
connection.autoconnect:                 yes
connection.autoconnect-priority:        0
connection.autoconnect-retries:         -1 (default)
connection.multi-connect:               0 (default)
connection.auth-retries:                -1
connection.timestamp:                   1593967212
connection.read-only:                   no
connection.permissions:                 --
connection.zone:                        --
connection.master:                      --
connection.slave-type:                  --
connection.autoconnect-slaves:          -1 (default)
connection.secondaries:                 --

Misalnya, untuk mengatur koneksi ke DHCP, ketik goto ipv4 dan klik Enter:

nmcli> goto ipv4
You may edit the following properties: method, dns, dns-search, 
dns-options, dns-priority, addresses, gateway, routes, route-metric, 
route-table, routing-rules, ignore-auto-routes, ignore-auto-dns, 
dhcp-client-id, dhcp-iaid, dhcp-timeout, dhcp-send-hostname, 
dhcp-hostname, dhcp-fqdn, dhcp-hostname-flags, never-default, may-fail, 
dad-timeout
nmcli ipv4>

Kemudian tulis set metode otomatis dan klik Enter:

nmcli ipv4> set method auto
Do you also want to clear 'ipv4.addresses'? [yes]:

Jika Anda ingin menghapus alamat IP statis, klik Enter. Jika tidak, ketik no dan tekan Enter. Anda dapat menyimpannya jika Anda merasa membutuhkannya di masa mendatang. Tetapi bahkan dengan alamat IP statis yang disimpan, DHCP akan digunakan jika metode disetel ke otomatis.

Gunakan perintah simpan untuk menyimpan perubahan Anda:

nmcli ipv4> save
Connection 'ethernet-enp0s8' (09d26960-25a0-440f-8b20-c684d7adc2f5) successfully updated.
nmcli ipv4>

Ketik quit untuk keluar dari Editor Interaktif nmcli. Jika Anda berubah pikiran untuk keluar, gunakan perintah kembali.

Dan itu belum semuanya

Buka Editor Interaktif nmcli dan lihat berapa banyak pengaturan yang ada dan berapa banyak properti yang dimiliki setiap pengaturan. Editor interaktif adalah alat yang hebat, tetapi jika Anda ingin menggunakan nmcli dalam satu baris atau skrip, Anda memerlukan versi baris perintah reguler.

Sekarang setelah Anda memiliki dasar-dasarnya, periksa halaman manual nmcli untuk melihat apa lagi yang dapat membantu Anda.

Tentang Hak Periklanan

Server epik - Apakah server virtual di Windows atau Linux dengan prosesor keluarga AMD EPYC yang kuat dan drive Intel NVMe yang sangat cepat. Segera pesan!

Mengelola koneksi jaringan di Linux menggunakan utilitas konsol nmcli

Sumber: www.habr.com

Tambah komentar