ການຕັ້ງຄ່າເຄືອຂ່າຍ IP ດ້ວຍ nmcli

Richard Gregory, Peter Boy (pboy) Version F36 onwards Last review: 2023-08-28
ວິທີຕັ້ງຄ່າເຄືອຂ່າຍໂດຍໃຊ້ເຄື່ອງມືຄຳສັ່ງ nmcli (NetworkManager Command Line Interface).

ເລີ່ມຕົ້ນກັບ nmcli

ເຄື່ອງມືຄຳສັ່ງ nmcli (NetworkManager Command Line Interface) ໃຊ້ສຳລັບຄວບຄຸມ NetworkManager ແລະ ລາຍງານສະຖານະເຄືອຂ່າຍ. ມັນສາມາດໃຊ້ແທນ[application]nm-applet ຫຼື ໂປຣແກຣມອື່ນທີ່ມີໜ້າຈໍແບບກຣາຟິກ. nmcli ໃຊ້ສຳລັບສ້າງ, ສະແດງ, ແກ້ໄຂ, ລຶບ, ເປີດໃຊ້ງານ ແລະ ປິດການໃຊ້ງານການເຊື່ອມຕໍ່ເຄືອຂ່າຍ ລວມທັງການຄວບຄຸມ ແລະ ສະແດງສະຖານະອຸປະກອນເຄືອຂ່າຍ.

ເຄື່ອງມື nmcli ສາມາດໃຊ້ໄດ້ທັງຜູ້ໃຊ້ ແລະ ສະຄຣິບ ເພື່ອຄວບຄຸມ NetworkManager:

  • ສຳລັບເຊີບເວີ, ເຄື່ອງທີ່ບໍ່ມີໜ້າຈໍສະແດງຜົນ (headless machines) ແລະ ເທີມິນອນ, nmcli ສາມາດໃຊ້ຄວບຄຸມ NetworkManager ໄດ້ໂດຍກົງ ໂດຍບໍ່ຕ້ອງໃຊ້ GUI, ລວມເຖິງການສ້າງ, ແກ້ໄຂ, ເລີ່ມຕົ້ນ ແລະ ຢຸດການເຊື່ອມຕໍ່ເຄືອຂ່າຍ ແລະ ເບິ່ງສະຖານະເຄືອຂ່າຍ.

  • ສຳລັບສະຄຣິບ, nmcli ຮອງຮັບຮູບແບບຜົນລວມຫຍໍ້ (terse) ເຊິ່ງເໝາະສົມກວ່າສຳລັບການປະມວນຜົນດ້ວຍສະຄຣິບ. ມັນເປັນວິທີການຮວມການຕັ້ງຄ່າເຄືອຂ່າຍເຂົ້າດ້ວຍກັນ ແທນທີ່ຈະຈັດການການເຊື່ອມຕໍ່ເຄືອຂ່າຍດ້ວຍມື.

ຮູບແບບພື້ນຖານຂອງຄຳສັ່ງ[application]nmcli ມີດັ່ງນີ້:

$ nmcli [OPTIONS] OBJECT { COMMAND | help }

ໂດຍທີ່ OBJECT ສາມາດເປັນໜຶ່ງໃນຕົວເລືອກຕໍ່ໄປນີ້: general, networking, radio, connection, device, agent, ແລະ monitor. ເຈົ້າສາມາດໃຊ້ຄຳນຳໜ້າຂອງຕົວເລືອກເຫຼົ່ານີ້ໃນຄຳສັ່ງຂອງເຈົ້າໄດ້. ຕົວຢ່າງ, [command]nmcli con help, [command]nmcli c help,[command]nmcli connection help ຈະໃຫ້ຜົນລັດອັນດຽວກັນ.

ຕົວເລືອກ OPTIONS ທີ່ເປັນປະໂຫຍດບາງຢ່າງໃນການເລີ່ມຕົ້ນແມ່ນ:

-t, terse

ໂໝດນີ້ສາມາດໃຊ້ສຳລັບການປະມວນຜົນດ້ວຍສະຄຣິບ ເນື່ອງຈາກເຈົ້າສາມາດເຫັນຜົນລວມຫຍໍ້ທີ່ສະແດງສະເພາະຄ່າຕ່າງໆເທົ່ານັ້ນ.

Example 1. ການເບິ່ງຜົນລວມຫຍໍ້
$ nmcli -t device
ens3:ethernet:connected:Profile 1
lo:loopback:unmanaged:
-f, field

