NetworkManager是RHEL 7之后推出的有效管理網絡的服務
NetworkManager通過工具nmcli來管理網卡
網卡屬於物理硬件,NetworkManager屬於軟件層面,如何通過軟件層面給網卡綁定ip地址等信息?中間有一個核心:kernel。Linux 應用層app通過kernel來驅使底層物理硬件運行,同時必須要明確一點:軟件應用沒辦法改變物理底層信息。如同我們給eth0配置ip地址為192.168.1.1。實質上並不是用刀在eth0網卡上刻上192.168.1.1,實際上是kernel獲取eth0網卡總線,同時將該總線命名(方便人為區分),然后NetworkManager告訴kernel 00:00.0(假設eth0)的ip地址是192.168.1.1/24,那么以后訪問192.168.1.1就是在訪問00:00.0,kernel在中間做了一次轉換或者說是綁定
00:00.0就是總線
一、nmcli device來獲取底層信息
<nmcli device> tab兩下可以獲取device后面的參數。device獲取網卡底層信息
第一列: DEVICE 表示網卡的名稱(kernel獲取的標識)
第二列: TYPE 表示網卡的類型
第三列: STATE 表示網卡與配置文件的連接狀態(connected 表示NetworkManager接管, disconnected 表示為使用NetworkManager管理
unmanaged表示不使用NetworkManager管理 。。。。)
第四列: CONNECTION 網卡對應的配置文件名稱
這里演示的就是將網卡enp0s8的配置文件由nmcli device status 看到的Wired connection 1 改變成了eth8(網卡的配置文件通過nmcli connection來修改)
show參數可以獲取網卡的所有信息:
show后面加上DEVICE名稱,則顯示該網卡的所有信息,因為網卡enp0s3沒有配置任何信息,所以顯示的相對少
show后面如何不加任何參數,則nmcli會顯示所有的網卡的信息
delete刪除網卡
這里刪除的是虛擬網卡,物理網卡是無法刪除的,不可能說nmcli device delete enp0s3就會物理的將網卡在計算機上彈出來
disconnect 斷開網卡與配置文件之間的連接
connect 連接網卡與配置文件關系
到這里device簡單幾個參數說明完了
二、nmcli connection用來配置配置文件,主要用來針對配置文件信息的
nmcli connection show 可以顯示配置文件概述信息
第一列:NAME 配置文件的名稱
第二列:UUID 唯一識別(name可能重復)
第三列:TYPE 網絡類型
第四列:DEVICE 網卡名稱(這里與nmcli device保持一致)
add 添加配置文件(注意網卡只有一個配置文件是活動的,但是可以存在多個配置文件)
add后面必須跟的三個參數:con-name(配置文件的名稱)、ifname(網卡的名稱)、type(網卡類型一般是ethernet),add還可以跟很多參數,比如:
ipv4.address ipv4.gateway ipv4.dns ipv4.method(設置自動連接還是手動連接auto manual等等) connection-autoconnect(開機是否自動連接)。。。。。
如果在add添加配置文件時沒有ipv4.method 則Linux會自動獲取ip地址,即dhcp。
delete 刪除配置文件
無論是delete還是connection后緊跟什么參數,都可以通過name,uuid來刪除修改
modify 修改配置文件信息
這里之所以沒有修改是因為我們修改的是硬盤配置文件,加載在內存中enp0s3-1配置文件的地址還是192.168.1.12,所以我們需要將修改后的硬盤配置文件enp0s3-1加載到內存中
有時候up無法改變網卡地址,這時候我們需要reload重新連接啟動。
總結一下connection : add 添加配置文件 delete 刪除配置文件 show 概述網卡配置文件 clone 克隆 (up down reload )
END