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

文章目录

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

powershell 复制代码
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 关闭防火墙

powershell 复制代码
systemctl disable firewalld
reboot

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

2.2 不存在ens33

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

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

powershell 复制代码
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

powershell 复制代码
vim /etc/resolv.conf

namerserver配置为网关地址

2.3 设置主机名

powershell 复制代码
vim /etc/sysconfig/network

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

复制代码
NETWORKING=yes
HOSTNAME=KBDCT-TEST

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

powershell 复制代码
vim /etc/hostname

如果该文件无信息,则填入主机名即可;

如果有信息,则确认主机名是否正确。

2.4 重启虚拟机

powershell 复制代码
service network restart //重启网卡
reboot //重启虚拟机

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

powershell 复制代码
systemctl status network

发现网卡状态是dead。

此时输入:

powershell 复制代码
systemctl start network
systemctl status network

证明网卡服务是正常的,只是没有启动,所以需要配置网卡服务的开机自启动。

2.5 网卡服务开机自启动

2.5.1 rc.local

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

powershell 复制代码
vi /ect/rc.local

在文件中输入以下信息:

复制代码
systemctl start network

2.5.2 授予权限

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

powershell 复制代码
sudo chmod +x /etc/rc.local
reboot

3 连接测试

此时可以直接使用外部的远程连接工具连接虚拟机,此处以finalshell为例:


总结

关键点在于:

(1)VMware的配置;

(2)虚拟机的网卡配置,包含存在和不存在ens33两种情况的解决方案。

相关推荐
中云DDoS CC防护蔡蔡3 小时前
DDOS和CC攻击谁更可怕
运维·服务器·经验分享·网络安全·ddos
Ruiery3 小时前
Linux 6.6内核内存管理深度解析(十六):mmap — 用户态“申请内存“的真相
linux·运维·服务器
第九序言T3 小时前
Python 数据处理进阶(十八)批量处理同结构文件:一个文件夹一次跑完
开发语言·python·自动化·pandas·数据处理
欧米欧3 小时前
Linux系统篇(七),环境变量的底层溯源,核心获取机制与安全应用
linux·运维·服务器
Ruiery3 小时前
Linux 6.6内核内存管理深度解析(十八):KASLR 内核地址空间随机化
linux·运维·服务器·安全
前端精髓4 小时前
调用大模型API
运维·服务器·microsoft
龙亘川4 小时前
构建城市公共安全数字底座:亘川智城智慧安防系统全维度解读
java·大数据·开发语言·人工智能·信息可视化
程序喵大人4 小时前
【C++入门】内存模型与资源管理 - 09 shared_ptr 和 weak_ptr 解决共享,也带来代价
开发语言·c++·资源管理·智能指针·内存模型
Raas1005 小时前
AI网关部署方案?从部署到上线全流程
java·开发语言·人工智能·gateway·ai网关·企业级ai网关·企业级ai产品
niucloud-admin5 小时前
NIUCLOUD PHP SAAS上门家政使用文档:城市管理
java·前端·php