Cara Mengkonfigurasi Jaringan IP dengan 'nmcli' di Linux


Sebagai administrator Linux, Anda memiliki berbagai alat yang dapat digunakan untuk mengonfigurasi koneksi jaringan Anda, seperti nmtui, NetworkManager Anda dengan antarmuka pengguna grafis GNOME, dan tentu saja nmcli (alat baris perintah manajer jaringan).

Saya telah mengamati banyak administrator menggunakan nmtui karena kesederhanaannya. Namun, menggunakan nmcli menghemat waktu Anda, meningkatkan kepercayaan diri Anda, memungkinkan integrasi ke dalam skrip, dan merupakan alat utama untuk memecahkan masalah jaringan server Linux, serta memulihkan fungsinya dengan cepat.

Setelah memperhatikan banyak komentar yang mencari bantuan dengan nmcli, saya memutuskan untuk menulis artikel ini. Tentu saja, Anda harus selalu membaca halaman manualnya dengan cermat (halaman tersebut adalah sumber nomor 1 untuk Anda). Tujuan saya adalah menghemat waktu Anda dan memberi Anda beberapa petunjuk bermanfaat.

Sintaks Perintah nmcli

Sintaks nmcli adalah:

nmcli [OPTIONS] OBJECT {COMMAND | help}

Dimana OBJECT adalah salah satu dari umum, jaringan, radio, koneksi, perangkat, dan agen.

Periksa Status Perangkat Jaringan di Linux

Titik awal yang baik adalah memeriksa perangkat kami:

nmcli dev status

DEVICE      TYPE      STATE         CONNECTION 
docker0     bridge    connected     docker0    
virbr0      bridge    connected     virbr0     
enp0s3      ethernet  connected     enp0s3     
virbr0-nic  ethernet  disconnected  --         
lo          loopback  unmanaged     --         

Seperti yang bisa kita lihat di kolom pertama, ada daftar perangkat jaringan kita. Kami memiliki satu kartu jaringan dengan nama enp0s3. Di komputer Anda, Anda mungkin melihat nama yang berbeda.

Penamaannya bergantung pada jenis kartu jaringan (apakah itu onboard, kartu PCI, dll.). Di kolom terakhir, kita melihat file konfigurasi, yang digunakan oleh perangkat kita untuk terhubung ke jaringan

Sangat mudah untuk memahami bahwa perangkat kita sendiri tidak dapat melakukan apa pun. Mereka membutuhkan kita untuk membuat file konfigurasi untuk memberi instruksi tentang cara mencapai konektivitas jaringan. File-file ini juga disebut ‘profil koneksi‘ dan kami menemukannya di direktori /etc/sysconfig/network-scripts.

cd /etc/sysconfig/network-scripts/
ls
Contoh Keluaran
ifcfg-enp0s3  ifdown-isdn      ifup          ifup-plip      ifup-tunnel
ifcfg-lo      ifdown-post      ifup-aliases  ifup-plusb     ifup-wireless
ifdown        ifdown-ppp       ifup-bnep     ifup-post      init.ipv6-global
ifdown-bnep   ifdown-routes    ifup-eth      ifup-ppp       network-functions
ifdown-eth    ifdown-sit       ifup-ib       ifup-routes    network-functions-ipv6
ifdown-ib     ifdown-Team      ifup-ippp     ifup-sit
ifdown-ippp   ifdown-TeamPort  ifup-ipv6     ifup-Team
ifdown-ipv6   ifdown-tunnel    ifup-isdn     ifup-TeamPort

Seperti yang Anda lihat di sini, file dengan nama yang dimulai dengan 'ifcfg-' (konfigurasi antarmuka) adalah profil koneksi. Saat kita membuat koneksi baru atau memodifikasi koneksi yang sudah ada dengan nmcli atau nmtui, hasilnya disimpan di sini sebagai profil koneksi.

Saya akan menunjukkan kepada Anda dua di antaranya dari mesin saya, satu dengan konfigurasi dhcp dan satu lagi dengan ip statis.

cat ifcfg-static1
cat ifcfg-Myoffice1

Kami menyadari bahwa beberapa properti memiliki nilai yang berbeda, dan beberapa properti lainnya tidak ada jika tidak diperlukan.

Mari kita lihat sekilas hal-hal yang paling penting.

  • TYPE – kami memiliki tipe Ethernet di sini. Kita juga bisa punya WiFi, team, bond, dan lain-lain.
  • PERANGKAT – nama perangkat jaringan yang terkait dengan profil ini.
  • BOOTPROTO – jika memiliki nilai “dhcp ”, maka profil koneksi kita memperoleh IP dinamis dari server DHCP. Jika memiliki nilai “none ”, maka IP tersebut tidak menggunakan IP dinamis, dan kemungkinan besar kami menetapkan IP statis.
  • IPADDR – adalah IP statis yang kami tetapkan ke profil kami.
  • PREFIX – subnet mask. Nilai 24 berarti 255.255.255.0. Anda dapat lebih memahami subnet mask dengan menuliskan format binernya. Misalnya, nilai 16, 24, dan 26 berarti 16 pertama, 24<, atau 26 bit, masing-masing, disetel ke 1, dan sisanya 0. Ini menentukan alamat jaringan dan rentang alamat IP yang dapat ditetapkan.
  • GATEWAY – IP gerbang.
  • DNS1, DNS2 – dua server dns yang ingin kami gunakan.
  • ONBOOT – jika memiliki nilai “yes ” artinya, saat boot komputer kita akan membaca profil ini dan mencoba menetapkannya ke perangkatnya.

Periksa Koneksi Jaringan di Linux

Sekarang, mari kita lanjutkan dan periksa koneksi kita:

