centos8網卡使用-nmcli

NetworkManager是2004年Red Hat啓動的項目,旨在能夠讓Linux用戶更輕鬆地處理現代網絡需求,尤其是無線網絡,能自動發現網卡並配置ip地址。

在rhel8上,必須開啓NM,否則無法使用網絡。

類似在手機上同時開啓wifi和蜂窩網絡,自動探測可用網絡並連接,無需手動切換。

nmcli使用方法

nmcli使用方法非常類似linux ip命令、cisco交換機命令,並且支持tab補全,也可在命令最後通過-h、--help、help查看幫助。在nmcli中有2個命令最爲常用:

nmcli connection

譯作連接可理解爲配置文件,相當於ifcfg-eth0。可以簡寫爲nmcli c

nmcli device

譯作設備可理解爲實際存在的網卡(包括物理網卡和虛擬網卡)。可以簡寫爲nmcli d

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

connection有2種狀態

▷ 活躍(帶顏色字體):表示當前該connection生效 ▷ 非活躍(正常字體):表示當前該connection不生效

device有4種常見狀態

▷ connected:已被NM納管,並且當前有活躍的connection ▷ disconnected:已被NM納管,但是當前沒有活躍的connection ▷ unmanaged:未被NM納管 ▷ unavailable:不可用,NM無法納管,通常出現於網卡link爲down的時候(比如ip link set ethX down)


配置動態ip(等同於配置ifcfg,其中BOOTPROTO=dhcp,並ifup啓動)

nmcli c add type ethernet con-name eth0 ifname ens33 ipv4.method auto

type ethernet:創建連接時候必須指定類型,類型有很多,可以通過nmcli c add type -h看到,這裏指定爲ethernet。

con-name eth0 ifname ens33第一個eth0表示連接(connection)的名字,這個名字可以任意定義,無需和網卡名相同第二個ens33表示網卡名,這個ens33必須是在nmcli d裏能看到的。

配置靜態ip(等同於配置ifcfg,其中BOOTPROTO=none,並ifup啓動)

nmcli c add type ethernet con-name eth0 ifname ens33 ipv4.addr 192.168.1.100/24 ipv4.gateway 192.168.1.254 ipv4.dns '8.8.8.8,4.4.4.4' ipv4.method manual

ipv4.method對應ifcfg文件內容的BOOTPROTO,ipv4.method默認爲auto,對應爲BOOTPROTO=dhcp這種時候如果指定ip,就可能導致網卡同時有dhcp分配的ip和靜態ip。設置爲manual表示BOOTPROTO=none,即只有靜態ip。

# 查看ip(類似於ifconfig、ip addr)

nmcli

# 啓用指定網卡配置文件(相當於ifup)

nmcli c up ethX

# 停止指定網卡配置文件(相當於ifdown)

nmcli c down ethX

# 刪除指定網卡配置文件(類似於ifdown並刪除ifcfg)

nmcli c delete ethX

# 查看connection列表

nmcli c show

# 查看connection詳細信息

nmcli c show ethX

# 重載所有網卡配置文件(不會立即生效)

nmcli c reload

# 重載指定ifcfg或route到connection(不會立即生效)

nmcli c load /etc/sysconfig/network-scripts/ifcfg-ethX

nmcli c load /etc/sysconfig/network-scripts/route-ethX

# 立即使網卡配置文件生效,有3種方法

nmcli c up eth0                # 啓用指定網卡配置文件

nmcli d reapply eth0        #刷新網卡配置文件,前提是網卡的device處於connected狀態,否則會報錯。

nmcli d connect eth0       #激活網卡

# 查看網卡列表

nmcli d

# 查看所有網卡的詳細信息

nmcli d show

# 查看指定網卡的詳細信息

nmcli d show eth0

# 激活網卡(就算之前nmcli c delete eth0刪除網卡配置文件,也可以使用此命令激活重新生成配置文件

由NM對指定網卡進行管理,同時刷新該網卡對應的活躍connection(如果之前有修改過connection配置);如果有connection但是都處於非活躍狀態,則自動選擇一個connection並將其活躍;如果沒有connection,則自動生成一個並將其活躍。

nmcli d connect eth0

nmcli d disconnect eth0

讓NM暫時不管理指定網卡,此操作不會變更實際網卡的link狀態,只會使對應的connection變成非活躍。若重啓系統則又會自動connect。另外,如果手工將該網卡的connection全部刪掉,該網卡狀態也會自動變爲disconnected。

# 關閉無線網絡(NM默認啓用無線網絡)

nmcli r all off

# 查看NM啓動狀態

nmcli n

# 開啓NM納管

nmcli n on

# 關閉NM納管(謹慎執行)

nmcli n off

# 監聽事件

nmcli m

# 查看NM本身狀態

nmcli

# 檢測NM是否在線可用

nm-online


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章