GNU/Linux >> Belajar Linux >  >> Linux

Kelola koneksi jaringan dari baris perintah Linux dengan nmcli

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 id

Koneksi baru Anda, ethernet-enp0s8 , telah dibuat. Pengenal unik universalnya (UUID) telah ditetapkan, dan jenis koneksinya adalah Ethernet. Aktifkan dengan up 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  enp0s9

Koneksi baru Anda, ethernet-enp0s8 , sekarang aktif dan terikat ke enp0s8 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 ke manual :

$ 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-alih manual :

$ 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  connected  

Menampilkan detail perangkat

Untuk memeriksa detail antarmuka jaringan, gunakan show tindakan dari device 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 . Ketik set 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, jika method disetel ke auto , 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, ketik back 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.


Linux
  1. Bekerja dengan pipa di baris perintah Linux

  2. Menggunakan Google Drive dari Baris Perintah Linux

  3. Pass – Kelola Kata Sandi Anda dari Baris Perintah Linux

  1. Menghasilkan hash SHA-256 dari baris perintah Linux

  2. Mencetak dari baris perintah dengan LibreOffice, perintah lpr?

  3. Bagaimana cara membuat USB yang dapat di-boot dari ISO yang dapat di-boot dengan baris perintah di Linux?

  1. Konfigurasikan ruang kerja Linux dari jarak jauh dari baris perintah

  2. Bekerja dengan aliran data di baris perintah Linux

  3. Cara menginstal perangkat lunak dari baris perintah Linux