Perintah nmcli memungkinkan Anda memanfaatkan kekuatan alat NetworkManager langsung dari baris perintah Linux. Ini adalah bagian integral dari paket NetworkManager yang menggunakan antarmuka pemrogram aplikasi (API) untuk mengakses fungsionalitas NetworkManager.
nmcli dirilis pada 2010 dan menggantikan mode konfigurasi antarmuka dan koneksi jaringan lainnya, seperti ifconfig. Karena ini adalah alat antarmuka baris perintah (CLI) yang dirancang untuk digunakan di jendela terminal dan skrip, ini sangat ideal untuk administrator sistem yang bekerja pada sistem tanpa antarmuka pengguna grafis (GUI).
sintaksis ncmli
Perintah nmcli menerima opsi yang mengubah perilaku nmcli, bagian yang memberi tahu nmcli kapabilitas mana yang ingin Anda gunakan, dan tindakan yang memberi tahu apa yang Anda inginkan:
$ nmcli <options> <section> <action>
Selengkapnya tentang sysadmin
- Aktifkan blog Sysadmin
- Perusahaan Otomatis:panduan untuk mengelola TI dengan otomatisasi
- eBook:Kemungkinan Otomatisasi untuk SysAdmins
- Kisah dari lapangan:Panduan administrator sistem untuk otomatisasi TI
- eBook:Panduan Kubernetes untuk SRE dan sysadmin
- Artikel sysadmin terbaru
Ada delapan bagian, masing-masing terkait dengan serangkaian tindakan jaringan tertentu:
- Bantuan memberikan bantuan tentang perintah dan penggunaan ncmcli.
- Umum mengambil status NetworkManager dan konfigurasi global.
- Jaringan menyediakan perintah untuk menanyakan status koneksi jaringan dan mengaktifkan atau menonaktifkan koneksi.
- Radio memberikan perintah untuk menanyakan status koneksi jaringan WiFi dan mengaktifkan atau menonaktifkan koneksi.
- Memantau menyediakan perintah untuk memantau aktivitas NetworkManager dan mengamati perubahan status koneksi jaringan.
- Koneksi menyediakan perintah untuk menaikkan dan menurunkan antarmuka jaringan, menambahkan koneksi baru, dan menghapus koneksi yang ada.
- Perangkat terutama digunakan untuk mengubah parameter yang terkait dengan perangkat (misalnya, nama antarmuka) atau untuk menghubungkan perangkat menggunakan koneksi yang ada.
- Rahasia mendaftarkan nmcli sebagai agen rahasia NetworkManager yang mendengarkan pesan rahasia. Ini sangat jarang diperlukan karena nmcli melakukan ini secara otomatis saat menghubungkan ke jaringan.
Contoh sederhana
Sebagai pemeriksaan pertama, pastikan NetworkManager berjalan dan nmcli dapat berkomunikasi dengannya:
$ nmcli general
STATE CONNEKTIVITAS WIFI-HW WIFI WWAN-HW WWAN
terhubung penuh enabled enabled enabled enabled
Pengintaian sering kali merupakan bagian pertama dari pengelolaan sistem. Untuk membuat daftar semua profil koneksi jaringan dalam memori dan dalam disk:
$ nmcli koneksi menunjukkan
nama perangkat jenis UUID
koneksi kabel 1 ac3241e4-b424-35d6-aaa7-07498561688D Ethernet Enp0S3
koneksi kabel 2 2279D917-8603-3083EC5A1D3E enp0s8
Koneksi kabel 3 52d89737-de92-35ec-b082-8cf2e5ac36e6 ethernet enp0s9
Perintah ini menggunakan show
tindakan dari connection
bagian.
Mesin uji yang digunakan untuk contoh ini menjalankan Ubuntu 20.04. Ini memiliki tiga adapter jaringan yang terpasang:enp0s3
, enp0s8
, dan enp0s9
.
Manajemen koneksi
Sangat penting untuk memahami nomenklatur nmcli. Jaringan koneksi adalah sesuatu yang menyimpan semua informasi tentang koneksi. Anda dapat menganggapnya sebagai konfigurasi jaringan . Koneksi merangkum semua informasi yang terkait dengan koneksi, termasuk lapisan data-link dan informasi pengalamatan IP. Itu lapisan 2 dan lapisan 3 dalam model jaringan OSI.
Saat Anda mengonfigurasi jaringan di Linux, Anda biasanya mengonfigurasi koneksi yang pada akhirnya akan mengikat ke perangkat jaringan, yang merupakan antarmuka jaringan yang dipasang di komputer. Saat koneksi digunakan oleh perangkat, koneksi dikatakan aktif atau naik . Kebalikan dari aktif adalah tidak aktif atau turun .
Menambahkan koneksi jaringan
Perintah ncmli memungkinkan Anda membuat koneksi jaringan dengan cepat dan menentukan elemen konfigurasinya secara bersamaan. Untuk menambahkan koneksi baru menggunakan koneksi kabel 2, enp0s8
, Anda perlu menggunakan sudo
:
$ Sudo nmcli connection add type ethernet ifname enp0s8
Connection 'ethernet-enp0s8' (09d26960-25a0-440f-8b20-c684d7adc2f5) berhasil ditambahkan.
type
opsi meminta koneksi Ethernet, dan ifname
(nama antarmuka) menentukan perangkat antarmuka jaringan yang ingin Anda gunakan sambungannya.
Periksa apa yang terjadi:
$ nmcli koneksi menunjukkan
nama perangkat jenis UUID
koneksi kabel 1 ac3241e4-b424-35d6-aaa7-07498561688D Ethernet Enp0S3
koneksi kabel 2 2279D917-8603-3083EC5A1D3E idKoneksi baru Anda,
ethernet-enp0s8
, telah dibuat. Pengenal unik universalnya (UUID) telah ditetapkan, dan jenis koneksinya adalah Ethernet. Aktifkan denganup
perintah diikuti dengan nama koneksi (atau UUID):$ koneksi nmcli up ethernet-enp0s8
Koneksi berhasil diaktifkan (jalur aktif D-Bus:/org/freedesktop/NetworkManager/ActiveConnection/4)Periksa koneksi aktif Anda sekali lagi:
$ nmcli koneksi show -active
nama perangkat tipe uuid
koneksi kabel 1 AC3241E4-B424-35D6-AAA7-07498561688D Ethernet Enp0S3
Ethernet-Enp0S8 09D26960-25A0-440F8 -c684d7adc2f5 ethernet enp0s8
Koneksi kabel 3 52d89737-de92-35ec-b082-8cf2e5ac36e6 ethernet enp0s9Koneksi baru Anda,
ethernet-enp0s8
, sekarang aktif dan terikat keenp0s8
perangkat antarmuka jaringan.Menyesuaikan koneksi
Perintah ncmli memudahkan untuk menyesuaikan parameter koneksi yang ada. Mungkin Anda ingin mengganti satu antarmuka jaringan dari Dynamic Host Configuration Protocol (DHCP) ke alamat IP statis.
Misalkan Anda memerlukan alamat IP tetap
192.168.4.26
untuk koneksi baru Anda. Untuk mencapai itu, Anda perlu mengeluarkan dua perintah. Satu untuk mengatur alamat IP, dan satu lagi untuk mengatur metode koneksi untuk mendapatkan alamat IP kemanual
:$ koneksi nmcli memodifikasi ethernet-enp0s8 ipv4.address 192.168.4.26/24
$ koneksi nmcli memodifikasi manual metode ethernet-enp0s8 ipv4.Ingatlah untuk menentukan subnet mask. Pada jaringan uji ini,
255.255.255.0
, atau/24
dalam Perutean Antar-Domain Tanpa Kelas (CIDR).Agar perubahan diterapkan, Anda harus memantul koneksi dengan menghentikannya dan membawanya kembali. Perintah pertama memutuskan koneksi dan yang kedua mengembalikannya:
$ koneksi nmcli down ethernet-enp0s8
Koneksi 'ethernet-enp0s8' berhasil dinonaktifkan (jalur aktif D-Bus:/org/freedesktop/NetworkManager/ActiveConnection/4)
$ koneksi nmcli up ethernet- enp0s8
Koneksi berhasil diaktifkan (jalur aktif D-Bus:/org/freedesktop/NetworkManager/ActiveConnection/6)Jika Anda ingin mengatur koneksi untuk menggunakan DHCP, gunakan
auto
alih-alihmanual
:$ nmcli connection modify ethernet-enp0s8 ipv4.method auto
Manajemen perangkat
Perintah di
device
bagian dari perintah nmcli memungkinkan Anda untuk mengelola antarmuka jaringan yang diinstal pada komputer Anda.Memeriksa status perangkat
Untuk memeriksa status semua antarmuka jaringan dengan cepat:
$ nmcli status perangkat
PERANGKAT JENIS STATE CONNECTION
enp0s3 ethernet connected Wired connection 1
enp0s8 ethernet connectedMenampilkan detail perangkat
Untuk memeriksa detail antarmuka jaringan, gunakan
show
tindakan daridevice
bagian. Jika Anda tidak memberikan nama perangkat, detail semua perangkat akan diambil dan ditampilkan. Anda dapat menggulir dan membuka halaman ke atas dan ke bawah untuk meninjaunya.Lihat
enp0s8
, perangkat yang digunakan koneksi baru Anda. Verifikasi bahwa alamat IP yang digunakan adalah alamat yang Anda minta sebelumnya:
$ nmcli device show enp0s8
GENERAL.DEVICE: enp0s8
GENERAL.TYPE: UM:
.Mtu:1500
Umum.State:100 (terhubung)
Umum.Connection:Ethernet-Enp0S8
General.con-Path:/ Org / Freedesktop / NetworkMonnection / 6
Kabel-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: > .RUTE[1]: dst =fe80::/64, nh =::, mt =103
IP6.ROUTE[2]: =: , . ta ble=255
Responnya cukup detail. Antara lain, ini menunjukkan:
- The Nama antarmuka jaringan , yang dalam hal ini adalah
enp0s8
, yang ditetapkan oleh udev. - Jenis koneksi jaringan , yang dalam hal ini adalah koneksi Ethernet fisik.
- Alamat kontrol akses media (MAC) perangkat , yang mengidentifikasi perangkat di jaringan.
- Unit transmisi maksimum, yang merupakan ukuran unit data protokol terbesar yang dapat ditransmisikan dalam satu transaksi. Apa pun yang lebih besar dari ini dibagi menjadi beberapa paket.
- Perangkat ini saat ini terhubung .
- Nama sambungan menggunakan perangkat ini adalah
ethernet-enp0s8
. - Alamat IP sambungan menggunakan perangkat ini. Seperti yang diminta, ini disetel ke
192.168.4.26/24
.
Informasi lainnya berkaitan dengan pengaturan perutean dan gateway default yang diterapkan pada koneksi ini, sesuai dengan jaringan yang terhubung dengannya.
editor interaktif nmcli
Meskipun merupakan alat baris perintah, nmcli menyertakan editor interaktif dasar. edit
action akan membuka editor interaktif pada koneksi yang Anda tentukan:
$ nmcli connection edit ethernet-enp0s8
Ini menampilkan sejumlah kecil teks bantuan, kemudian prompt perintah nmcli:
===| editor koneksi interaktif nmcli |===
Mengedit koneksi '802-3-ethernet' yang ada:'ethernet-enp0s8'
Ketik 'help' atau '?' untuk perintah yang tersedia.
Ketik 'print' untuk menampilkan semua properti koneksi.
Ketik 'describe [. ]' untuk deskripsi properti detail.
Anda dapat mengedit pengaturan berikut:koneksi, 802-3-ethernet (ethernet), 802-1x, dcb, sriov, ethtool, match, ipv4, ipv6, tc, proxy
nmcli>
Jika Anda mengetik print
dan tekan Enter , nmcli akan mencantumkan semua properti yang terkait dengan koneksi. Ada banyak properti. Anda dapat menggulir ke atas dan ke bawah melalui daftar:
==============================================================================
Detail profil koneksi (ethernet-enp0s8)
===============================================================================
connection.id: ethernet-enp0s8
connection.uuid: 960-25 09d26 spionconnection
connection.autoconnect-priority: 0
connection.autoconnect-retries: -1 (default)
connection.multi-connect: 0 (default)
connection.auth-retries:- -1
connection.timestamp: 1593967212
connection.read-only: tidak
connection.permissions: --
connection.master: --
connection.slave-type: --
connection.autoconnect-slaves: -1 (default)
Ubah kembali koneksi Anda untuk menggunakan DHCP. Ketik
goto ipv4
dan tekan Enter :nmcli> goto ipv4
Anda dapat mengedit properti berikut:metode, dns, dns-search, dns-options, dns-priority, address, gateway, route, route-metric, route-table, routing- aturan, abaikan-rute otomatis, abaikan-auto-dns, dhcp-client-id, dhcp-iaid, dhcp-timeout, dhcp-send-hostname, dhcp-hostname, dhcp-fqdn, dhcp-hostname-flags, tidak pernah- default, mungkin-gagal, dad-timeout
nmcli ipv4>Properti yang ingin Anda ubah adalah
method
. Ketikset method auto
dan tekan Enter :nmcli ipv4> setel metode otomatis
Apakah Anda juga ingin menghapus 'ipv4.addresses'? [ya]:Jika Anda ingin koneksi menghapus alamat IP statis, tekan Enter . Untuk menyimpannya, ketik
no
dan tekan Enter . Anda dapat menyimpannya jika Anda merasa akan menggunakannya lagi di masa mendatang. Bahkan dengan alamat IP statis yang tersimpan, jikamethod
disetel keauto
, itu akan menggunakan DHCP.Ketik
save
untuk menyimpan perubahan Anda:nmcli ipv4> simpan
Koneksi 'ethernet-enp0s8' (09d26960-25a0-440f-8b20-c684d7adc2f5) berhasil diperbarui.
nmcli ipv4>Ketik
quit
untuk keluar dari editor interaktif nmcli. Jika Anda tidak ingin keluar, ketikback
untuk kembali ke level utama, dan melanjutkan menggunakan editor.Masih banyak lagi yang bisa nmcli
Jelajahi editor interaktif dan lihat berapa banyak pengaturan yang ada dan berapa banyak properti yang dimiliki setiap pengaturan. Editor interaktif adalah alat yang rapi, tetapi untuk one-liner yang bagus atau untuk menggunakan nmcli dalam skrip, Anda memerlukan versi baris perintah biasa.
Sekarang setelah Anda memiliki dasar-dasarnya, lihat halaman manual nmcli untuk melihat apa lagi yang bisa ditawarkannya.
Klub Student Linux memperbarui komputer untuk mendukung pembelajaran jarak jauh Debug Linux menggunakan ProcDumpLinux