詳解Centos8配置靜態(tài)IP的實(shí)現(xiàn)

安裝centos 8之后,重啟啟動(dòng)網(wǎng)絡(luò)時(shí),會(huì)出現(xiàn)以下報(bào)錯(cuò)

創(chuàng)新互聯(lián)專注于網(wǎng)站建設(shè),為客戶提供做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、網(wǎng)頁(yè)設(shè)計(jì)開發(fā)服務(wù),多年建網(wǎng)站服務(wù)經(jīng)驗(yàn),各類網(wǎng)站都可以開發(fā),成都品牌網(wǎng)站建設(shè),公司官網(wǎng),公司展示網(wǎng)站,網(wǎng)站設(shè)計(jì),建網(wǎng)站費(fèi)用,建網(wǎng)站多少錢,價(jià)格優(yōu)惠,收費(fèi)合理。

報(bào)錯(cuò)信息如下:

Failed to start network.service: Unit network.service not found.

意思為無(wú)法重啟網(wǎng)絡(luò)服務(wù),原因是無(wú)法找到network.service網(wǎng)絡(luò)服務(wù)。

在rhel8(含centos8)上,在/etc/sysconfig/network-scripts/里也看不到任何腳本文件,沒(méi)有傳統(tǒng)的network.service。因此只能通過(guò)其它方法進(jìn)行網(wǎng)絡(luò)配置,包括NM命令工具集。換言之,在rhel8上,必須開啟NM,否則無(wú)法使用網(wǎng)絡(luò)。

手動(dòng)配置靜態(tài)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重新回載網(wǎng)絡(luò)配置

nmcli c reload

查看

nmcli c
NAME UUID                 TYPE DEVICE
ens32 066b4926-b40c-4c28-a5b4-2310d2b96613 ethernet ens32  

補(bǔ)充nmcli命令

nmcli使用方法

nmcli使用方法非常類似linux ip命令、cisco交換機(jī)命令,并且支持tab補(bǔ)全(詳見本文最后的Tips),也可在命令最后通過(guò)-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個(gè)命令最為常用:

nmcli connection
譯作連接,可理解為配置文件,相當(dāng)于ifcfg-ethX。可以簡(jiǎn)寫為nmcli c

nmcli device
譯作設(shè)備,可理解為實(shí)際存在的網(wǎng)卡(包括物理網(wǎng)卡和虛擬網(wǎng)卡)。可以簡(jiǎn)寫為nmcli d
在NM里,有2個(gè)維度:連接(connection)和設(shè)備(device),這是多對(duì)一的關(guān)系。想給某個(gè)網(wǎng)卡配ip,首先NM要能納管這個(gè)網(wǎng)卡。設(shè)備里存在的網(wǎng)卡(即nmcli d可以看到的),就是NM納管的。接著,可以為一個(gè)設(shè)備配置多個(gè)連接(即nmcli c可以看到的),每個(gè)連接可以理解為一個(gè)ifcfg配置文件。同一時(shí)刻,一個(gè)設(shè)備只能有一個(gè)連接活躍。可以通過(guò)nmcli c up切換連接。

connection有2種狀態(tài):

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

device有4種常見狀態(tài):

  • connected:已被NM納管,并且當(dāng)前有活躍的connection
  • disconnected:已被NM納管,但是當(dāng)前沒(méi)有活躍的connection
  • unmanaged:未被NM納管
  • unavailable:不可用,NM無(wú)法納管,通常出現(xiàn)于網(wǎng)卡link為down的時(shí)候(比如ip link set ens32 down) 

nmcli常用命令一覽

# 查看ip(類似于ifconfig、ip addr)
nmcli
 
# 創(chuàng)建connection,配置靜態(tài)ip(等同于配置ifcfg,其中BOOTPROTO=none,并ifup啟動(dòng))
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
 
# 創(chuàng)建connection,配置動(dòng)態(tài)ip(等同于配置ifcfg,其中BOOTPROTO=dhcp,并ifup啟動(dòng))
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(相當(dāng)于ifup)
nmcli c up ens32
# 停止connection(相當(dāng)于ifdown)
nmcli c down
# 刪除connection(類似于ifdown并刪除ifcfg)
nmcli c delete ens32
# 查看connection列表
nmcli c show
# 查看connection詳細(xì)信息
nmcli c show ens32
# 重載所有ifcfg或route到connection(不會(huì)立即生效)
nmcli c reload
# 重載指定ifcfg或route到connection(不會(huì)立即生效)
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詳細(xì)信息
nmcli d show
# 查看指定device的詳細(xì)信息
nmcli d show ens32
# 激活網(wǎng)卡
nmcli d connect ens32
# 關(guān)閉無(wú)線網(wǎng)絡(luò)(NM默認(rèn)啟用無(wú)線網(wǎng)絡(luò))
nmcli r all off
# 查看NM納管狀態(tài)
nmcli n
# 開啟NM納管
nmcli n on
# 關(guān)閉NM納管(謹(jǐn)慎執(zhí)行)
nmcli n off
# 監(jiān)聽事件
nmcli m
# 查看NM本身狀態(tài)
nmcli
# 檢測(cè)NM是否在線可用
nm-online

提及的ifcfg均指代/etc/sysconfig/network-scripts/ifcfg-ens32及/etc/sysconfig/network-scripts/route-ens32

nmcli connection重點(diǎn)

