一、CentOS 7和CentOS 8網絡配置區別:
寡人在本機的VM15上安裝了Centos8.1版本的操作系統,一下子從centos6到centos8的飛躍是得需要點時間緩存學習適應的。畢竟Centos6和Centos7就已經發生了很多區別。
其中在配置IP地址過程中發現沒有了network.service,並且/etc/sysconfig/network-scripts目錄中也沒有任何腳本文件,CentOS 7中同時支持network.service和NetworkManager.service(簡稱NM)2種方式配置網絡,而在CentOS 8中已經廢棄network.service,必須通過NetworkManager.service配置網絡。
1.查看本機版本
[root@python etc]# cat redhat-release
CentOS Linux release 8.1.1911 (Core)
2.重啟網絡
[root@python etc]# systemctl restart network.service
Failed to restart network.service: Unit network.service not found.
二、NetworkManager的命令行工具nmcli簡單使用說明:
1.查看當前網卡信息

1.2.從上除了本地網卡ens33,還有virbr0虛擬網卡。virbr0是一種虛擬網絡接口,這是由於安裝和啟用了libvirt服務后生成的libvirt在服務器(host)上生成一個virtual network switch(virbr0),host上所有的虛擬機(guest)通過這個virbr0連接起來,默認情況下virbro使用的是NAT模式(采用IP Masquerade)。一般圖形化安裝會默認建立,不想要的話可以刪除虛擬網卡並且禁用libvirt服務。
刪除虛擬網卡有很多種,可以通過安裝工具brctl和virsh,如果是再虛擬機直接在虛擬網絡編輯直接移除即可。
移除后的效果如下,少了不必要的網卡信息。

2.NetworkManager介紹
NetworkManager是2004年Red Hat啟動的項目,旨在能夠讓Linux用戶更輕松地處理現代網絡需求,尤其是無線網絡,能自動發現網卡並配置ip地址。
2.1NM能管理的各種網絡
有線網卡、無線網卡
動態ip、靜態ip
以太網、非以太網
物理網卡、虛擬網卡
2.2使用方法
nmcli:命令行。這是最常用的工具。
nmtui:在shell終端開啟文本圖形界面。示意圖見本文最后的Tips。
Freedesktop applet:如GNOME上自帶的網絡管理工具。
cockpit:redhat自帶的基於web圖形界面的"駕駛艙"工具,具有dashborad和基礎管理功能。
2.3 nmcli使用方法
常用的有:nmcli connection、nmcli device
在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)。
3.nmcli常用命令一覽
# 查看ip(類似於ifconfig、ip addr)
nmcli
# 創建connection,配置靜態ip(等同於配置ifcfg,其中BOOTPROTO=none,並ifup啟動)
nmcli c add type ethernet con-name ethX ifname ethX ipv4.addr 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.method manual
# 創建connection,配置動態ip(等同於配置ifcfg,其中BOOTPROTO=dhcp,並ifup啟動)
nmcli c add type ethernet con-name ethX ifname ethX ipv4.method auto
# 修改ip(非交互式)
nmcli c modify ethX ipv4.addr '192.168.1.200/24'
nmcli c up ethX
# 修改ip(交互式)
nmcli c edit ethX
nmcli> goto ipv4.addresses
nmcli ipv4.addresses> change
Edit 'addresses' value: 192.168.1.200/24
Do you also want to set 'ipv4.method' to 'manual'? [yes]: yes
nmcli ipv4> save
nmcli ipv4> activate
nmcli ipv4> quit
# 啟用connection(相當於ifup)
nmcli c up ethX
# 停止connection(相當於ifdown)
nmcli c down
# 刪除connection(類似於ifdown並刪除ifcfg)
nmcli c delete ethX
# 查看connection列表
nmcli c show
# 查看connection詳細信息
nmcli c show ethX
# 重載所有ifcfg或route到connection(不會立即生效)
nmcli c reload
# 重載指定ifcfg或route到connection(不會立即生效)
nmcli c load /etc/sysconfig/network-scripts/ifcfg-ethX
nmcli c load /etc/sysconfig/network-scripts/route-ethX
# 立即生效connection,有3種方法
nmcli c up ethX
nmcli d reapply ethX
nmcli d connect ethX
# 查看device列表
nmcli d
# 查看所有device詳細信息
nmcli d show
# 查看指定device的詳細信息
nmcli d show ethX
# 激活網卡
nmcli d connect ethX
# 關閉無線網絡(NM默認啟用無線網絡)
nmcli r all off
# 查看NM納管狀態
nmcli n
# 開啟NM納管
nmcli n on
# 關閉NM納管(謹慎執行)
nmcli n off
# 監聽事件
nmcli m
# 查看NM本身狀態
nmcli
# 檢測NM是否在線可用
nm-online
4.在Centos8上,有3種方法進行網絡配置
1. 手工配置ifcfg,通過NM來生效
2. 通過NM自帶工具配ip,比如nmcli
3. 手工配置ifcfg,通過傳統network.service來生效
