CentOS
虛擬機沒法顯示本地ip
,如圖:bash
參考過此處的解決方法,把網卡配置中的ONBOOT
修改成YES
:服務器
可是原來的網卡配置也是YES
,因此修改的方法沒有用,嘗試了一下重啓網卡服務:網絡
systemctl restart network
ip
仍是沒法正常顯示。spa
查了一下資料,經常使用的Linux
的網絡管理服務有兩個:.net
network
服務NetworkManager
服務前者是基礎服務,一般在服務器中使用,固然在圖形界面也有,一般使用命令行配置,而NetworkManager
通常在圖形界面安裝,是爲了方便ip
的配置,要注意的是兩個之中只能有一個生效,所以須要選擇一個禁用。在筆者這種狀況下應該是二者衝突了,致使不能正常顯示本地ip
,可使用命令行
systemctl status network systemctl status NetworkManager
查看兩服務狀態,若是不是服務衝突的話應該就是配置出錯了的緣由。rest
network
先把NetworkManager
禁用:code
systemctl stop NetworkManager systemctl status NetworkManager
禁用以後重啓network
:blog
systemctl restart network
這樣就能顯示出本地ip
了。圖片
若仍是不能顯示請檢查網卡配置,在/etc/sysconfig/network-scripts
下,筆者的是/etc/sysconfig/network-scripts/ifcfg-ens33
。
NetworkManager
使用NetworkManager
的話先把network
禁用:
systemctl stop network systemctl status network
再把NetworkManager
啓動:
systemctl start NetworkManager
接下來使用nmcli
進行操做。
首先查看託管狀態:
nmcli n
若顯示disabled
:
開啓便可:
nmcli n on
查看設備:
nmcli d
筆者機器上顯示以下:
接下來建立鏈接,有兩種方式建立:動/靜態ip
:
# 靜態ip方式建立connection nmcli c add type ethernet con-name connect_name_1 ifname ens33 ipv4.addr 192.168.126.151/24 ipv4.gateway 192.168.126.1 ipv4.method manual # 動態ip方式建立connection nmcli c add type ethernet con-name connect_name_2 ifname ens33 ipv4.method auto
ip
方式nmcli c add type ethernet con-name connect_name_1 ifname ens33 ipv4.addr 192.168.126.151/24 ipv4.gateway 192.168.126.1 ipv4.method manual
參數說明:
nmcli c add
:建立鏈接type
:鏈接類型con-name
:鏈接名稱ifname
:網卡名ipv4.addr
:ipv4
靜態ip
,這裏是192.168.126.151
,24
表示子網掩碼ipv4.gateway
:網關,把最後ip
最後置1
便可,這裏是192.168.126.1
ipv4.method
:後面的參數manual
表示配置靜態ip
,注意一下該參數很重要,由於默認爲auto
,也就是若是不指定該參數會出現兩個ip
,一個靜態+一個動態建立好鏈接以後應該就能顯示ip
了:
就是剛纔手動指定的靜態ip
,若是仍是不能顯示ip
能夠手動鏈接設備:
nmcli d connect ens33
ip
方式nmcli c add type ethernet con-name connect_name_2 ifname ens33 ipv4.method auto
參數與上面的基本一致,區別就是auto
,表示動態方式配置ip
,這樣就配置完成了,能夠直接查看ip
:
若是仍是沒有ip
能夠嘗試手動鏈接設備:
nmcli d connect ens33