Manfaatkan sepenuhnya alat pengurusan rangkaian NetworkManager pada baris arahan Linux menggunakan utiliti nmcli.
Utiliti
Ia muncul pada tahun 2010 dan bagi kebanyakan orang telah menjadi cara alternatif untuk mengkonfigurasi antara muka rangkaian dan sambungan. Walaupun sesetengah orang masih menggunakan
sintaks arahan ncmli
Secara umum, sintaks kelihatan seperti ini:
$ nmcli <options> <section> <action>
- pilihan ialah parameter yang menentukan kehalusan operasi nmcli,
- bahagian (bahagian) - menentukan ciri utiliti yang hendak digunakan,
- tindakan - membolehkan anda menentukan perkara yang sebenarnya perlu dilakukan.
Terdapat 8 bahagian secara keseluruhan, setiap satunya dikaitkan dengan set arahan (tindakan) tertentu:
- Bantuan menyediakan bantuan tentang arahan ncmcli dan penggunaannya.
- Umum mengembalikan status NetworkManager dan konfigurasi global.
- Rangkaian termasuk arahan untuk menanyakan status sambungan rangkaian dan membolehkan/lumpuhkan sambungan.
- radio termasuk arahan untuk menanyakan status sambungan rangkaian WiFi dan membolehkan/lumpuhkan sambungan.
- Pantau termasuk arahan untuk memantau aktiviti NetworkManager dan memerhati perubahan dalam keadaan sambungan rangkaian.
- Hubungan termasuk arahan untuk mengurus antara muka rangkaian, menambah sambungan baharu dan memadamkan yang sedia ada.
- Peranti digunakan terutamanya untuk menukar parameter berkaitan peranti (seperti nama antara muka) atau untuk menyambungkan peranti menggunakan sambungan sedia ada.
- Rahsia mendaftarkan nmcli sebagai "ejen rahsia" NetworkManager yang mendengar mesej rahsia. Bahagian ini jarang digunakan, kerana nmcli berfungsi dengan cara ini secara lalai apabila menyambung ke rangkaian.
Contoh mudah
Sebelum anda bermula, pastikan NetworkManager sedang berjalan dan nmcli boleh berkomunikasi dengannya:
$ nmcli general
STATE CONNECTIVITY WIFI-HW WIFI WWAN-HW WWAN
connected full enabled enabled enabled enabled
Kerja selalunya bermula dengan melihat semua profil sambungan rangkaian:
$ 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 tunjukkan untuk bahagian Sambungan.
Mesin ujian menjalankan Ubuntu 20.04. Dalam kes ini, kami menemui tiga sambungan berwayar: enp0s3, enp0s8 dan enp0s9.
Urus sambungan
Adalah penting untuk memahami bahawa dalam nmcli, dengan istilah Sambungan yang kami maksudkan adalah entiti yang mengandungi semua maklumat tentang sambungan. Dengan kata lain, ini ialah konfigurasi rangkaian. Sambungan merangkumi semua maklumat berkaitan sambungan, termasuk lapisan pautan dan maklumat pengalamatan IP. Ini adalah Lapisan 2 dan Lapisan 3 dalam model rangkaian OSI.
Apabila anda menyediakan rangkaian dalam Linux, anda biasanya menyediakan sambungan yang akhirnya akan terikat pada peranti rangkaian, yang seterusnya ialah antara muka rangkaian yang dipasang pada komputer. Apabila peranti menggunakan sambungan, ia dianggap aktif atau dinaikkan. Jika sambungan tidak digunakan, ia tidak aktif atau ditetapkan semula.
Menambah sambungan rangkaian
Utiliti ncmli membolehkan anda menambah dan mengkonfigurasi sambungan dengan cepat. Sebagai contoh, untuk menambah sambungan Berwayar 2 (dengan enp0s8), anda perlu menjalankan arahan berikut sebagai superuser:
$ sudo nmcli connection add type ethernet ifname enp0s8
Connection 'ethernet-enp0s8' (09d26960-25a0-440f-8b20-c684d7adc2f5) successfully added.
Dalam pilihan jenis kami menunjukkan bahawa ini akan menjadi sambungan Ethernet, dan dalam pilihan ifname (nama antara muka) kami menunjukkan antara muka rangkaian yang kami mahu gunakan.
Inilah yang akan berlaku selepas menjalankan arahan:
$ 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 --
Sambungan baharu telah dibuat, ethernet-enp0s8. Ia telah diberikan UUID dan jenis sambungan ialah Ethernet. Mari kita tingkatkannya menggunakan arahan atas:
$ nmcli connection up ethernet-enp0s8
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/4)
Mari semak senarai sambungan aktif sekali lagi:
$ 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
Sambungan baru ethernet-enp0s8 telah ditambah, ia aktif dan menggunakan antara muka rangkaian enp0s8.
Menyediakan sambungan
Utiliti ncmli membolehkan anda menukar parameter sambungan sedia ada dengan mudah. Sebagai contoh, anda perlu menukar alamat IP dinamik (DHCP) anda kepada alamat IP statik.
Katakan kita perlu menetapkan alamat IP kepada 192.168.4.26. Untuk melakukan ini, kami menggunakan dua arahan. Yang pertama akan terus menetapkan alamat IP, dan yang kedua akan menukar kaedah tetapan alamat IP kepada manual:
$ nmcli connection modify ethernet-enp0s8 ipv4.address 192.168.4.26/24
$ nmcli connection modify ethernet-enp0s8 ipv4.method manual
Jangan lupa juga tetapkan subnet mask. Untuk sambungan ujian kami ini ialah 255.255.255.0, atau dengan /24 untuk penghalaan tanpa kelas (CIDR).
Untuk perubahan berkuat kuasa, anda perlu menyahaktifkan dan kemudian mengaktifkan semula sambungan:
$ 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
Jika, sebaliknya, anda perlu memasang DHCP, gunakan auto dan bukannya manual:
$ nmcli connection modify ethernet-enp0s8 ipv4.method auto
Bekerja dengan peranti
Untuk ini kami menggunakan bahagian Peranti.
Menyemak status peranti
$ 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 maklumat peranti
Untuk melakukan ini, gunakan tindakan tunjukkan dari bahagian Peranti (anda mesti menyatakan nama peranti). Utiliti memaparkan banyak maklumat, selalunya pada beberapa halaman.
Mari lihat antara muka enp0s8 yang digunakan oleh sambungan baharu kami. Mari pastikan ia menggunakan alamat IP yang kami tetapkan sebelum ini:
$ 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
Terdapat cukup banyak maklumat. Mari kita serlahkan perkara utama:
- Nama antara muka rangkaian: enp0s8.
- Jenis sambungan: sambungan Ethernet berwayar.
- Kami melihat alamat MAC peranti.
- Unit penghantaran maksimum (MTU) ditentukan β saiz maksimum blok data berguna satu paket yang boleh dihantar oleh protokol tanpa pemecahan.
- peranti sedang disambungkan.
- Nama sambunganperanti yang manakah menggunakan: ethernet-enp0s8.
- Peranti menggunakan satu Alamat IP, yang kami pasang sebelum ini: 192.168.4.26/24.
Maklumat lain berkaitan dengan penghalaan lalai dan parameter get laluan sambungan. Mereka bergantung pada rangkaian tertentu.
Editor nmcli interaktif
nmcli juga mempunyai editor interaktif yang mudah, yang mungkin lebih selesa untuk digunakan oleh sesetengah orang. Untuk menjalankannya pada sambungan ethernet-enp0s8 sebagai contoh, gunakan tindakan edit:
$ nmcli connection edit ethernet-enp0s8
Ia juga mempunyai bantuan kecil, yang, bagaimanapun, lebih kecil daripada 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 menaip arahan cetak dan tekan Enter, nmcli akan memaparkan semua sifat sambungan:
===============================================================================
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: --
Contohnya, untuk menetapkan sambungan kepada DHCP, taip goto ipv4 dan klik Masukkan:
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 kaedah auto dan klik Masukkan:
nmcli ipv4> set method auto
Do you also want to clear 'ipv4.addresses'? [yes]:
Jika anda ingin mengosongkan alamat IP statik, klik Masukkan. Jika tidak, taip no dan tekan Enter. Anda boleh menyimpannya jika anda fikir anda akan memerlukannya pada masa hadapan. Tetapi walaupun dengan alamat IP statik yang disimpan, DHCP akan digunakan jika kaedah ditetapkan kepada auto.
Gunakan perintah simpan untuk menyimpan perubahan anda:
nmcli ipv4> save
Connection 'ethernet-enp0s8' (09d26960-25a0-440f-8b20-c684d7adc2f5) successfully updated.
nmcli ipv4>
Taip berhenti untuk keluar dari Editor Interaktif nmcli. Jika anda menukar fikiran tentang keluar, gunakan arahan belakang.
Dan bukan itu sahaja
Buka Editor Interaktif nmcli dan lihat berapa banyak tetapan yang ada dan berapa banyak sifat yang ada pada setiap tetapan. Editor interaktif ialah alat yang hebat, tetapi jika anda ingin menggunakan nmcli dalam satu baris atau skrip, anda memerlukan versi baris arahan biasa.
Sekarang anda mempunyai asas, lihat
Sebagai iklan
Pelayan epik - Adakah
Sumber: www.habr.com