Linux的全新網絡管理命令行工具——nmcli

一、nmcli簡介

?1.1、NetworkManager簡介

? 1.1.1、NetworkManager介紹

????????在紅帽系的Linux中,默認的網絡服務是由NetworkManager提供的(其主要是一個可以進行動態網絡配置和控制的守護進程)。

使用NetworkManager的優點
序號使用NetworkManager的優點
1

可更加輕松高效的對網絡進行配置

(NetworkManager可確保網絡連接的正常工作,但發現系統中沒有網絡配置但存在網絡設備時,會創建臨時連接)

2

支持配置的靈活性

(可以直接配置或修改網絡別名、IP地址、靜態路由、DNS等許多特定的連接參數)

3

提供與用戶的簡單網絡連接設置

(提供不同的管理工具進行網絡配置【如:GUI、nmtui、nmcli】)

4

通過D-Bus提供Api,允許應用程序查詢和控制網絡配置和狀態

(應用程序可以通過D-Bus的api檢查或配置網絡)

5重啟過程后保持設備狀態,并接管在重啟過程中將其設定為受管模式的接口
6處理沒有被顯式設置但由用戶或其他網絡設備手動控制的設備

? 1.1.2、NetworkManager的安裝與啟動

????????默認情況下,NetworkManager是安裝在紅帽系的Linux中的,不用安裝,若當前系統中沒有可以按照如下步驟檢查操作安裝:

-- 1、查看NetworkManager的運行狀態(顯示 Active: inactive (dead)表示沒有啟動需要啟動)
systemctl status NetworkManager-- 2、若查看NetworkManager運行狀態報錯則可以使用root用戶權限安裝
yum install NetworkManager-- 3、啟動NetworkManager(停止用stop)
systemctl start NetworkManager-- 4、設置NetworkManager在系統開機自啟(禁用開機自啟用 disable)
systemctl enable NetworkManager

使用 systemd 管理服務https://docs.redhat.com/en/documentation/Red_Hat_Enterprise_Linux/7/html/system_administrators_guide/chap-managing_services_with_systemd

?1.2、nmcli簡介

?????????【nmcli】是(NetworkManager)的命令行工具,用于控制NetworkManager和報告網絡狀態情況,可讓用戶和腳本與?NetworkManager?交互;且nmcli?可以在沒有 GUI 的系統上使用;nmcli可以用于創建、顯示、編輯、刪除、激活和停用網絡連接,以及控制和顯示網絡設備狀態。

nmcli可以讓用戶和腳本用于控制NetworkManager
序號nmcli可以讓用戶和腳本用于控制網絡
1對于服務器和終端,nmcli可以直接控制NetworkManager,且不需要GUI,就可以進行創建、編輯、啟動和停止網絡連接,以及查看網絡狀態
2對于腳本,nmcli支持更適合腳本處理的terse輸出格式。它是集成網絡配置而不是手動管理網絡連接的一種方式

????????由于Red Hat Enterprise Linux 8【rhel8】以后版本上,在【/etc/sysconfig/network-scripts/】里也看不到任何腳本文件;也就是說沒有傳統的network.service了【即:無法使用systemctl restart network命令啟動網絡了】,所以在rhel8之后的版本必須啟用NetworkManager,否則無法使用網絡。

--查看系統詳情的2種命令
-- 1、直接使用系統自帶的文件查看
cat /etc/os-release-- 2、使用第三方包查看
lsb_release -a

? 如下是Centos7的網絡情況(可以看到【/etc/sysconfig/network-scripts/】路徑下有很多的網絡文件內容):

? ? 如下是Centos8的網絡情況(可以看到【/etc/sysconfig/network-scripts/】路徑下只有一個網絡文件了):

? 如下是平滑替換Centos的系統AImaLinux的網絡情況(可以看到【/etc/sysconfig/network-scripts/】路徑下都沒有網絡文件了)

二、nmcli配置網絡

第?3?章?配置 IP 網絡 | 網絡指南 | Red Hat Enterprise Linux | 7 | Red Hat Documentationhttps://docs.redhat.com/zh-cn/documentation/red_hat_enterprise_linux/7/html/networking_guide/ch-configuring_ip_networking#sec-Selecting_Network_Configuration_Methods

