您好,登錄后才能下訂單哦!
安裝centos 8之后,重啟啟動網絡時,會出現以下報錯
報錯信息如下:
Failed to start network.service: Unit network.service not found.
意思為無法重啟網絡服務,原因是無法找到network.service網絡服務。
在rhel8(含centos8)上,在/etc/sysconfig/network-scripts/里也看不到任何腳本文件,沒有傳統的network.service。因此只能通過其它方法進行網絡配置,包括NM命令工具集。換言之,在rhel8上,必須開啟NM,否則無法使用網絡。
手動配置靜態IP
cat /etc/sysconfig/network-scripts/ifcfg-ens32 TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=static DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=ens32 UUID=066b4926-b40c-4c28-a5b4-2310d2b96613 DEVICE=ens32 ONBOOT=yes IPADDR=192.168.1.200 NETMASK=255.255.255.0 GATEWAY=192.168.1.254 DNS1=223.5.5.5 PREFIX=24
使用nmcli重新回載網絡配置
nmcli c reload
查看
nmcli c NAME UUID TYPE DEVICE ens32 066b4926-b40c-4c28-a5b4-2310d2b96613 ethernet ens32
補充nmcli命令
nmcli使用方法
nmcli使用方法非常類似linux ip命令、cisco交換機命令,并且支持tab補全(詳見本文最后的Tips),也可在命令最后通過-h、--help、help查看幫助。
nmcli --help Usage: nmcli [OPTIONS] OBJECT { COMMAND | help } OPTIONS -o[verview] overview mode (hide default values) -t[erse] terse output -p[retty] pretty output -m[ode] tabular|multiline output mode -c[olors] auto|yes|no whether to use colors in output -f[ields] <field1,field2,...>|all|common specify fields to output -g[et-values] <field1,field2,...>|all|common shortcut for -m tabular -t -f -e[scape] yes|no escape columns separators in values -a[sk] ask for missing parameters -s[how-secrets] allow displaying passwords -w[ait] <seconds> set timeout waiting for finishing operations -v[ersion] show program version -h[elp] print this help OBJECT g[eneral] NetworkManager's general status and operations n[etworking] overall networking control r[adio] NetworkManager radio switches c[onnection] NetworkManager's connections d[evice] devices managed by NetworkManager a[gent] NetworkManager secret agent or polkit agent m[onitor] monitor NetworkManager changes
在nmcli中有2個命令最為常用:
nmcli connection
譯作連接,可理解為配置文件,相當于ifcfg-ethX。可以簡寫為nmcli c
nmcli device
譯作設備,可理解為實際存在的網卡(包括物理網卡和虛擬網卡)。可以簡寫為nmcli d
在NM里,有2個維度:連接(connection)和設備(device),這是多對一的關系。想給某個網卡配ip,首先NM要能納管這個網卡。設備里存在的網卡(即nmcli d可以看到的),就是NM納管的。接著,可以為一個設備配置多個連接(即nmcli c可以看到的),每個連接可以理解為一個ifcfg配置文件。同一時刻,一個設備只能有一個連接活躍。可以通過nmcli c up切換連接。
connection有2種狀態:
device有4種常見狀態:
nmcli常用命令一覽
# 查看ip(類似于ifconfig、ip addr) nmcli # 創建connection,配置靜態ip(等同于配置ifcfg,其中BOOTPROTO=none,并ifup啟動) nmcli c add type ethernet con-name ens32 ifname ens32 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 ens32 ifname ens32 ipv4.method auto
# 修改ip(非交互式) nmcli c modify ens32 ipv4.addr '192.168.1.200/24' nmcli c up ens32
# 修改ip(交互式) nmcli c edit ens32 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 ens32
# 停止connection(相當于ifdown) nmcli c down
# 刪除connection(類似于ifdown并刪除ifcfg) nmcli c delete ens32
# 查看connection列表 nmcli c show
# 查看connection詳細信息 nmcli c show ens32
# 重載所有ifcfg或route到connection(不會立即生效) nmcli c reload
# 重載指定ifcfg或route到connection(不會立即生效) nmcli c load /etc/sysconfig/network-scripts/ifcfg-ens32 nmcli c load /etc/sysconfig/network-scripts/route-ens32
# 立即生效connection,有3種方法 nmcli c up ens32 nmcli d reapply ens32 nmcli d connect ens32
# 查看device列表 nmcli d
# 查看所有device詳細信息 nmcli d show
# 查看指定device的詳細信息 nmcli d show ens32
# 激活網卡 nmcli d connect ens32
# 關閉無線網絡(NM默認啟用無線網絡) nmcli r all off
# 查看NM納管狀態 nmcli n
# 開啟NM納管 nmcli n on
# 關閉NM納管(謹慎執行) nmcli n off
# 監聽事件 nmcli m
# 查看NM本身狀態 nmcli
# 檢測NM是否在線可用 nm-online
提及的ifcfg均指代/etc/sysconfig/network-scripts/ifcfg-ens32及/etc/sysconfig/network-scripts/route-ens32
nmcli connection重點
nmcli c show NAME UUID TYPE DEVICE ens32 066b4926-b40c-4c28-a5b4-2310d2b96613 ethernet ens32
對connection做操作時需要指定標識,標識可以是con-name、UUID、如果存在ifcfg文件則也可以用ifcfg的完整路徑,即/etc/sysconfig/network-scripts/ifcfg-ens32
nmcli c show ens32 nmcli c show cae3f1ef-e79a-46c3-8e0c-946b91a65e11 nmcli c show /etc/sysconfig/network-scripts/ifcfg-ens32
nmcli c的con-name
同時對應ifcfg的文件名以及內容中的NAME=,該參數表示連接(connection)的名字,無需和網卡名相同,可以為一個設備(device)創建多個連接,但同一時刻只能有一個連接生效。當有多個連接時候,nmcli c delete刪除當前連接,就會自動選擇同一個設備的其他連接來頂替生效。可以通過nmcli c up來將指定連接切換生效。
注意:通過nmcli c modify修改con-name,只會對應修改ifcfg文件中的NAME,而不會更改ifcfg文件名。
nmcli c的ipv4.method
對應ifcfg文件內容的BOOTPROTO,ipv4.method默認為auto,對應為BOOTPROTO=dhcp,這種時候如果指定ip,就可能導致網卡同時有dhcp分配的ip和靜態ip。設置為manual表示BOOTPROTO=none,即只有靜態ip。
例子:創建一個連接(connection)
nmcli c add type ethernet con-name ens32-test ifname ens32 ipv4.addresses '192.168.1.100/24,192.168.1.101/32' ipv4.routes '10.0.0.0/8 192.168.1.10,192.168.0.0/16 192.168.1.11' ipv4.gateway 192.168.1.254 ipv4.dns '8.8.8.8,4.4.4.4' ipv4.method manual
對應的ifcfg和dns就是
# /etc/sysconfig/network-scripts/ifcfg-ens32-test TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=none IPADDR=192.168.1.100 PREFIX=24 IPADDR1=192.168.1.101 PREFIX1=32 GATEWAY=192.168.1.254 DNS1=8.8.8.8 DNS2=4.4.4.4 DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=ens32-test UUID=9a10ad89-437c-4caa-949c-a394a6d28c8d DEVICE=ens32 ONBOOT=yes # /etc/resolv.conf nameserver 8.8.8.8 nameserver 4.4.4.4
此時,通過nmcli c應該可以看到增加了一條連接
注意:如果這是為ethX創建的第一個連接,則自動生效;如果此時已有連接存在,則該連接不會自動生效,可以執行nmcli c up ethX-test來切換生效
nmcli device重點
nmcli d connect ens32
由NM對指定網卡進行管理,同時刷新該網卡對應的活躍connection(如果之前有修改過connection配置);如果有connection但是都處于非活躍狀態,則自動選擇一個connection并將其活躍;如果沒有connection,則自動生成一個并將其活躍。
nmcli d disconnect ens32
讓NM暫時不管理指定網卡,此操作不會變更實際網卡的link狀態,只會使對應的connection變成非活躍。若重啟系統則又會自動connect。另外,如果手工將該網卡的connection全部刪掉,該網卡狀態也會自動變為disconnected。
nmcli d reapply ens32
專門用于刷新connection,前提是網卡的device處于connected狀態,否則會報錯。
nmcli d set ens32 autoconnect yes|no managed yes|no
可以設置是否自動連接和是否自動管理,但經測試只能用于當前開機狀態, 如果這2個參數都設置為no,然后重啟系統,又會自動恢復成connected和managed yes的狀態。所以該命令用途不大。注意事項:如果managed設置為no,那么nmcli c reload會讀取配置文件,但是不會立即生效,接著如果執行nmcli c up ethX,就會立即生效,同時managed自動變為yes。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。