日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

虚拟机centos7 识别不出网卡的解决方案

發(fā)布時間:2025/3/15 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 虚拟机centos7 识别不出网卡的解决方案 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

問題提出

之前在VMware安裝centos 7(網(wǎng)絡連接采取Nat方式),進入Centos 7后成功開啟了sshd服務,然后在主機(我的windows系統(tǒng))用puTTY軟件可以ssh到虛擬機上。后來在用華為模擬軟件ensp配置路由器時,因為需用到(虛擬/真實)網(wǎng)卡來連接外網(wǎng),我在弄的時候不小心將VMnet8的配置搞亂了。所以,再次打開虛擬機時,我的Centos居然連不上網(wǎng)了!
于是,我一步步排查,終于找到了原因,并解決了識別不出網(wǎng)卡問題。
在這篇博客中,我將完成兩件事:

  • 解決上網(wǎng)問題;
  • 開啟sshd服務,讓主機ssh到虛擬機上。

  • 解決上網(wǎng)問題

    虛擬機網(wǎng)絡初始配置

    我的虛擬機是采取NAT方式聯(lián)網(wǎng)的。注意:如果你是使用Host-only或者橋接方式,這篇文章可能只能給你提供一個思路。

    尋找問題原因

    出現(xiàn)不能上網(wǎng),一般我們會檢查是不是VMware本身的網(wǎng)卡是不是有問題。我檢查了幾遍,并且另外安裝一個centos 7系統(tǒng),發(fā)現(xiàn)能上網(wǎng)。所以100%肯定是我這個Centos 7系統(tǒng)網(wǎng)絡設置有問題!所以我先查看一下電腦有沒有獲取到正確的ip。于是,首先想到的命令是:ifconfig:

    [root@localhost ~]# ifconfig lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536inet 127.0.0.1 netmask 255.0.0.0inet6 ::1 prefixlen 128 scopeid 0x10<host>loop txqueuelen 1000 (Local Loopback)RX packets 448 bytes 38976 (38.0 KiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 448 bytes 38976 (38.0 KiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255ether 52:54:00:11:c6:c2 txqueuelen 1000 (Ethernet)RX packets 0 bytes 0 (0.0 B)RX errors 0 dropped 0 overruns 0 frame 0TX packets 0 bytes 0 (0.0 B)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

    上面列出的lo(loopback)網(wǎng)卡是用于環(huán)回地址的。virbr0是網(wǎng)橋的網(wǎng)卡。而我們需要的是與VMnet8對應的那張網(wǎng)卡。
    下圖是在windows打開網(wǎng)絡設置頁面看到的。其中有兩張?zhí)摂M網(wǎng)卡:

  • VMnet1對應僅主機模式;
  • VMnet8對應Nat模式,也就是我們在Centos 7中需要的與之對應的網(wǎng)卡
  • 很明顯,那張網(wǎng)卡還沒開啟。于是,我給ifconfig加一個參數(shù)-a:

    [root@localhost ~]# ifconfig -a ens33: flags=4098<BROADCAST,MULTICAST> mtu 1500ether 00:0c:29:bd:21:c3 txqueuelen 1000 (Ethernet)RX packets 0 bytes 0 (0.0 B)RX errors 0 dropped 0 overruns 0 frame 0TX packets 0 bytes 0 (0.0 B)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536inet 127.0.0.1 netmask 255.0.0.0inet6 ::1 prefixlen 128 scopeid 0x10<host>loop txqueuelen 1000 (Local Loopback)RX packets 448 bytes 38976 (38.0 KiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 448 bytes 38976 (38.0 KiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255ether 52:54:00:11:c6:c2 txqueuelen 1000 (Ethernet)RX packets 0 bytes 0 (0.0 B)RX errors 0 dropped 0 overruns 0 frame 0TX packets 0 bytes 0 (0.0 B)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0virbr0-nic: flags=4098<BROADCAST,MULTICAST> mtu 1500ether 52:54:00:11:c6:c2 txqueuelen 1000 (Ethernet)RX packets 0 bytes 0 (0.0 B)RX errors 0 dropped 0 overruns 0 frame 0TX packets 0 bytes 0 (0.0 B)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

    從輸出中,我很快鎖定了一張網(wǎng)卡:ens33。但我要測試到底是不是這張網(wǎng)卡。一般網(wǎng)卡的相關文件都是放在/etc/sysconfig/network-scripts/下:

    [root@localhost ~]# ls -al /etc/sysconfig/network-scripts/ | grep ens33 -rw-r--r--. 1 root root 280 Nov 26 15:36 ifcfg-ens33

    果然,就是它!!!先把它開啟,然后在輸入ifconfig命令查看:

    [root@localhost ~]# ifconfig ens33 up [root@localhost ~]# ifconfig ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet6 fe80::20c:29ff:febd:21c3 prefixlen 64 scopeid 0x20<link>ether 00:0c:29:bd:21:c3 txqueuelen 1000 (Ethernet)RX packets 0 bytes 0 (0.0 B)RX errors 0 dropped 0 overruns 0 frame 0TX packets 7 bytes 578 (578.0 B)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536inet 127.0.0.1 netmask 255.0.0.0inet6 ::1 prefixlen 128 scopeid 0x10<host>loop txqueuelen 1000 (Local Loopback)RX packets 460 bytes 39900 (38.9 KiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 460 bytes 39900 (38.9 KiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255ether 52:54:00:11:c6:c2 txqueuelen 1000 (Ethernet)RX packets 0 bytes 0 (0.0 B)RX errors 0 dropped 0 overruns 0 frame 0TX packets 0 bytes 0 (0.0 B)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

    開啟之后,發(fā)現(xiàn)ens33這張網(wǎng)卡并沒有獲取到ip地址,網(wǎng)關等相關配置。到此,我們已經(jīng)知道根本原因,就是Centos 7的網(wǎng)卡沒有獲取到ip!但現(xiàn)在ens33網(wǎng)卡已經(jīng)開啟,我想重啟一下網(wǎng)絡,看看能不能獲取ip地址:

    [root@localhost ~]# service network restart Restarting network (via systemctl): Job for network.service failed because the control process exited with error code. See "systemctl status network.service" and "journalctl -xe" for details. [FAILED]

    果然,還是失敗了。我就想,為什么前幾天安裝得Centos系統(tǒng)不能上網(wǎng),而現(xiàn)在安裝的卻能上網(wǎng)呢?中間只發(fā)生過一件可能影響網(wǎng)絡的事:就是我更改過VMnet8的網(wǎng)絡配置。


    解決ip分配問題

    經(jīng)過搜索和排查,我發(fā)現(xiàn)在Centos系統(tǒng)上,管理網(wǎng)絡的有兩個工具:

    • network;
    • NetworkManager.

    我去紅帽官方查看了一下,找到了一篇post。我就簡單說一下什么是network和NetworkManager:

  • network: Network initscript是一個基本的網(wǎng)絡接口start/stop框架,它是initscripts包的一部分;
  • NetworkManager: NetworkManager是一套協(xié)作網(wǎng)絡管理工具,旨在消除手動編輯網(wǎng)絡配置文件的繁瑣,使網(wǎng)絡簡單直接。 NetworkManager提供靈活的管理界面,包括GUI,CLI和TUI選項,用于管理本地,遠程連接等等。
  • 在系統(tǒng)啟動過程中,NetworkManager的優(yōu)先級大于network。也就是說NetworkManager先啟動。
  • 稍微總結一下,就是說NetworkManager比network更先進,啟動順序也在network前。我就有了一個大膽的猜想(注意,下面的一段話只是個人YY,請批判性閱讀):

    由于我們是虛擬機環(huán)境,外面的虛擬網(wǎng)卡已經(jīng)有能力通過dhcp等協(xié)議將網(wǎng)絡ip等必要東西分配好,而且networkManager是新的東西,可能在虛擬機上兼容不太好。你平時用不影響,但一旦你更改了VMnet8等相關虛擬網(wǎng)卡,NetworkManager可能識別不出,就無法分配到ip,而且由于它先啟動,然后它掛了,但它還在占用這個分配ip的功能,進而network無法頂替,也就是沖突了。

    接下來,我要關閉NetworkManager:

    [root@localhost ~]# systemctl stop NetworkManager //停止NetworkManager [root@localhost ~]# systemctl disable NetworkManager //進制開機啟動 Removed symlink /etc/systemd/system/multi-user.target.wants/NetworkManager.service. Removed symlink /etc/systemd/system/dbus-org.freedesktop.NetworkManager.service. Removed symlink /etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service.

    此時,你會發(fā)現(xiàn)你電腦的網(wǎng)絡GUI不見了(因為你關閉了NetworkManager):

    做完這些,輸入ifconfig看一下:

    [root@localhost ~]# ifconfig ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 192.168.43.129 netmask 255.255.255.0 broadcast 192.168.43.255inet6 fe80::20c:29ff:febd:21c3 prefixlen 64 scopeid 0x20<link>ether 00:0c:29:bd:21:c3 txqueuelen 1000 (Ethernet)RX packets 261 bytes 16686 (16.2 KiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 28 bytes 4549 (4.4 KiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

    Bingo!!!成了。

    轉載于:https://www.cnblogs.com/busui/p/10021725.html

    總結

    以上是生活随笔為你收集整理的虚拟机centos7 识别不出网卡的解决方案的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。