如何通过 NAT 模式连接VMware虚拟机以及存在和不存在ens33文件的解决方案

本文详细介绍了在VMware中配置Linux虚拟机的NAT模式,包括取消本地DHCP、设置静态IP、关闭防火墙、设置DNS和主机名,以及解决ens33存在与否时的配置问题,确保远程连接的顺利进行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


前言

NAT 模式
NAT 模式就是让虚拟机借助 NAT (网络地址转换)功能,通过宿主机来访问外部网络。
本文在保证虚拟机的网络可以查到ip的情况下,让宿主机通过远程连接工具连接到虚拟机。


1 VMware配置

该配置的目的是:检查Linux虚拟机的网络连接模式,确保它是NAT模式

1.1 打开vmvare虚拟网络编辑器

在VMware界面,点击编辑==>虚拟网络编辑器
在这里插入图片描述

1.2 取消使用本地DHCP

选择VMnet8(NAT模式),取消勾选使用本地DHCP服务,若使用DHCP服务的话,会动态分配IP。
在这里插入图片描述
注:如果此处未选择DHCP服务,那么在ems33中建议配置BOOTPROTO=static。如果配置BOOTPROTO=dhcp则会产生ens33无法获取ip的现象,该现象在开机时,可以获取ip地址,但是过一段时间会无法连接。

1.3 NAT设置

1.2设置完成后,点击NAT模式(与虚拟机共享主机的IP地址)==>NAT设置。
在这里插入图片描述

解释如下:
192.168.79.0 //所表示的网段IP
255.255.255.0 //所表示的是子网掩码
192.168.79.2 //为网关地址,我们在设置虚拟机的IP时,不能使用0、2这几个地址。


2 虚拟机的配置

打开虚拟机,准备配置设置虚拟机IP、网关、DNS和主机名。
首先需要确认本机是否存在ens33文件,如果存在连接就比较简单:

2.1 存在ens33

2.2.1 修改ifcfg-ens33文件

vim /etc/sysconfig/network-scripts/ifcfg-ens33
一般需要修改以下三个选项:
BOOTPROTO=static
NETMASK=255.255.255.0
ONBOOT=yes 
2.2.1.1 为什么设置BOOTPROTO=static?
因为在虚拟机1.2的配置中,取消了dhcp服务器,已经无法动态分配地址。如果配置BOOTPROTO=dhcp则会产生ens33无法获取ip的现象,该现象在开机时,可以获取ip地址,但是过一段时间会无法连接。
2.2.1.2 如何选择使用static还是dhcp?

static:虚拟机较少,可以选择自己去分配。
dhcp:需要处理大量虚拟机,或者不想自己去分配ip。

2.2.2 关闭防火墙

systemctl disable firewalld
reboot

然后用远程工具就可以直接连接了!

2.2 不存在ens33

需要手动配置就比较麻烦一些,过程如下所示:

2.1 设置IP地址、子网掩码和网关

vim /etc/sysconfig/network-scripts/ifcfg-ens33
DEVICE=ens33
BOOTPROTO=static
IPADDR=192.168.79.129
GATEWAY=192.168.79.2
NETMASK=255.255.255.0
ONBOOT=yes 

解释如下:
DEVICE=ens33 //网络设备的名称
BOOTPROTO=static //网络分配方式为静态
IPADDR=192.168.79.129 //设置的IP地址
NETMASK=255.255.255.0 //子网掩码
GATEWAY=192.168.79.2 //网关
ONBOOT=yes //指系统启动时是否激活网卡
注:除了修改配置外,还需要禁用NetworkManager,可以参考这篇文章:Linux Centos7安装后,无法查询到IP地址,无ens0,只有lo和ens33的解决方案

2.2 设置DNS

vim /etc/resolv.conf

在这里插入图片描述

namerserver配置为网关地址

2.3 设置主机名

vim /etc/sysconfig/network

在该文件中写入以下配置:

NETWORKING=yes
HOSTNAME=KBDCT-TEST

主机名为:[root@后面的名称]

vim /etc/hostname

如果该文件无信息,则填入主机名即可;
如果有信息,则确认主机名是否正确。

2.4 重启虚拟机

service network restart //重启网卡
reboot //重启虚拟机

此时有可能出现一个问题,使用查询网卡状态

systemctl status network

在这里插入图片描述
发现网卡状态是dead。
此时输入:

systemctl start network
systemctl status network

在这里插入图片描述
证明网卡服务是正常的,只是没有启动,所以需要配置网卡服务的开机自启动。

2.5 网卡服务开机自启动

2.5.1 rc.local

设置开机自启动方式有很多,此处选择修改rc.local的方式。

vi /ect/rc.local

在文件中输入以下信息:

systemctl start network

在这里插入图片描述

2.5.2 授予权限

加入上述启动命令后,使用chmod提升文件权限,并重启虚拟机。

sudo chmod +x /etc/rc.local
reboot

3 连接测试

此时可以直接使用外部的远程连接工具连接虚拟机,此处以finalshell为例:
在这里插入图片描述


总结

关键点在于:
(1)VMware的配置;
(2)虚拟机的网卡配置,包含存在和不存在ens33两种情况的解决方案。

### VMware 虚拟机ENS36 网卡消失的解决方案 当遇到虚拟机中的 `ens36` 网卡消失问题时,可以按照以下方法尝试解决问题。 #### 检查物理主机上的网络设置 确认宿主机上是否有对应的 VMware 网络适配器存在。如果缺少相应的虚拟网卡,则需要重新安装或配置 VMware Tools 或者更新 VMware 的版本[^2]。 #### 使用命令行工具排查并重启网络服务 进入 Linux 终端执行如下指令来获取当前所有的网络接口详情: ```bash ifconfig -a ``` 这一步骤有助于了解具体哪个设备名称被分配给了实际存在的硬件,并且能够看到是否存在名为 `ens36` 的网卡以及其状态信息。 对于某些发行版可能还需要停止启动 NetworkManager 来刷新连接配置: ```bash service NetworkManager stop service NetworkManager start ``` 另外一种方式是关闭再开启整个系统的网络服务以重置所有相关进程服务的状态: ```bash chkconfig network off chkconfig network on ``` 以上操作可以帮助恢复因临时故障而失效的网络功能[^3]。 #### 修改网卡配置文件 有时更改 MAC 地址或者调整 BIOS/UEFI 设置也会引起此类现象的发生。此时应当编辑 `/etc/sysconfig/network-scripts/ifcfg-ens36` 文件(路径取决于具体的 Linux 版本),确保其中的内容正确无误,特别是 HWADDR UUID 字段要与实际情况相匹配。 例如,在 CentOS/RHEL 中该文件应类似于下面这样定义: ```plaintext TYPE=Ethernet BOOTPROTO=dhcp DEFROUTE=yes PEERDNS=yes PEERROUTES=yes IPV4_FAILURE_FATAL=no NAME=ens36 UUID=<your_unique_identifier> DEVICE=ens36 ONBOOT=yes HWADDR=<mac_address_of_ens36> ``` 保存更改之后再次运行 `ifup ens36` 命令激活新的设定。 #### 更新驱动程序支持包 最后但同样重要的是保持操作系统及其组件处于最新状态。定期检查官方渠道发布的补丁安全公告,及时应用必要的升级动作,从而减少由于软件缺陷所引发的一系列兼容性稳定性方面的问题。 通过上述措施通常能有效地处理大多数情况下发生的 `ens36` 网卡缺失状况。过需要注意每台机器的具体情况可能会有所同,因此建议根据自身的环境特点灵活运用这些技巧来进行诊断修复工作。
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Le`soleil

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值