ຕົວເລືອກນີ້ລະບຸວ່າຊ່ອງຂໍ້ມູນໃດແດ່ທີ່ສາມາດສະແດງໃນຜົນລວມໄດ້. ຕົວຢ່າງ: NAME,UUID,TYPE,AUTOCONNECT,ACTIVE,DEVICE,STATE. ເຈົ້າສາມາດໃຊ້ໜຶ່ງຊ່ອງຂໍ້ມູນ ຫຼື ຫຼາຍກວ່ານັ້ນ. ຖ້າເຈົ້າຕ້ອງການໃຊ້ຫຼາຍຊ່ອງ, ຢ່າໃຊ້ຊ່ອງວ່າງຫຼັງເຄື່ອງໝາຍຈຸດເພື່ອແຍກຊ່ອງຂໍ້ມູນເຫຼົ່ານັ້ນ.

Example 2. ການລະບຸຊ່ອງຂໍ້ມູນໃນຜົນລວມ
$ nmcli -f DEVICE,TYPE device
DEVICE  TYPE
ens3    ethernet
lo      loopback

ຫຼື ດີກວ່ານັ້ນສຳລັບການຂຽນສະຄຣິບ:

$ nmcli -t -f DEVICE,TYPE device
ens3:ethernet
lo:loopback
-p, pretty

ຕົວເລືອກນີ້ເຮັດໃຫ້ nmcli ສ້າງຜົນລວມທີ່ມະນຸດອ່ານເຂົ້າໃຈງ່າຍ. ຕົວຢ່າງ: ຄ່າຕ່າງໆຖືກຈັດຮຽງໃຫ້ກົງກັນ ແລະ ຫົວຂໍ້ຖືກພິມອອກມາ.

Example 3. ການເບິ່ງຜົນລວມໃນໂໝດ pretty
$ nmcli -p device
=====================
  Status of devices
=====================
DEVICE  TYPE      STATE      CONNECTION
--------------------------------------------------------------
ens3    ethernet  connected  Profile 1
lo      loopback  unmanaged  --
-h, help

Prints help information.

The nmcli tool has some built-in context-sensitive help. To list the available options and object names:

$ nmcli help

To list available actions related to a specified object:

$ nmcli _object_ help

For example,

$ nmcli c help

ແຫຼ່ງຂໍ້ມູນເພີ່ມເຕີມ

ຕົວຢ່າງການໃຊ້ງານ nmcli ໂດຍຫຍໍ້

ພາກນີ້ສະໜອງຕົວຢ່າງການໃຊ້ງານ nmcli ໂດຍຫຍໍ້.

ເງື່ອນໄຂເບື້ອງຕົ້ນ

Checking the overall status of NetworkManager ====
$ nmcli general status
STATE      CONNECTIVITY  WIFI-HW  WIFI     WWAN-HW  WWAN
connected  full          enabled  enabled  enabled  enabled

In terse mode:

$ nmcli -t -f STATE general connected
$ nmcli general logging
  LEVEL  DOMAINS
  INFO   PLATFORM,RFKILL,ETHER,WIFI,BT,MB,DHCP4,DHCP6,PPP,WIFI_SCAN,IP4,IP6,A
UTOIP4,DNS,VPN,SHARING,SUPPLICANT,AGENTS,SETTINGS,SUSPEND,CORE,DEVICE,OLPC,
WIMAX,INFINIBAND,FIREWALL,ADSL,BOND,VLAN,BRIDGE,DBUS_PROPS,TEAM,CONCHECK,DC
B,DISPATCH
$ nmcli connection show
  NAME       UUID                                  TYPE      DEVICE
Profile 1  db1060e9-c164-476f-b2b5-caec62dc1b05  ethernet    ens3
ens3       aaf6eb56-73e5-4746-9037-eed42caa8a65  ethernet    --
$ nmcli connection show --active
  NAME       UUID                                  TYPE      DEVICE
Profile 1  db1060e9-c164-476f-b2b5-caec62dc1b05  ethernet     ens3
$ nmcli device status
DEVICE  TYPE      STATE      CONNECTION
ens3    ethernet  connected  Profile 1
lo      loopback  unmanaged  --

You can also use the following abbreviations of the nmcli commands:

Table 1. Abbreviations of some nmcli commands

[options="header"]

nmcli command

abbreviation

nmcli general status

nmcli g

nmcli general logging

nmcli g log

nmcli connection show

nmcli con show

nmcli connection show --active

nmcli con show -a

nmcli device status

nmcli dev

ແຫຼ່ງຂໍ້ມູນເພີ່ມເຕີມ

  • For more examples, see the *nmcli-examples*(5) man page.

== ຕົວເລືອກຕ່າງໆຂອງ nmcli

ຕໍ່ໄປນີ້ແມ່ນຕົວເລືອກຄຸນສົມບັດທີ່ສຳຄັນບາງຢ່າງຂອງ nmcli:

connection.type

