日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

在命令行中使用 nmcli 來管理網(wǎng)絡(luò)連接

 

nmcli 命令賦予你直接在 linux 命令行操作 NetworkManager 工具的能力。

• 來源:linux.cn • 作者:Dave Mckay • 譯者:FSSlc •

(本文字?jǐn)?shù):12137,閱讀時長大約:14 分鐘)

 

nmcli 命令賦予你直接在 Linux 命令行操作 NetworkManager 工具的能力。它是 NetworkManager 軟件包集成的一部分,通過使用一些 應(yīng)用程序接口 (API)來獲取 NetworkManager 的功能。

nmcli 發(fā)布于 2010 年,用以替代其他配置網(wǎng)絡(luò)接口和連接的方法,例如 ifconfig 。因為它是一個 命令行界面 (CLI)工具,被設(shè)計用在終端窗口和腳本中,所以對于那些工作在沒有 圖形用戶界面 (GUI)的系統(tǒng)的管理員來說,它是一個非常理想的工具。

ncmli 的語法

nmcli 命令可以使用選項來更改它的行為,使用子命令來告訴 nmcli 想使用它的那部分功能,使用操作來告訴 nmcli 你想執(zhí)行什么操作。

$ nmcli <選項> <子命令> <操作>

nmcli 一共有 8 個子命令,每個子命令有一些相關(guān)的網(wǎng)絡(luò)操作:

  • help 提供有關(guān) nmcli 命令和使用方法的幫助信息
  • general 返回 NetworkManager 的狀態(tài)和總體配置信息
  • networking 提供命令來查詢某個網(wǎng)絡(luò)連接的狀態(tài)和啟動、禁用連接的功能
  • radio 提供命令來查詢某個 WiFi 網(wǎng)絡(luò)連接的狀態(tài)和啟動、禁用連接的功能
  • monitor 提供命令來監(jiān)控 NetworkManager 的活動并觀察網(wǎng)絡(luò)連接的狀態(tài)改變
  • connection 提供命令來啟用或禁用網(wǎng)絡(luò)接口、添加新的連接、刪除已有連接等功能
  • device 主要被用于更改與某個設(shè)備(例如接口名稱)相關(guān)聯(lián)的連接參數(shù)或者使用一個已有的連接來連接設(shè)備
  • secret 注冊 nmcli 來作為一個 NetworkManager 的秘密代理,用以監(jiān)聽秘密信息。這個子命令很少會被用到,因為當(dāng)連接到網(wǎng)絡(luò)時,nmcli 會自動做這些事

簡單的示例

首先,我們驗證一下 NetworkManager 正在運(yùn)行并且 nmcli 可以與之通信:

$ nmcli general
STATE      CONNECTIVITY  WIFI-HW  WIFI     WWAN-HW  WWAN    connected  full          enabled  enabled  enabled  enabled

探測總是管理一個系統(tǒng)的首要部分。為了列出內(nèi)存或磁盤上的網(wǎng)絡(luò)連接配置,可以使用下面的命令:

$ 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

上面的命令使用了 connection 子命令中的 show 操作。

用來運(yùn)行上面這個例子的測試機(jī)器上運(yùn)行著 Ubuntu 20.04,它安裝了 3 個網(wǎng)絡(luò)適配器:enp0s3、enp0s8和 enp0s9。

連接管理

理解 nmcli 的術(shù)語是非常重要的。一個網(wǎng)絡(luò) 連接(connection)包含了一個連接的所有信息。你可以將它看作一個網(wǎng)絡(luò) 配置(configuration)。“連接”包含了與其相關(guān)的所有信息,包括 數(shù)據(jù)鏈路層 和 IP 地址信息 。它們是 OSI 網(wǎng)絡(luò)模型 中的第 2 和第 3 層。

當(dāng)你在 Linux 上配置網(wǎng)絡(luò)時,通常來說你是在為某個網(wǎng)絡(luò)設(shè)備(它們是安裝在一個電腦中的網(wǎng)絡(luò)接口)配置連接。當(dāng)一個連接被某個設(shè)備所使用,那么就可以說這個連接被 激活(active)或者 上線(up)了,反之是 停用(inactive)或 下線(down)。

添加網(wǎng)絡(luò)連接

nmcli 允許你快速地創(chuàng)建網(wǎng)絡(luò)連接并同時為該連接指定參數(shù)。為了通過使用“有線連接 2” enp0s8 來創(chuàng)建一個新的連接,你可以利用 sudo 來運(yùn)行下面的命令:

$ sudo nmcli connection add type ethernet ifname enp0s8
Connection 'ethernet-enp0s8' (09d26960-25a0-440f-8b20-c684d7adc2f5) successfully added.

其中 type 選項指定需要一個 Ethernet 類型的連接,而 ifname(接口名)選項指定你想要為這個連接使用的網(wǎng)絡(luò)接口設(shè)備。

讓我們看看發(fā)生了什么變化:

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

通過上圖可以看到新的連接 ethernet-enp0s8 已經(jīng)創(chuàng)建好了。它的 通用唯一標(biāo)識符 (Universally Unique IDentifier)(UUID)也一同被賦予,并且其連接類型為 “Ethernet”。我們可以使用 up 子命令再加上連接名稱(或 UUID)來使得這個連接被激活:

$ nmcli connection up ethernet-enp0s8
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/4)

再次查看激活的連接:

$ 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

可以看到新的連接 ethernet-enp0s8 現(xiàn)在已經(jīng)被激活了,并且與 enp0s8 網(wǎng)絡(luò)接口設(shè)備綁定。

調(diào)整連接