nmcli con show

Kolom perangkat terakhir membantu kita memahami koneksi mana yang 'UP' dan berjalan dan mana yang tidak. Pada gambar di atas, Anda dapat melihat dua koneksi aktif: Myoffice1 dan enp0s8.

Petunjuk: Jika Anda hanya ingin melihat koneksi yang aktif, ketik:

nmcli con show -a

Petunjuk: Anda dapat menggunakan Tab pelengkapan otomatis saat menggunakan nmcli, namun lebih baik digunakan format minimal perintah.

Jadi, perintah berikut ini sama:

nmcli connection show
nmcli con show
nmcli c s

Periksa Alamat IP di Linux

Jika saya memeriksa alamat ip perangkat saya:

ip a

Saya melihat perangkat saya enp0s3 mengambil IP 192.168.1.6 dari server dhcp karena profil koneksi Myoffice1 yang aktif memiliki konfigurasi dhcp.

Jika saya memunculkan “up ” profil koneksi saya dengan nama static1 maka perangkat saya akan menggunakan IP statis 192.168.1.40 seperti yang didefinisikan dalam profil koneksi.

nmcli con down Myoffice1 ; nmcli con up static1
nmcli con show

Mari kita lihat alamat IP lagi:

ip a

Kita dapat membuat profil koneksi pertama kita. Properti minimum yang harus kita tentukan adalah type, ifname, dan con-name:

  • type – untuk jenis koneksi.
  • ifname – untuk nama perangkat yang ditetapkan ke koneksi kita.
  • con-name – untuk nama koneksi.

Membuat Koneksi Ethernet Baru di Linux

Mari kita buat koneksi ethernet baru dengan nama Myhome1, yang ditetapkan ke perangkat enp0s3:

nmcli con add type ethernet con-name Myhome1 ifname enp0s3

Periksa konfigurasinya:

cat ifcfg-Myhome1

Seperti yang Anda lihat, ia memiliki BOOTPROTO=dhcp, karena kami tidak memberikan alamat ip statis apa pun.

Petunjuk: Kita dapat memodifikasi koneksi apa pun dengan perintah “nmcli con mod“. Namun jika anda memodifikasi koneksi dhcp dan mengubahnya menjadi static jangan lupa untuk mengubahnya “ipv4.method ” dari “auto ” menjadi “manual ” . Jika tidak, Anda akan mendapatkan dua alamat IP: satu dari server dhcp dan satu lagi statis.

Mari kita buat profil koneksi Ethernet baru dengan nama static2, yang akan ditetapkan ke perangkat enp0s3, dengan IP statis 192.168.1.50, subnet topeng 255.255.255.0=24, dan gerbang 192.168.1.1.

nmcli con add type ethernet con-name static2 ifname enp0s3 ip4 192.168.1.50/24 gw4 192.168.1.1

Periksa konfigurasinya:

cat ifcfg-static2

Ubah Server DNS di Linux

Mari ubah profil koneksi terakhir dan tambahkan dua server dns.

nmcli con mod static2 ipv4.dns “8.8.8.8 8.8.4.4”

Petunjuk: Ada sesuatu di sini yang harus Anda perhatikan: properti untuk alamat IP dan gateway memiliki nama yang berbeda saat Anda menambahkan dan saat Anda mengubah koneksi. Saat Anda menambahkan koneksi, Anda menggunakan “ip4 ” dan “gw4 ”, sedangkan saat Anda memodifikasinya, Anda menggunakan “ipv4 ” dan “ gwv4 ”.

Memunculkan Koneksi Ethernet di Linux

Sekarang mari kita tampilkan profil koneksi ini:

nmcli con down static1 ; nmcli con up static2

Seperti yang Anda lihat, perangkat enp0s3 sekarang memiliki alamat IP 192.168.1.50.

ip a

Petunjuk: Ada banyak properti yang dapat Anda modifikasi. Jika Anda tidak ingat, Anda dapat membantu diri Anda sendiri dengan mengetik “nmcli con show ” dan setelah itu nama koneksi:

nmcli con show static2

Anda dapat mengubah semua properti yang ditulis dalam huruf kecil.

Misalnya: saat Anda menghapus profil koneksi, NetworkManager akan mencari profil koneksi lain dan memunculkannya secara otomatis. (Saya membiarkannya sebagai latihan untuk memeriksanya). Jika Anda tidak ingin profil koneksi Anda terhubung secara otomatis:

nmcli con mod static2 connection.autoconnect no

Latihan terakhir sangat berguna: Anda membuat profil koneksi tetapi Anda ingin profil tersebut digunakan oleh pengguna tertentu. Mengklasifikasikan pengguna Anda adalah hal yang bagus!

Tetapkan Izin Koneksi Ethernet ke Pengguna di Linux

Kami hanya mengizinkan pengguna stella yang menggunakan profil ini:

nmcli con mod static2 connection.permissions stella

Petunjuk: Jika Anda ingin memberikan izin kepada lebih dari satu pengguna, Anda harus mengetikkan pengguna:pengguna1,pengguna2 tanpa spasi kosong di antaranya:

nmcli con mod static2 connection.permissions user:stella,john

Jika Anda masuk sebagai pengguna lain, Anda tidak dapat "mengaktifkan" profil koneksi ini:

nmcli con show
nmcli con up static2
ls /etc/sysconfig/network-scripts

Pesan kesalahan mengatakan bahwa koneksi 'statis2' tidak ada, meskipun kami melihatnya ada. Itu karena pengguna saat ini tidak memiliki izin untuk membuka koneksi ini.

Kesimpulan: jangan ragu untuk menggunakan nmcli. Mudah dan bermanfaat.