?2.1、nmcli的語法

--nmcli的語法
nmcli [OPTIONS] OBJECT { COMMAND | help }--查看nmcli用法命令
nmcli --help

-- 使用nmcli美化輸出的示例(簡化輸出的就是將-p換為-t)
-- 查看NetworkManager的常規狀態和操作
nmcli -p g-- 查看整體網絡控制
nmcli -p n-- 查看NetworkManager無線網絡的開關情況
nmcli -p r-- 查看NetworkManager的連接情況
nmcli -p c-- 查看NetworManager的管理設備
nmcli -p d

?2.2、nmcli的使用

? 2.2.1、NetworkManager的啟用關閉

-- 1、查看NetworkManager是否啟用命令(顯示enabled表示啟用,否則就是禁用)
nmcli n-- 2、啟用NetworkManager命令
nmcli n on-- 3、關閉NetworkManager命令(注意該命令一般不要輕易使用,只建議在Linux本機的終端上使用,一旦使用該命令則網絡就斷開了)
nmcli n off

? 2.2.2、nmcli的常用命令

nmcli的常用命令
序號nmcli的常用命令說明
1

nmcli connection

nmcli c

表示查看當前的所有連接信息(包含連接別名、UUID、連接類型、網卡名稱)

【nmcli c是nmcli connection的簡寫】

-- 網絡連接有兩種狀態
1、活躍(帶顏色字體):表示當前該connection連接生效;
2、非活躍(正常字體):表示當前該connection連接不生效

2nmcli c -h

表示查看當前連接的幫助命令,可以對網絡連接信息進行對應的【查看(show)、上線(up)、下線(down)、添加(add)、修改(modify)、克隆(clone)、編輯(edit)、刪除(delete)、監控(monitor)、重載(reload)、導入(import)、導出(export)】操作:

-- 查看網絡連接的幫助命令
nmcli c -h-- 查看網絡的所有連接信息命令
nmcli c show-- 查看指定網絡連接的詳情命令(比如:查看ens33連接詳情)
nmcli c show ens33

