Plene profitu la ilon pri retan administrado NetworkManager sur la Linukso-komandlinio uzante la ilon nmcli.
Utileco
Ĝi aperis en 2010 kaj por multaj fariĝis alternativa maniero agordi retajn interfacojn kaj konektojn. Kvankam iuj homoj ankoraŭ uzas
ncmli komanda sintakso
Ĝenerale, la sintakso aspektas jene:
$ nmcli <options> <section> <action>
- opcioj estas parametroj kiuj determinas la subtilecojn de nmcli operacio,
- sekcio (sekcio) - determinas kiujn funkciojn de la ilo uzi,
- ago - permesas al vi specifi tion, kio efektive devas esti farita.
Estas 8 sekcioj entute, ĉiu el kiuj estas asociita kun certa aro de komandoj (agoj):
- helpi provizas helpon pri ncmcli-komandoj kaj ilia uzado.
- Ĝenerala resendas la statuson de NetworkManager kaj tutmondan agordon.
- interkonektanta inkluzivas komandojn por pridemandi staton de retkonekto kaj ebligi/malŝalti konektojn.
- Radio inkluzivas komandojn por pridemandi statuson de WiFi-retkonekto kaj ebligi/malŝalti konektojn.
- monitoro inkluzivas komandojn por monitori NetworkManager-agadon kaj observi ŝanĝojn en la stato de retaj konektoj.
- konekto inkluzivas komandojn por administri retajn interfacojn, aldoni novajn konektojn kaj forigi ekzistantajn.
- artefakto ĉefe uzata por ŝanĝi aparatojn rilatajn parametrojn (kiel interfaco nomo) aŭ por konekti aparatojn uzante ekzistantan konekton.
- sekreta registras nmcli kiel NetworkManager "sekreta agento" kiu aŭskultas sekretajn mesaĝojn. Ĉi tiu sekcio malofte estas uzata, ĉar nmcli funkcias tiamaniere defaŭlte dum konekto al retoj.
Simplaj ekzemploj
Antaŭ ol komenci, certigu, ke NetworkManager funkcias kaj nmcli povas komuniki kun ĝi:
$ nmcli general
STATE CONNECTIVITY WIFI-HW WIFI WWAN-HW WWAN
connected full enabled enabled enabled enabled
Laboro ofte komenciĝas per rigardado de ĉiuj retkonektprofiloj:
$ 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
Ĉi tiu komando uzas ago montru por la sekcio Konekto.
La testmaŝino funkcias Ubuntu 20.04. En ĉi tiu kazo, ni trovis tri kablajn konektojn: enp0s3, enp0s8 kaj enp0s9.
Administri konektojn
Gravas kompreni, ke en nmcli, per la termino Konekto ni signifas enton, kiu enhavas ĉiujn informojn pri la konekto. Alivorte, ĉi tio estas la reto-agordo. Konekto enkapsuligas ĉiujn lig-rilatajn informojn, inkluzive de ligtavolo kaj IP-adresinformoj. Ĉi tiuj estas Tavolo 2 kaj Tavolo 3 en la OSI-retmodelo.
Kiam vi agordas reton en Linukso, vi kutime agordas konektojn kiuj finos esti ligitaj al retaj aparatoj, kiuj siavice estas retaj interfacoj instalitaj sur la komputilo. Kiam aparato uzas konekton, ĝi estas konsiderata aktiva aŭ levita. Se konekto ne estas uzata, ĝi estas neaktiva aŭ rekomencigita.
Aldonante retajn konektojn
La ilo ncmli permesas al vi rapide aldoni kaj tuj agordi konektojn. Ekzemple, por aldoni Kablan konekton 2 (kun enp0s8), vi devas ruli la sekvan komandon kiel superuzanto:
$ sudo nmcli connection add type ethernet ifname enp0s8
Connection 'ethernet-enp0s8' (09d26960-25a0-440f-8b20-c684d7adc2f5) successfully added.
En la tipo-opcio ni indikas, ke ĉi tio estos Ethernet-konekto, kaj en la opcio ifname (interfaconomo) ni indikas la retan interfacon, kiun ni volas uzi.
Jen kio okazos post rulado de la komando:
$ 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 --
Nova konekto estis kreita, ethernet-enp0s8. Ĝi ricevis UUID kaj la konektotipo estis Ethernet. Ni levu ĝin uzante la supren komandon:
$ nmcli connection up ethernet-enp0s8
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/4)
Ni kontrolu denove la liston de aktivaj konektoj:
$ 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
Nova konekto ethernet-enp0s8 estis aldonita, ĝi estas aktiva kaj uzas la retan interfacon enp0s8.
Agordi konektojn
La ilo ncmli permesas facile ŝanĝi la parametrojn de ekzistantaj konektoj. Ekzemple, vi devas ŝanĝi vian dinamikan (DHCP) IP-adreson al statika IP-adreso.
Ni diru, ke ni devas agordi la IP-adreson al 192.168.4.26. Por fari tion ni uzas du komandojn. La unua rekte agos la IP-adreson, kaj la dua ŝanĝos la metodon de agordo de IP-adreso al manlibro:
$ nmcli connection modify ethernet-enp0s8 ipv4.address 192.168.4.26/24
$ nmcli connection modify ethernet-enp0s8 ipv4.method manual
Ne forgesu ankaŭ agordi la subretan maskon. Por nia prova konekto ĉi tio estas 255.255.255.0, aŭ kun /24 por senklasa vojigo (CIDR).
Por ke la ŝanĝoj efektiviĝu, vi devas malaktivigi kaj poste reaktivigi la konekton:
$ 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
Se, male, vi bezonas instali DHCP, uzu aŭtomatan anstataŭ manlibron:
$ nmcli connection modify ethernet-enp0s8 ipv4.method auto
Laborante kun aparatoj
Por tio ni uzas la sekcion Aparato.
Kontrolante la staton de la aparato
$ 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 --
Petante informojn pri aparato
Por fari tion, uzu la montran agon el la sekcio Aparato (vi devas specifi la nomon de la aparato). La ilo montras multajn informojn, ofte sur pluraj paĝoj.
Ni rigardu la interfacon enp0s8, kiun nia nova konekto uzas. Ni certigu, ke ĝi uzas ĝuste la IP-adreson, kiun ni antaŭe agordis:
$ 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
Estas sufiĉe multe da informoj. Ni reliefigu la ĉefan aferon:
- Reta interfaco nomo: enp0s8.
- Tipo de konekto: kablita Ethernet-konekto.
- Ni vidas la MAC-adreson de la aparato.
- Maksimuma dissenda unuo (MTU) specifita — la maksimuma grandeco de utila datumbloko de unu pakaĵeto kiu povas esti elsendita per la protokolo sen fragmentiĝo.
- Aparato nuntempe konektita.
- Nomo de konektokiu aparato uzas: ethernet-enp0s8.
- La aparato uzas la IP-adreso, kiun ni instalis pli frue: 192.168.4.26/24.
Aliaj informoj rilatas al la defaŭltaj envojaj kaj konektaj enirejo-parametroj. Ili dependas de la specifa reto.
Interaga nmcli-redaktilo
nmcli ankaŭ havas simplan interagan redaktilon, kiu povas esti pli komforta por iuj labori kun. Por ruli ĝin sur ethernet-enp0s8-konekto ekzemple, uzu ago redakti:
$ nmcli connection edit ethernet-enp0s8
Ĝi ankaŭ havas malgrandan helpon, kiu tamen estas pli malgranda ol la konzola versio:
===| 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>
Se vi tajpas la presan komandon kaj premas Enter, nmcli montros ĉiujn konektajn ecojn:
===============================================================================
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: --
Ekzemple, por agordi la konekton al DHCP, tajpu goto ipv4 kaj alklaku Enigu:
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>
Poste skribu agordan metodon aŭtomate kaj alklaku Enigu:
nmcli ipv4> set method auto
Do you also want to clear 'ipv4.addresses'? [yes]:
Se vi volas forigi la statikan IP-adreson, alklaku Enigu. Alie, tajpu ne kaj premu Enter. Vi povas konservi ĝin se vi pensas, ke vi bezonos ĝin estonte. Sed eĉ kun konservita statika IP-adreso, DHCP estos uzata se metodo estas agordita al aŭtomata.
Uzu la konservan komandon por konservi viajn ŝanĝojn:
nmcli ipv4> save
Connection 'ethernet-enp0s8' (09d26960-25a0-440f-8b20-c684d7adc2f5) successfully updated.
nmcli ipv4>
Tajpu ĉesi por eliri la nmcli Interactive Editor. Se vi ŝanĝas vian opinion pri foriro, uzu la malantaŭan komandon.
Kaj tio ne estas ĉio
Malfermu la Interagan Redaktilon de nmcli kaj vidu kiom da agordoj estas kaj kiom da propraĵoj havas ĉiu agordo. La interaga redaktilo estas bonega ilo, sed se vi volas uzi nmcli en unu-linioj aŭ skriptoj, vi bezonos la regulan komandlinian version.
Nun ke vi havas la bazojn, kontrolu
Pri la Rajtoj de Reklamado
Epopeaj serviloj Estas
fonto: www.habr.com