nmcli 命令使得調(diào)整現(xiàn)有連接的參數(shù)變得更加容易。也許你想將某個網(wǎng)絡(luò)接口從 動態(tài)主機(jī)配置協(xié)議 (Dynamic Host Configuration Protocol)(DHCP)改為靜態(tài) IP 地址。

假設(shè)你需要為你的新連接分配一個固定的 IP 地址 192.168.4.26,那么你需要使用兩個命令,一個用于設(shè)定 IP 地址,另一個用來將獲取 IP 地址的方法改為 manual(手動):

$ nmcli connection modify ethernet-enp0s8 ipv4.address 192.168.4.26/24
$ nmcli connection modify ethernet-enp0s8 ipv4.method manual

記得指定 子網(wǎng)掩碼 ,在我們這個測試的連接中,它是 無類域間路由 (Classless Inter-Domain Routing)(CIDR)中的 255.255.255.0 或 /24

為了使得你的更改生效,你需要通過停止再重新啟用該連接。下面的第一個命令是停用該連接,第二個命令則是啟用它:

$ nmcli connection down ethernet-enp0s8
Connection 'ethernet-enp0s8' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/4)
$ nmcli connection up ethernet-enp0s8Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/6)

假如你想將連接設(shè)置為使用 DHCP,則需要將上面的 manual 改為 auto(自動):

$ nmcli connection modify ethernet-enp0s8 ipv4.method auto

設(shè)備管理

nmcli 命令中的 device 子命令允許你管理安裝在你電腦中的網(wǎng)絡(luò)接口。

檢查設(shè)備狀態(tài)

可以使用下面的命令來快速檢查所有網(wǎng)絡(luò)接口的狀態(tài):

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

顯示設(shè)備詳情

為了檢查某個網(wǎng)絡(luò)接口的詳情,可以使用 device 子命令中的 show 操作。假如你不提供某個設(shè)備的名稱,那么會獲取并展示所有設(shè)備的詳情。你可以上下翻動來查看這些信息。

要查看你最近添加的連接所對應(yīng)的設(shè)備 enp0s8,你可以使用下面的命令,請注意驗證它使用的 IP 地址是否為先前你要求設(shè)置的那個:

$ 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

上面的輸出非常細(xì)致,它主要顯示了下面這些內(nèi)容:

  • 網(wǎng)絡(luò)接口名稱,在這個示例中是 enp0s8,它是 udev 分配的
  • 網(wǎng)絡(luò)連接類型,在這個示例中是物理的 Ethernet 連接
  • 設(shè)備的 媒介訪問控制(media access control)(mac)地址,它被用來在網(wǎng)絡(luò)中識別該設(shè)備
  • 最大傳輸單元 ,在單個傳輸中最大協(xié)議數(shù)據(jù)單位的大小,任何大于這個大小的數(shù)據(jù)將被分為多個包來進(jìn)行傳輸
  • 該設(shè)備當(dāng)前已經(jīng)處于連接狀態(tài)
  • 這個設(shè)備使用的連接名稱是 ethernet-enp0s8
  • 這個設(shè)備使用的 IP 地址如上面所要求的那樣,被設(shè)置為 192.168.4.26/24

其他的信息則是與這個設(shè)備連接的網(wǎng)絡(luò)相關(guān)的默認(rèn)路由和網(wǎng)關(guān)設(shè)置信息。

nmcli 的交互式編輯器

盡管 nmcli 是一個命令行工具,但它還包含一個基本的交互式編輯器,edit 子命令將為你指定的連接打開一個交互式編輯器,例如:

$ nmcli connection edit ethernet-enp0s8

它將顯示少量的幫助文字,接著是 nmcli 的命令提示符:

===| 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>

假如你輸入 print 然后敲擊 Enter 鍵, nmcli 將列舉出與這個接口相關(guān)的所有屬性。這些屬性有很多,你可以上下翻動來查看這個列表:

===============================================================================
                 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:                 --

如果你想將你的連接改為 DHCP,則請輸入 goto ipv4 然后敲 Enter 鍵:

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>

你想改變的屬性是 method,再繼續(xù)敲 set method auto 然后敲 Enter 鍵:

nmcli ipv4> set method auto
Do you also want to clear 'ipv4.addresses'? [yes]:

假如你想讓這個連接清除掉這個靜態(tài) IP 地址,則請敲 Enter 鍵,如果要保留,則輸入 no 然后敲 Enter 鍵。假如你想在將來再次使用它,你可以保留這個 IP 地址。即便存儲了一個靜態(tài)的 IP 地址,如果 method 被設(shè)置為 auto ,它仍然會使用 DHCP。

最后輸入 save 來保存你的更改:

nmcli ipv4> save
Connection 'ethernet-enp0s8' (09d26960-25a0-440f-8b20-c684d7adc2f5) successfully updated.
nmcli ipv4>

輸入 quit 來離開 nmcli 的交互式編輯器窗口。假如你不想離開,可以輸入 back 來回到最開始的命令行提示符界面,然后繼續(xù)使用這個編輯器。

nmcli 的更多內(nèi)容

瀏覽交互式編輯器,你就可以看到 nmcli 有多少設(shè)定和每個設(shè)定有多少屬性。交互式編輯器是一個簡潔的工具,但如果需要在命令行或者在腳本中使用 nmcli,你還是需要使用常規(guī)的命令行版本。

現(xiàn)在你有了這些基礎(chǔ)知識,你還可以查看 nmcli 的 man 頁面 來查看它還可以提供什么更多功能。


via: opensource.com

作者: Dave McKay 選題: lujun9972 譯者: FSSLC 校對: wxy

本文由 LCTT 原創(chuàng)編譯, Linux中國 榮譽(yù)推出

分享到:
標(biāo)簽:連接 網(wǎng)絡(luò)
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定