nmcli c show
NAME UUID TYPE DEVICE
ens32 066b4926-b40c-4c28-a5b4-2310d2b96613 ethernet ens32
  • 第一列是connection名字,簡(jiǎn)稱con-name(注意con-name不是網(wǎng)卡名)
  • 第二列是connection的UUID
  • 最后一列才是網(wǎng)卡名(標(biāo)準(zhǔn)說(shuō)法叫device名),可通過(guò)nmcil d查看device 

對(duì)connection做操作時(shí)需要指定標(biāo)識(shí),標(biāo)識(shí)可以是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

同時(shí)對(duì)應(yīng)ifcfg的文件名以及內(nèi)容中的NAME=,該參數(shù)表示連接(connection)的名字,無(wú)需和網(wǎng)卡名相同,可以為一個(gè)設(shè)備(device)創(chuàng)建多個(gè)連接,但同一時(shí)刻只能有一個(gè)連接生效。當(dāng)有多個(gè)連接時(shí)候,nmcli c delete刪除當(dāng)前連接,就會(huì)自動(dòng)選擇同一個(gè)設(shè)備的其他連接來(lái)頂替生效??梢酝ㄟ^(guò)nmcli c up來(lái)將指定連接切換生效。
注意:通過(guò)nmcli c modify修改con-name,只會(huì)對(duì)應(yīng)修改ifcfg文件中的NAME,而不會(huì)更改ifcfg文件名。

nmcli c的ipv4.method

對(duì)應(yīng)ifcfg文件內(nèi)容的BOOTPROTO,ipv4.method默認(rèn)為auto,對(duì)應(yīng)為BOOTPROTO=dhcp,這種時(shí)候如果指定ip,就可能導(dǎo)致網(wǎng)卡同時(shí)有dhcp分配的ip和靜態(tài)ip。設(shè)置為manual表示BOOTPROTO=none,即只有靜態(tài)ip。

例子:創(chuàng)建一個(gè)連接(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
  • type ethernet:創(chuàng)建連接時(shí)候必須指定類型,類型有很多,可以通過(guò)nmcli c add type -h看到,這里指定為ethernet。
  • con-name ens32 ifname ens32:第一個(gè)ethX表示連接(connection)的名字,這個(gè)名字可以任意定義,無(wú)需和網(wǎng)卡名相同;第二個(gè)ethX表示網(wǎng)卡名,這個(gè)ethX必須是在nmcli d里能看到的。
  • ipv4.addresses '192.168.1.100/24,192.168.1.101/32':配置2個(gè)ip地址,分別為192.168.1.100/24和192.168.1.101/32
  • ipv4.gateway 192.168.1.254:網(wǎng)關(guān)為192.168.1.254
  • ipv4.dns '8.8.8.8,4.4.4.4':dns為8.8.8.8和4.4.4.4
  • ipv4.method manual:配置靜態(tài)IP

對(duì)應(yīng)的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

此時(shí),通過(guò)nmcli c應(yīng)該可以看到增加了一條連接

注意:如果這是為ethX創(chuàng)建的第一個(gè)連接,則自動(dòng)生效;如果此時(shí)已有連接存在,則該連接不會(huì)自動(dòng)生效,可以執(zhí)行nmcli c up ethX-test來(lái)切換生效

nmcli device重點(diǎn)

nmcli d connect ens32
由NM對(duì)指定網(wǎng)卡進(jìn)行管理,同時(shí)刷新該網(wǎng)卡對(duì)應(yīng)的活躍connection(如果之前有修改過(guò)connection配置);如果有connection但是都處于非活躍狀態(tài),則自動(dòng)選擇一個(gè)connection并將其活躍;如果沒(méi)有connection,則自動(dòng)生成一個(gè)并將其活躍。

nmcli d disconnect ens32
讓NM暫時(shí)不管理指定網(wǎng)卡,此操作不會(huì)變更實(shí)際網(wǎng)卡的link狀態(tài),只會(huì)使對(duì)應(yīng)的connection變成非活躍。若重啟系統(tǒng)則又會(huì)自動(dòng)connect。另外,如果手工將該網(wǎng)卡的connection全部刪掉,該網(wǎng)卡狀態(tài)也會(huì)自動(dòng)變?yōu)閐isconnected。

nmcli d reapply ens32
專門用于刷新connection,前提是網(wǎng)卡的device處于connected狀態(tài),否則會(huì)報(bào)錯(cuò)。

nmcli d set ens32 autoconnect yes|no managed yes|no
可以設(shè)置是否自動(dòng)連接和是否自動(dòng)管理,但經(jīng)測(cè)試只能用于當(dāng)前開機(jī)狀態(tài), 如果這2個(gè)參數(shù)都設(shè)置為no,然后重啟系統(tǒng),又會(huì)自動(dòng)恢復(fù)成connected和managed yes的狀態(tài)。所以該命令用途不大。注意事項(xiàng):如果managed設(shè)置為no,那么nmcli c reload會(huì)讀取配置文件,但是不會(huì)立即生效,接著如果執(zhí)行nmcli c up ethX,就會(huì)立即生效,同時(shí)managed自動(dòng)變?yōu)閥es。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。

當(dāng)前文章:詳解Centos8配置靜態(tài)IP的實(shí)現(xiàn)
網(wǎng)站鏈接:http://muchs.cn/article48/ijochp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化、品牌網(wǎng)站建設(shè)、小程序開發(fā)App設(shè)計(jì)、用戶體驗(yàn)、企業(yè)網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)