优秀的编程知识分享平台

网站首页 > 技术文章 正文

在 VMware 里的 CentOS 7 网卡 IP 没了

nanyue 2025-07-06 15:24:46 技术文章 2 ℃

安装VMware和centos 不在赘述了

特别提下

这时候我用xshell 链接是正常的

然后问题就来了 我虚拟主机 关闭后

然后 ip addr


就没有原来的192.168.**.***

然后就一顿操作
所以之前设置的 IP 可能因网卡未启用、配置未持久化等丢失,以下是排查和解决思路:

一、确认 IP 配置方式

  • 临时配置(重启失效):若用 ip addr add 或 ifconfig 临时设 IP,系统重启、网络服务重启后会丢失,需重新设置。比如:
  • bash
  • sudo ip addr add 192.168.1.100/24 dev ens33 # 临时设 IP sudo ip link set ens33 up # 启用网卡

  • 但这种方式重启后就没了,适合临时调试。
  • 永久配置(需改配置文件):不同 Linux 发行版(如 CentOS/RHEL、Ubuntu 等)配置文件不同,常见的有:
  • CentOS/RHEL 系列:编辑 /etc/sysconfig/network-scripts/ifcfg-ens33(文件名可能因网卡变,比如 ifcfg-eth0 ),添加 / 修改:
  • bash
  • BOOTPROTO=static # 静态 IP,也可用 dhcp 自动获取 IPADDR=192.168.1.100 # 你的 IP NETMASK=255.255.255.0 # 子网掩码 GATEWAY=192.168.1.1 # 网关 ONBOOT=yes # 开机自动激活网卡

  • 改完保存,重启网络服务 sudo systemctl restart network 生效。
  • Ubuntu 系列:若用 netplan,编辑 /etc/netplan/01-netcfg.yaml(文件名可能不同),示例:
  • yaml
  • network: ethernets: ens33: # 网卡名,通过 ip a 确认 dhcp4: no addresses: [192.168.1.100/24] gateway4: 192.168.1.1 nameservers: addresses: [8.8.8.8, 8.8.4.4] version: 2

  • 保存后执行 sudo netplan apply 或 sudo netplan generate && sudo systemctl restart systemd-networkd 生效(依渲染器定,networkd 对应 systemd-networkd,NetworkManager 对应重启 NetworkManager )。

二、检查网卡状态

当前 ens33 是 DOWN,IP 配置了也不生效,先启用网卡:

bash

sudo ip link set ens33 up  # 临时启用,重启后需重新操作或配置开机自启

若要永久开机启用,结合上面的配置文件,确保 ONBOOT=yes(CentOS/RHEL)或在 netplan 里正确配置让网卡启动时激活。

三、总结步骤(以 CentOS/RHEL 为例,永久静态 IP )

  1. 编辑网卡配置文件:
  2. bash
  3. sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33
  4. 按需求填 BOOTPROTO、IPADDR、NETMASK、GATEWAY、ONBOOT=yes 。
  5. 保存退出,重启网络服务:
  6. bash
  7. sudo systemctl restart network
  8. 用 ip a 或 ifconfig 检查,确认 ens33 状态 UP 且 IP 正确。

但是我是centos 7 那就着重说下

一、确认 VMware 网络模式

先检查虚拟机网络模式(VMware 顶部菜单栏 → 编辑虚拟机设置 → 网络适配器),常用 NAT 模式(推荐,借宿主机网络上网)或 桥接模式(虚拟机直接连物理网络,和宿主机同网段)。



NAT 模式 为例,需配合 VMware 虚拟网络编辑器配置:

  1. 打开 VMware → 编辑 → 虚拟网络编辑器 → 选 VMnet8(NAT 模式对应虚拟网卡 )。
  2. 确认 子网 IP(如 192.168.31.0 )、子网掩码(如 255.255.255.0 )、NAT 设置→网关 IP(如 192.168.31.2 ),后续 CentOS 7 配置要和这些参数匹配。

一定要记住这些

二、配置 CentOS 7 永久静态 IP(以 NAT 模式为例 )

1. 找到网卡配置文件

CentOS 7 网卡配置文件在
/etc/sysconfig/network-scripts/ 目录,通过 ip addr 确认网卡名(比如 ens33 ,你的环境里可能是 enoxxx 等,看实际输出 )。

执行:

bash

cd /etc/sysconfig/network-scripts/
ls  # 找 ifcfg-开头的文件,比如 ifcfg-ens33

2. 编辑网卡配置文件

用 vi 或 vim 编辑(以 ifcfg-ens33 为例 ):

bash

vi ifcfg-ens33

按需求修改 / 添加以下内容(根据 VMware 虚拟网络编辑器的参数填 ):

bash

TYPE=Ethernet
BOOTPROTO=static  # 静态 IP,替代 dhcp(动态会导致 IP 变化)
NAME=ens33        # 网卡名,和实际一致
DEVICE=ens33      # 同上
ONBOOT=yes        # 开机自动激活网卡(关键!否则重启后网卡不启动)
IPADDR=192.168.31.128  # 静态 IP,需和 VMware 子网同网段(如 192.168.31.x )
NETMASK=255.255.255.0  # 子网掩码,和虚拟网络编辑器一致
GATEWAY=192.168.31.2   # 网关,和虚拟网络编辑器的 NAT 网关一致
DNS1=114.114.114.114   # 常用 DNS,也可填 8.8.8.8 或宿主机 DNS

保存退出(vi 中按 Esc → 输入 :wq 回车 )。

3.关闭 NetworkManager(避免服务冲突 )

CentOS 7 里 network 服务和 NetworkManager 可能打架,尤其手动配静态 IP 时,建议关 NetworkManager:

bash

systemctl stop NetworkManager
systemctl disable NetworkManager

然后再重启 network 服务:

bash

systemctl restart network

然后查下

ip addr




最近发表
标签列表