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

2023-11-02 17:20

本文主要是介绍如何通过 NAT 模式连接VMware虚拟机以及存在和不存在ens33文件的解决方案,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 前言
  • 1 VMware配置
    • 1.1 打开vmvare虚拟网络编辑器
    • 1.2 取消使用本地DHCP
    • 1.3 NAT设置
  • 2 虚拟机的配置
    • 2.1 存在ens33
      • 2.2.1 修改ifcfg-ens33文件
        • 2.2.1.1 为什么设置BOOTPROTO=static?
        • 2.2.1.2 如何选择使用static还是dhcp?
      • 2.2.2 关闭防火墙
    • 2.2 不存在ens33
      • 2.1 设置IP地址、子网掩码和网关
      • 2.2 设置DNS
      • 2.3 设置主机名
      • 2.4 重启虚拟机
      • 2.5 网卡服务开机自启动
    • 2.5.1 rc.local
    • 2.5.2 授予权限
  • 3 连接测试
  • 总结


前言

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
GETWAY=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两种情况的解决方案。

这篇关于如何通过 NAT 模式连接VMware虚拟机以及存在和不存在ens33文件的解决方案的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/332106

相关文章

W外链微信推广短连接怎么做?

制作微信推广链接的难点分析 一、内容创作难度 制作微信推广链接时,首先需要创作有吸引力的内容。这不仅要求内容本身有趣、有价值,还要能够激起人们的分享欲望。对于许多企业和个人来说,尤其是那些缺乏创意和写作能力的人来说,这是制作微信推广链接的一大难点。 二、精准定位难度 微信用户群体庞大,不同用户的需求和兴趣各异。因此,制作推广链接时需要精准定位目标受众,以便更有效地吸引他们点击并分享链接

在JS中的设计模式的单例模式、策略模式、代理模式、原型模式浅讲

1. 单例模式(Singleton Pattern) 确保一个类只有一个实例,并提供一个全局访问点。 示例代码: class Singleton {constructor() {if (Singleton.instance) {return Singleton.instance;}Singleton.instance = this;this.data = [];}addData(value)

Java 连接Sql sever 2008

Java 连接Sql sever 2008 /Sql sever 2008 R2 import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class TestJDBC

实例:如何统计当前主机的连接状态和连接数

统计当前主机的连接状态和连接数 在 Linux 中,可使用 ss 命令来查看主机的网络连接状态。以下是统计当前主机连接状态和连接主机数量的具体操作。 1. 统计当前主机的连接状态 使用 ss 命令结合 grep、cut、sort 和 uniq 命令来统计当前主机的 TCP 连接状态。 ss -nta | grep -v '^State' | cut -d " " -f 1 | sort |

模版方法模式template method

学习笔记,原文链接 https://refactoringguru.cn/design-patterns/template-method 超类中定义了一个算法的框架, 允许子类在不修改结构的情况下重写算法的特定步骤。 上层接口有默认实现的方法和子类需要自己实现的方法

easyui同时验证账户格式和ajax是否存在

accountName: {validator: function (value, param) {if (!/^[a-zA-Z][a-zA-Z0-9_]{3,15}$/i.test(value)) {$.fn.validatebox.defaults.rules.accountName.message = '账户名称不合法(字母开头,允许4-16字节,允许字母数字下划线)';return fal

【iOS】MVC模式

MVC模式 MVC模式MVC模式demo MVC模式 MVC模式全称为model(模型)view(视图)controller(控制器),他分为三个不同的层分别负责不同的职责。 View:该层用于存放视图,该层中我们可以对页面及控件进行布局。Model:模型一般都拥有很好的可复用性,在该层中,我们可以统一管理一些数据。Controlller:该层充当一个CPU的功能,即该应用程序

迭代器模式iterator

学习笔记,原文链接 https://refactoringguru.cn/design-patterns/iterator 不暴露集合底层表现形式 (列表、 栈和树等) 的情况下遍历集合中所有的元素

【408DS算法题】039进阶-判断图中路径是否存在

Index 题目分析实现总结 题目 对于给定的图G,设计函数实现判断G中是否含有从start结点到stop结点的路径。 分析实现 对于图的路径的存在性判断,有两种做法:(本文的实现均基于邻接矩阵存储方式的图) 1.图的BFS BFS的思路相对比较直观——从起始结点出发进行层次遍历,遍历过程中遇到结点i就表示存在路径start->i,故只需判断每个结点i是否就是stop

《x86汇编语言:从实模式到保护模式》视频来了

《x86汇编语言:从实模式到保护模式》视频来了 很多朋友留言,说我的专栏《x86汇编语言:从实模式到保护模式》写得很详细,还有的朋友希望我能写得更细,最好是覆盖全书的所有章节。 毕竟我不是作者,只有作者的解读才是最权威的。 当初我学习这本书的时候,只能靠自己摸索,网上搜不到什么好资源。 如果你正在学这本书或者汇编语言,那你有福气了。 本书作者李忠老师,以此书为蓝本,录制了全套视频。 试