-- 激活指定的連接命令(比如激活ens33連接[對應nmcli c show]命令下的name對應的值,
--【啟用用后使用[nmcli c show]命令查看有顏色顯示的就是啟用的連接】)
nmcli c up ens33-- 停用指定的連接命令(比如激活ens33連接
--【停用后使用[nmcli c show]命令查看無顏色顯示的就是停用的連接】)
nmcli c down ens33-- 添加一個新的網絡并配置信息命令(【nmcli c add type 網卡類型 con-name 連接名稱 ifname 網卡名稱 ip4 ip地址 gw4 網關地址 ipv4.dns 域名地址】(但是如果沒有對應的網卡是沒有辦法啟動的)nmcli c add type ethernet con-name testcon ifname ens36 ip4 192.168.1.7/24 gw4 192.168.1.1 ipv4.dns 223.5.5.5
-- 修改網絡連接中的屬性名稱(比如修改連接名稱testcon為conens36)
nmcli c modify testcon con-name conens36-- 刪除一個網絡連接命令(比如刪除testcon連接)
nmcli c delete testcon-- 重新加載網絡的配置文件命令(不會馬上生效)
nmcli c reload-- 讓修改的網絡配置立即生效命令(比如讓網絡連接ens33立即生效)
nmcli c up ens33

3

nmcli device

nmcli d

表示設備,可理解為實際存在的網卡(包括物理網卡和虛擬網卡)可以簡寫為【nmcli d】

--網卡有四種狀態
1、connected:已被NetworkManager接納管理,并且當前有活躍的connection連接;
2、disconnected:NetworkManager接納管理,但是當前沒有活躍的connection連接;
3、unmanaged:未被NetworkManager接納管理;
4、unavailable:不可用,NetworkManager無法接納管理,通常出現于網卡link為down的時候(比如ip link set ens33 down)
4nmcli d -h

表示查看網卡連接的幫助命令,可以對網卡進行對應的【狀態(status)、詳情(show)、設置(set)、激活(connect)、刷新(reapply)、修改(modify)、斷開(disconnect)、刪除(delete)、監控(monitor)】操作

-- 查看所有網卡列表命令
nmcli d-- 查看所有網卡詳情命令
nmcli d show-- 查看指定網卡詳情(如查看ens33網卡)
nmcli d show ens33-- 激活指定網卡【刷新該網卡對應的活躍connection連接】(如ens33網卡)
nmcli d connect ens33--刷新指定網卡【專門用于刷新connection連接,前提是網卡的device處于connected狀態,否則會報錯】
nmcli d reapply ens33

在NetworkManager里,有2個維度:連接(connection)和設備(device),這是多對一的關系。想給某個網卡配ip,首先NM要能納管這個網卡。設備里存在的網卡(即nmcli d可以看到的),就是NetworkManager接納管理的。接著,可以為一個設備配置多個連接(即nmcli c可以看到的),每個連接可以理解為一個ifcfg配置文件。同一時刻,一個設備只能有一個連接活躍。可以通過nmcli c up切換連接

? 2.2.3、nmcli常用命令實戰

如下是實現查看常用命令的幫助、修改連接配置內容詳細的操作步驟:

-- 查看NetworkManager的連接情況(完整命令是:nmcli connection;簡寫命令是:nmcli n)
nmcli nnmcli n show--查看指定的連接詳情(比如這里查看連接名稱為ens33的詳情)
nmcli n show ens33--查看編輯指定連接的用法幫助命令【必須使用root用戶操作】
nmcli c help--切換到管理員權限的用戶操作
su ---編輯制定的連接信息(比如這里編輯ens33的連接信息)
nmcli c edit ens33
-- 查看可使用的命令
?
--進入ipv4選項
goto ipv4
--查看ipv4的操作命令幫助
?
--進入ipv4地址
goto addresses
--先查看當前的ipv4地址
print
--修改ipv4地址
change
--直接將當前顯示的內容修改為自己想要的ipv4地址(比如將原來的192.168.1.9/24修改為192.168.1.6/24)
192.168.1.6/24
--返回上一級
back--進入dns
goto dns
--查看當前的dns信息
print
--修改dns
change
--將顯示的dns內容修改即可(比如將114.114.114.114修改為223.5.5.5)
223.5.5.5
--返回
back
back--保存修改的內容
save
--激活修改的內容
activate
--直接一步到位的查看與設置網絡內容(如:設置ipv4的dns)-- 1、查看nmcli的用法幫助命令
nmcli -h-- 2、查看nmcli c的用法幫助命令
nmcli c -h-- 3、查看nmcli的連接信息命令
nmcli c show-- 4、切換管理員賬號進行如下的編輯操作(否則到最后的保存時會提示權限不足錯誤)
su --- 5、編輯nmcli指定連接的命令(如我這里直接編輯ens33連接)
nmcli c edit ens33-- 6、查看編輯ens33連接的幫助命令
?-- 7、查看goto ipv4包含的所有屬性命令(輸入goto ipv4.后按下tab鍵會自動帶出)
goto ipv4.-- 8、進行需要修改的屬性命令(比如:這里直接進入ipv4的dns屬性)
goto ipv4.dns-- 9、查看指定屬性的操作幫助命令
?-- 10、查看當前屬性的信息
print-- 11、修改當前屬性的命令(輸入change命令后就可以直接修改顯示的內容了)
change-- 12、修改后返回上一級
back
back-- 13、保存修改的連接屬性內容
save-- 14、激活修改好的連接
activate-- 15、退出nmcli的編輯模式
quit

?

????????注意:這里在使用nmcli對網絡信息進行修改的時候必須使用具有管理員權限的賬號操作,不然在保存修改配置的時候會提示“錯誤:保存 "ens33" (9709103d-8f3d-3b0a-9d44-f2e1f1d03e67) 連接失敗:Insufficient privileges” 的錯誤。

?

三、參考資料

3.3.?使用 nmcli 配置 IP 網絡 | 網絡指南 | Red Hat Enterprise Linux | 7 | Red Hat Documentationhttps://docs.redhat.com/zh-cn/documentation/red_hat_enterprise_linux/7/html/networking_guide/sec-configuring_ip_networking_with_nmcliLinux nmcli 命令 | 菜鳥教程https://www.runoob.com/linux/linux-comm-nmcli.html在 Ubuntu/Debian 上安裝和使用 NetworkManager (NMCLI)https://cn.linux-console.net/?p=223641.7.?使用 ncat 工具管理數據 | 網絡指南 | Red Hat Enterprise Linux | 7 | Red Hat Documentationhttps://docs.redhat.com/zh-cn/documentation/red_hat_enterprise_linux/7/html/networking_guide/sec-managing_data_using_the_ncat_utility

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/88400.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/88400.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/88400.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C++基礎之智能指針

一、概念 堆內存對象需要手動使用delete銷毀,如果沒有使用delete銷毀就會造成內存泄漏。 所以C在ISO98標準中引入了智能指針的概念,并在ISO11中趨于完善。 使用智能指針可以讓堆內存對象具有棧內存對象的特點,原理是給需要手動回收的內內存對…

python3虛擬機線程切換過程

python實現了自己的多線程,為了保證線程安全,引入了全局解釋器鎖GIL,只有拿到GIL的線程才能執行,所以在python中同一時刻只能有一個線程在運行,python多線程無法發揮多核處理器的威力,《python源碼剖析》中…

PYTHON從入門到實踐5-列表操作

# 【1】列表是可變的,可以修改、追加、刪除 import randomclass Friend(object):def __init__(self, name, age):self.name nameself.age ageif __name__ __main__:friendList []for i in range(0, 9):randomNumber random.randint(0, 100)friend Friend(f&qu…

【linux】network服務啟動網卡流程

目錄 1、介紹2、ifup流程【1】與NetworkManager兼容【2】ifup-eth設置ip【3】ifup-routes設置路由 1、介紹 network服務的核心由/etc/sysconfig/network-scripts/下一堆腳本配置來生效,其中啟動網卡就是通過ifup腳本來實現的,下面就講一下ifup如何恢復i…

如何防止自己的電腦被控制?開啟二次驗證保護教程

遠程操作什么最重要?安全,安全,和安全!答案永遠是安全!那么究竟如何能讓遠程連接安全性更上一層臺階吶?又是哪家遠控安全策略方面最給力吶?這可不是王婆賣瓜,自賣自夸,確…

微信小程序節點相關總結

微信小程序節點事件總結 bindtap、catchtap、bindclick的區別?bindclick 和 bindtap 的區別在于: e.target和e.currentTargete.typee.timeStamp觸摸事件屬性(針對觸摸類事件)坐標信息事件綁定數據冒泡與捕獲相關其他特殊屬性**常見…

XSD是什么,與XML關系

XSD(XML Schema Definition)是用于描述XML文檔結構和內容的一種規范。它定義了XML文檔中元素、屬性、數據類型、數據格式以及它們之間的關系和約束。XSD是W3C(萬維網聯盟)推薦的標準之一,它比早期的DTD(Doc…

Ubuntu服務器中MySQL如何進行主從復制

一、MySQL 主從復制基本原理 MySQL 主從復制是指:一臺數據庫服務器負責寫入操作,并將數據變更以二進制日志形式記錄下來;一臺或多臺從庫通過讀取主庫的二進制日志,實時或半實時地將主庫的寫入操作同步到自身數據庫,實現數據一致性…

Android圖形系統框架解析

前言 Android圖形系統對于開發者來說可能會比較難以理解,因為涉及的東西可能會計較多,比如Android自己的圖形系統。OpenGL,視頻編解碼器,SurfaceFlinger,FrameBuffer等等。下面我們結合官方文檔,介紹一下圖…

AI智能巡檢系統給烘焙店開的「減損藥方」 InfiSight智睿視界

01 食材浪費:甜蜜產業的苦澀成本 后廚操作臺上,剛過最佳賞味期的可頌成批倒入垃圾桶——這是烘焙店最隱秘的痛。現烤現售模式雖保障新鮮度,卻讓原料管理淪為盲區: 銷售數據≠生產指南:總部無法感知門店實時庫存 …

工具 | vscode 發出聲音,如何關閉

設置->搜 accessibility -> Accessibility Support -> 自動 改為 off 設置->搜 volume -> 0 設置->搜 sound -> 輔助功能信號 -> sound的 自動 改為 off 參考: How to turn off (or on) sounds from Visual Studio Code? - Stack Ove…

Hyperf 數據庫事務指南(PHP 框架)

Hyperf 數據庫事務指南&#xff08;PHP 框架&#xff09; 1. ?? 數據庫配置 1.1 配置文件 MySQL 配置位于 config/database.php&#xff0c;通常通過環境變量&#xff08;.env&#xff09;管理敏感信息&#xff1a; <?phpdeclare(strict_types 1); /*** This file i…

動態ds-vnp之normal和shortcut兩種方式配置案例

normal方式配置 hub配置 dhcp enable interface GigabitEthernet0/0/0 ip address 3.3.3.3 255.255.255.0 interface GigabitEthernet0/0/1 ip address 192.168.3.254 255.255.255.0 dhcp select interface interface Tunnel0/0/0 ip address 10.1.1.3 255.255.255.0 tunnel…

ubuntu20.04調試livox aiva驅動獲取激光雷達數據

實驗環境ubuntu20.04 平臺包括本地x86平臺和jetson orin平臺都測試ok 參考 ubuntu20.04上獲取Livox Avia雷達點云數據 1.下載相關資料 下載包括&#xff1a;Livox Avia 用戶手冊中文.pdf、Livox_Viewer_For_Linux_Ubuntu16.04_x64_0.10.0&#xff08;用于顯示激光雷達數據&am…

VS2022 C#【自動化文件上傳】AutoFileUpload 新需求 V13

這里寫自定義目錄標題 需求分析實現方法原來&#xff08;需要修改的位置&#xff09;替換為如下代碼&#xff08;添加三行數據&#xff09; 需求 現在已有程序&#xff1a;AutoFileUpload 存儲excel表中時間列的第一列的列名到數據庫中 分析 user只是想存儲列名到數據表列去…

技術QA | ADC/DAC芯片測試研討會筆記請查收!

6月19日&#xff0c;《ADC/DAC芯片測試前沿&#xff1a;德思特ATX系統高效方案與實戰攻略》線上研討會圓滿結束。感謝大家的觀看與支持&#xff01; 在直播間收到一些觀眾的技術問題&#xff0c;我們匯總了熱點問題并請講師詳細解答&#xff0c;在此整理分享給大家&#xff0c…

區塊鏈技術未來的發展趨勢

以下是區塊鏈技術未來的一些發展趨勢&#xff1a; 技術層面 - 性能提升&#xff1a;分片技術會不斷成熟和完善&#xff0c;將區塊鏈網絡劃分為多個分片&#xff0c;每個分片獨立處理交易&#xff0c;以提高交易吞吐量和網絡可擴展性。同時&#xff0c;共識機制也會持續創新&a…

電商領域企業級應用后端開發 (Java) 就業前景深度分析報告 (2025-2030)

目錄 一、行業概述與發展趨勢 1.1 電商行業發展現狀與趨勢 1.2 電商技術架構演進與趨勢 二、電商領域 Java 開發崗位需求分析 2.1 崗位數量變化趨勢 2.2 崗位地域分布特點 2.3 崗位層級與職責變化 三、電商領域 Java 開發人才競爭分析 3.1 人才供需狀況 3.2 人才競爭核…

DVWA Brute Force漏洞深度分析與利用指南

DVWA簡介 DVWA&#xff08;Damn Vulnerable Web Application&#xff09;是一個基于PHP/MySQL的脆弱性Web應用平臺&#xff0c;專為安全專業人員設計&#xff0c;用于測試技能和工具。它包含十大安全模塊&#xff0c;其中Brute Force&#xff08;暴力破解&#xff09;是最基礎…

【Android】Activity 的生命周期和啟動模式

文章目錄 Activity 的生命周期和啟動模式1. 任務和返回棧2. Activity 的四種狀態2.1 運行狀態2.2 暫停狀態2.3 停止狀態2.4 銷毀狀態 3. Activity的生命周期3.1 生命周期回調方法3.2 演示 Activity 的生命周期 4. Activity的啟動模式4.1 standard&#xff08;標準模式&#xff…