ປະເພດການເຊື່ອມຕໍ່. ຄ່າທີ່ອະນຸຍາດໄດ້ຄື: adsl, bond, bond-slave, bridge, bridge-slave, bluetooth, cdma, ethernet, gsm, infiniband, olpc-mesh, team, team-slave, vlan, wifi, wimax. ແຕ່ລະປະເພດການເຊື່ອມຕໍ່ມີຕົວເລືອກຄຳສັ່ງສະເພາະປະເພດນັ້ນໆ. ຕົວຢ່າງ:

  • ການເຊື່ອມຕໍ່ gsm ຕ້ອງການຊື່ຈຸດເຂົ້າໃຊ້ງານ (access point name) ທີ່ລະບຸໃນ apn.

    $ nmcli c add connection.type gsm apn pass:quotes[_access_point_name_]
  • ອຸປະກອນ wifi ຕ້ອງການຕົວລະບຸຊຸດການບໍລິການ (service set identifier) ທີ່ລະບຸໃນ ssid.

    $ nmcli c add connection.type wifi ssid _My identifier_

You can see the TYPE_SPECIFIC_OPTIONS list in the *nmcli*(1) man page.

connection.interface-name

ຊື່ອຸປະກອນທີ່ກ່ຽວຂ້ອງສຳລັບການເຊື່ອມຕໍ່.

$ nmcli con add connection.interface-name _eth0_ type _ethernet_
connection.id

ຊື່ທີ່ໃຊ້ສຳລັບໂປຣໄຟລ໌ການເຊື່ອມຕໍ່. ຖ້າເຈົ້າບໍ່ໄດ້ລະບຸຊື່ການເຊື່ອມຕໍ່, ມັນຈະຖືກສ້າງຂຶ້ນດັ່ງນີ້:

_connection.type -connection.interface-name_

connection.id ຄືຊື່ຂອງ connection profile ແລະ ບໍ່ຄວນສັບສົນກັບຊື່ອິນເຕີເຟສ (interface name) ເຊິ່ງໝາຍເຖິງອຸປະກອນ (wlan0, ens3, em1). ແນວໃດກໍຕາມ, ຜູ້ໃຊ້ສາມາດຕັ້ງຊື່ການເຊື່ອມຕໍ່ຕາມຊື່ອິນເຕີເຟສໄດ້, ແຕ່ມັນບໍ່ແມ່ນສິ່ງດຽວກັນ. ອຸປະກອນໜຶ່ງອາດມີໂປຣໄຟລ໌ການເຊື່ອມຕໍ່ໄດ້ຫຼາຍອັນ. ນີ້ມີປະໂຫຍດຫຼາຍສຳລັບອຸປະກອນເຄື່ອນທີ່ ຫຼື ເມື່ອມີການສັບປ່ຽນສາຍເຄືອຂ່າຍໄປມາລະຫວ່າງອຸປະກອນຕ່າງໆ. ແທນທີ່ຈະແກ້ໄຂການຕັ້ງຄ່າ, ໃຫ້ສ້າງໂປຣໄຟລ໌ທີ່ແຕກຕ່າງກັນ ແລະ ນຳໄປໃຊ້ກັບອິນເຕີເຟສຕາມຄວາມຕ້ອງການ. ຕົວເລືອກ id ຍັງອ້າງອີງເຖິງຊື່ໂປຣໄຟລ໌ການເຊື່ອມຕໍ່ນຳ.

ຕົວເລືອກທີ່ສຳຄັນທີ່ສຸດສຳລັບຄຳສັ່ງ nmcli ເຊັ່ນ show, up, down ຄື:

id

ສະຕຣິງລະບຸຕົວຕົນທີ່ຜູ້ໃຊ້ກຳນົດໃຫ້ກັບໂປຣໄຟລ໌ການເຊື່ອມຕໍ່. Id ສາມາດໃຊ້ໃນຄຳສັ່ງ nmcli connection ເພື່ອລະບຸການເຊື່ອມຕໍ່. ຊ່ອງຂໍ້ມູນ NAME ໃນຜົນລວມຂອງຄຳສັ່ງຈະໝາຍເຖິງ connection id ສະເໝີ. ມັນອ້າງອີງເຖິງຊື່ໂປຣໄຟລ໌ການເຊື່ອມຕໍ່ດຽວກັນກັບທີ່ con-name ໃຊ້.

uuid

ສະຕຣິງລະບຸຕົວຕົນທີ່ບໍ່ຊ້ຳກັນ (unique) ເຊິ່ງລະບົບກຳນົດໃຫ້ກັບໂປຣໄຟລ໌ການເຊື່ອມຕໍ່. uuid ສາມາດໃຊ້ໃນຄຳສັ່ງ nmcli connection ເພື່ອລະບຸການເຊື່ອມຕໍ່.

ແຫຼ່ງຂໍ້ມູນເພີ່ມເຕີມ

  • See the comprehensive list in the *nmcli*(1) man page.