VMWare Workstation 17 Pro 网络设置 桥接模式 网络地址转换(NAT)模式 仅主机模式

文章目录

  • 网络模式
  • 配网要求
  • CentOS
  • DHCP
  • 虚拟网络
  • 桥接模式
    • 默认配置
    • 测试
    • 手动配置
    • 测试
  • 网络地址转发模式 (NAT)
    • 还原配置
    • 虚拟网络配置
    • 默认配置
    • 测试
    • 手动配置
    • 测试
  • 仅主机模式


网络模式

  • 桥接模式:
    • 主机与虚拟机对等, 虚拟机注册到主机所在的局域网, 会占用该网络的IP
    • 该局域网内的所有机器, 包括主机和其他机器和所有虚拟机, 均可互相访问
    • 虚拟机可以访问互联网
  • 网络地址转发(NAT)模式:
    • 可以认为是在主机下建立了一个虚拟局域网, 虚拟机注册到该网络, 不会占用主机所在局域网的IP
    • 虚拟机可通过主机访问互联网
    • 主机和所有虚拟机可以互相访问
    • 虚拟机可以访问主机局域网中的其他机器. 但是反过来不行(貌似NAT-PAT端口多路复用(不同端口指向不同虚拟机)可以实现该功能)
  • 仅主机模式:
    • 和NAT类似
    • 但是虚拟机只能和主机互相访问
    • 不能通过主机访问互联网
    • 也不能访问主机局域网中的其他机器

配网要求

作为一名 Java 从业者, 通常需要主机与虚拟机具有如下的网络特点

  • 主机与各虚拟机之间能够互相访问
  • 各虚拟机之间能够互相访问
  • 虚拟机能够访问互联网
  • 每一台虚拟机的IP地址一经配置则固定不变, 即使主机所在网络发生变化, 也不能影响虚拟机的IP
    • 肯定是需要手动配置地址的, DHCP 自动地址会变来变去, 导致虚拟机上部署的服务不可用
    • 很多中间件有高可用, 需要互相配置IP地址, 一旦虚拟机IP发生变化, 修改起来会很麻烦

这样看来桥接模式不符合第四点, 仅主机模式模式不符合第三点, 只有NAT模式符合要求

CentOS

  • CentOS Stream 9 之前, 网络配置在 /etc/sysconfig/network-scripts 下, 格式是 ifcfg
  • CentOS Stream 9, 网络配置在 /etc/NetworkManager/system-connections 下, 格式是 keyfile, 就是 ini 配置文件的格式

CentOS Stream 9 也没有了以前配置网络的命令

  • service network start/restart/status
  • systemctl start/restart/status network

CentOS Stream 9 重新加载网络配置

  • nmcli c reload
  • nmcli c up ens160, 这里的 ens160 是网卡名, 可根据实际情况更改

CentOS Stream 9 之前的配置大致是这个样子

TYPE=Ethernet # 网络类型为以太网
BOOTPROTO=static # 手动分配IP地址
DEVICE=ens32 # 网卡设备名,设备名和文件名一定要一致
ONBOOT=yes # 网卡随网络服务启动
IPADDR=192.168.1.201 # 网卡IP地址, 要和Windows在同一个网段, 即192.168.1.*
NETMASK=255.255.255.0 # 子网掩码
GATEWAY=192.168.1.1 # 默认网关
DNS1=8.8.8.8 # DNS,8.8.8.8为Google提供的免费DNS服务器IP地址

CentOS Stream 9 的默认配置如下, 可以看到默认的 ipv4 配置是自动获取 IP 地址, 如果有 DHCP 服务, 则该配置的虚拟机在启动后, 应该能自动拿到 IP 地址, 可以直接访问互联网

[connection]
id=ens160
uuid=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
type=etherent
autoconnect-priority=-999
interface-name=ens160
timestamp=1692376766[ethernet][ipv4]
method=auto[ipv6]
addr-gen-mode=eui64
method=auto[proxy]

下面的测试均以 CentOS Stream 9 为例, 在 CentOS Stream 9 下的默认配置与效果, 在其他版本下不一定一致, 但大致相同

DHCP

DHCP 服务可以按照一定的规则和限制给客户端动态分配 IP 地址

NAT 模式和仅主机模式, 内置了 DHCP 服务, 桥接模式则使用主机所在局域网的 DHCP 服务, 即这三种网络模式的虚拟机, 如果系统配置了自动获取 IP 地址, 则虚拟机启动后就能获得一定限制内随机的 IP 地址, 每次启动后, 分配的 IP 地址可能会发生变化

虚拟网络

本机目前只连接了无线, 所以本次实验以无线网卡为准

在这里插入图片描述

在控制面板中, 我们可以看到网卡的信息, 以太网是有线网卡(本次暂无), WLAN 是无线网卡

当安装了 VMWare Workstation 后, 会多出来 VMnew1 和 VMnet8 两张虚拟网卡

在 VMWare Workstation 的 虚拟网络编辑器 中可以查看和配置这些虚拟网络

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

VMnet1 对应的是仅主机模式, VMnet8 对应的 NAT 模式, VMnet0 对应桥接模式, 据说桥接模式直接使用了主机网卡, 所以不会在控制面板的网络适配器中显示

桥接模式

默认情况下, 我们用桥接模式创建的 CentOS Stream 9 虚拟机可以直接访问互联网

虽然桥接模式没有 DHCP, 但是桥接模式会使用主机所在局域网的 DHCP 服务

桥接模式下, 虚拟机和主机对等, 应当在相同的网段, 有相同的子网掩码, 所以要配置虚拟机网络, 需要先了解主机当前的网络

在 cmd 中执行 ipconfig 可知

无线局域网适配器 WLAN:连接特定的 DNS 后缀 . . . . . . . :IPv6 地址 . . . . . . . . . . . . : 2409:8a0c:247:8f70:46f:6c47:8c14:77da临时 IPv6 地址. . . . . . . . . . : 2409:8a0c:247:8f70:c96e:29a0:184f:3906本地链接 IPv6 地址. . . . . . . . : fe80::9ce9:cfa2:bedb:b6cc%3IPv4 地址 . . . . . . . . . . . . : 192.168.1.2子网掩码  . . . . . . . . . . . . : 255.255.255.0默认网关. . . . . . . . . . . . . : fe80::1%3192.168.1.1

在这里插入图片描述

在局域网连接中查看信息可知

SSID:	CMCC-R7tU-5G
协议:	Wi-Fi 6 (802.11ax)
安全类型:	WPA2-个人
制造商:	MediaTek, Inc.
描述:	MediaTek Wi-Fi 6 MT7921 Wireless LAN Card
驱动程序版本:	23.32.2.553
网络频带:	5 GHz
网络通道:	48
链接速度(接收/传输):	1201/1201 (Mbps)
IPv6 地址:	2409:8a0c:247:8f70:46f:6c47:8c14:77da
本地链接 IPv6 地址:	fe80::9ce9:cfa2:bedb:b6cc%3
IPv6 DNS 服务器:	fe80::1%3 (未加密)
IPv4 地址:	192.168.1.2
IPv4 DNS 服务器:	192.168.1.1 (未加密)

汇总可知主机网络信息如下

  • 默认网关: 192.168.1.1
  • 子网掩码: 255.255.255.0
  • 主机地址: 192.168.1.2
  • DNS服务器地址: 192.168.1.1

另外, 我的手机也连接了同一个局域网, 手机的地址是 192.168.1.3

所以桥接模式的虚拟机地址可以配置为 192.168.1.4 ~ 192.168.1.254 中和其他设备不冲突的任何一个地址, 具体可以百度网络相关方面的知识

我们以手动配置 192.168.1.129/24 为例, /24 就是子网掩码 255.255.255.0

默认配置

在这里插入图片描述

首先查看虚拟网络编辑器中 VMnet0 的配置, 应将其桥接至正确的物理无线网卡上, 默认的自动一般都是没有问题不需要修改的

在这里插入图片描述

然后我们看虚拟机设置, 将网络连接修改为桥接模式, 然后启动虚拟机, 通过 ip a 查看虚拟机网络信息

在这里插入图片描述

可以看到 ens160 的地址被分配了 192.168.1.5

测试

互相访问试试看

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

可以看到, 效果与预期一致

  • 主机可以访问虚拟机
  • 虚拟机可以访问主机
  • 虚拟机可以访问主机局域网内的其他机器
  • 虚拟机可以访问互联网
  • 主机局域网内的其他机器可以访问虚拟机

手动配置

在这里插入图片描述

/etc/NetworkManager/system-connections 下默认只有一个配置文件 ens160.nmconnection, 其内容如下

[connection]
id=ens160
uuid=9b698abd-9a30-3055-98c2-8ace52598494
type=ethernet
autoconnect-priority=-999
interface-name=ens160
timestamp=1692431323[ethernet][ipv4]
method=auto[ipv6]
addr-gen-mode=eui64
method=auto[proxy]

在配置节 ipv4 下修改配置如下

method=manual
address1=192.168.1.129/24,192.168.1.1
dns=192.168.1.1
  • manual 代表手动配置网络地址
  • address1 则是虚拟机地址 和 网关地址, 这里不配网关地址的话, 无法访问百度
  • dns 则是域名解析服务器, 用英文分号分隔, 这里不配置的话没什么影响

执行 nmcli c reloadnmcli c up ens160 重新载入网络配置, 可看到 IP 地址已经更改

在这里插入图片描述

测试

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

可见, 测试结果同样与预期完全相同, 即

  • 主机可以访问虚拟机
  • 虚拟机可以访问主机
  • 虚拟机可以访问主机局域网内的其他机器
  • 虚拟机可以访问互联网
  • 主机局域网内的其他机器可以访问虚拟机

网络地址转发模式 (NAT)

使用 NAT 模式

  • 可以不占用主机所在局域网的 IP 地址, 防止不够用(比如公司环境)
  • 也可以隔离主机局域网变化对虚拟机网络的影响
    • 假如当前是桥接模式的虚拟机, 虚拟机地址是手动指定的, 原本主机地址是 192.168.1.2, 现在换了个路由器, 主机地址变成了 192.168.0.2 了. 如果是少数几台虚拟机, 手动改下 IP 也还能接受, 如果量多的话, 那简直要烦死人

我们以手动配置 192.168.88.150/24 为例, /24 就是子网掩码 255.255.255.0

还原配置

刚刚我们将 ens160 的配置做了修改, 我们先将 ipv4 节的内容还原

[ipv4]
method=auto

虚拟网络配置

在这里插入图片描述

在 VMnet8 里可以设置具体的子网 IP 和子网掩码, 该网段是一个虚拟局域网, 和主机所在局域网的网段不一样即可, 同时最好避开常见的 192.168.0.0 / 192.168.1.0 / 192.168.31.0 等路由器默认子网, 默认的 192.168.88.0 就挺好的, 基本不会和主机局域网冲突, 这样当主机切换了局域网时, 不会影响到已配置过网络的虚拟机

NAT 设置 和 DHCP 设置 一般保持不变即可

所以汇总一下 VMnet8 的信息

子网地址: 192.168.88.0
子网掩码: 255.255.255.0
网关地址: 192.168.88.2

在这里插入图片描述

在这里插入图片描述

默认配置

首先查看虚拟网络编辑器中 VMnet8 的配置, 默认情况下是不需要动的, 除非主机局域网与该虚拟网络发生冲突

在这里插入图片描述

然后我们看虚拟机设置, 将网络连接修改为 NAT 模式, 然后重新启动虚拟机, 通过 ip a 查看虚拟机网络信息

注意: 此时系统的 ipv4 网络配置已经被还原为 method=auto

在这里插入图片描述

可以看到 ens160 的地址被分配了 192.168.88.129

测试

主机地址: 192.168.1.2
手机地址: 192.168.1.3
网关地址: 192.168.1.1

虚拟机地址: 192.168.88.129

互相访问试试看

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

可见, 结果与预期一致

  • 主机可以访问虚拟机
  • 虚拟机可以访问主机
  • 虚拟机可以访问主机局域网内的其他机器
  • 虚拟机可以访问互联网
  • 主机局域网内的其他机器不可以访问虚拟机

手动配置

还是修改 /etc/NetworkManager/system-connections/ens160.nmconnection 中的 ipv4 节

method=manual
address1=192.168.88.150/24,192.168.88.2
dns=114.114.114.114;8.8.8.8
  • manual 代表手动配置网络地址
  • address1 则是虚拟机地址 和 虚拟网络网关地址, 这里必须配置虚拟网关地址, 否则虚拟机无法访问主机和主机局域网内的其他机器
  • dns 则是域名解析服务器, 用英文分号分隔, 不配置的话无法访问互联网

执行 nmcli c reloadnmcli c up ens160 重新载入网络配置, 可看到 IP 地址已经更改

在这里插入图片描述

测试

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

可见, 测试结果同样与预期完全相同, 即

  • 主机可以访问虚拟机
  • 虚拟机可以访问主机
  • 虚拟机可以访问主机局域网内的其他机器
  • 虚拟机可以访问互联网
  • 主机局域网内的其他机器不可以访问虚拟机

仅主机模式

和 NAT 模式类似, 可以自行配置与测试

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/45428.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

简单认识镜像底层原理详解和基于Docker file创建镜像

文章目录 一、镜像底层原理1.联合文件系统(UnionFS)2.镜像加载原理3.为什么Docker里的centos的大小才200M? 二、Dockerfile1.简介2.Dockerfile操作常用命令 三、创建Docker镜像1.基于已有镜像创建2.基于本地模板创建3.基于Dockerfile创建4.Dockerfile多阶段构建镜像 一、镜像底…

产品经理如何提高用户画像效果?SIKT模型

产品经理做用户画像,最担心被业务方反馈:没效果。这往往是由用户画像与业务场景脱节造成的。那么我们该如何从业务场景出发,让用户画像更有效?一般来说,我们可以采用SIKT模型解决这个问题。 用户画像 ​ 1、SIK…

【操作系统】虚拟内存相关分段分页页面置换算法

虚拟内存是什么? 【进程地址空间虚拟地址空间C/C程序地址空间就是那个4G的空间】 虚拟内存是操作系统内核为了对进程地址空间进行管理,而设计的一个逻辑意义上的内存空间概念。在程序运行过程中,虚拟内存中需要被访问的部分会被映射到物理内…

漏洞指北-VluFocus靶场专栏-工具篇

漏洞指北-VluFocus靶场专栏-番外篇奇技淫巧 🌸1、burp suite 、中国蚁剑工具、Strut2扫描软件地址🌸🌸2、burp suite使用🌸step1 浏览器开启代理,**推荐使用:SwitchyOmega** step2 确认浏览器端口和burp su…

nginx反向代理、负载均衡

修改nginx.conf的配置 upstream nginx_boot{# 30s内检查心跳发送两次包,未回复就代表该机器宕机,请求分发权重比为1:2server 192.168.87.143 weight100 max_fails2 fail_timeout30s; server 192.168.87.1 weight200 max_fails2 fail_timeout30s;# 这里的…

LVS负载均衡群集部署(LVS-NAT模型实例)

一、集群 1.1集群的含义 Cluster,集群、群集,为解决某个特定问题将多台计算机组合起来形成的单个系统。 由多台主机构成,但对外只表现为一个整体。 1.2群集的三种类型 1.2.1负载均衡群集 LB: Load Balancing,负载均衡&#x…

Linux 虚拟机Ubuntu22.04版本通过远程连接连接不上,输入ifconfig只能看到127.0.0.1的解决办法

之前给虚拟机配置静态IP之后,可以直接通过主机Vscode远程连接。但是前一段时间把主机的TCP/IPV4静态IP设置了一下之后,再连接虚拟机就连不上了,于是参考解决虚拟机不能上网ifconfig只显示127.0.0.1的问题,又可以连接上了&#xff…

Linux系统下消息中间件RocketMQ下载、安装、搭建、配置、控制台rocketmq-dashboard的安装保姆级教程 rocketmq ui

这里给出我使用的 RocketMQ 版本(5.1.3)、RocketMQ-Dashboard 版本的百度网盘链接: 链接:https://pan.baidu.com/s/1HaKBBDGWZ0WKLGgVwIG9pw 提取码:1234 文章目录 一. 官网下载安装二、启动NameServer三、启动Broker四…

Qt项目报错:Cannot run compiler ‘clang++‘. /bin/sh: 1: clang++: not found

在一台旧电脑上装了深度系统,装了Qt,导入项目, build提示 clang找不到: Project ERROR: Cannot run compiler clang. Output: /bin/sh: 1: clang: not found Maybe you forgot to setup the environment? Error while parsing …

Jenkins+Jmeter集成自动化接口测试并通过邮件发送测试报告

一、Jenkins的配置 1、新增一个自由风格的项目 2、构建->选择Excute Windows batch command(因为我是在本地尝试的,因此选择的windows) 3、输入步骤: 1. 由于不能拥有相同的jtl文件,因此在每次构建前都需要删除jtl…

VS2022远程Linux使用cmake开发c++工程配置方法

文章目录 远程连接CMakePresets.json的配置Task.vs.json配置launch.vs.json配置最近使用别人在VS2015上使用visualgdb搭建的linux开发环境,各种不顺手,一会代码不能调转了,一会行号没了,调试的时候断不到正确的位置,取消的断点仍然会进。因此重新摸索了一套使用vs的远程开…

基于Python的高校学生成绩分析系统

随着计算机技术发展,计算机系统的应用已延伸到社会的各个领域,大量基于网络的广泛应用给生活带来了十分的便利。所以把高校成绩分析与现在网络相结合,利用计算机搭建高校成绩分析系统,实现高校成绩分析的信息化。则对于进一步提高…

深入理解 Flutter 图片加载原理 | 京东云技术团队

前言 随着Flutter稳定版本逐步迭代更新,京东APP内部的Flutter业务也日益增多,Flutter开发为我们提供了高效的开发环境、优秀的跨平台适配、丰富的功能组件及动画、接近原生的交互体验,但随之也带来了一些OOM问题,通过线上监控信息…

ubuntu 编译安装nginx及安装nginx_upstream_check_module模块

如果有帮助到你,麻烦点个赞呗~ 一、下载安装包 # 下载nginx_upstream_check_module模块 wget https://codeload.github.com/yaoweibin/nginx_upstream_check_module/zip/master# 解压 unzip master# 下载nginx 1.21.6 wget https://github.com/nginx/…

【C++奇遇记】构造函数 | 初始化列表

🎬 博客主页:博主链接 🎥 本文由 M malloc 原创,首发于 CSDN🙉 🎄 学习专栏推荐:LeetCode刷题集 数据库专栏 初阶数据结构 🏅 欢迎点赞 👍 收藏 ⭐留言 📝 如…

操作系统练习:在Linux上创建进程,及查看进程状态

说明 进程在执行过程中可以创建多个新的进程。创建进程称为“父进程”,新的进程称为“子进程”。每个新的进程可以再创建其他进程,从而形成进程树。 每个进程都有一个唯一的进程标识符(process identifier,pid)。在L…

Java之接口

作者简介: zoro-1,目前大一,正在学习Java,数据结构等 作者主页: zoro-1的主页 欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖 Java之接口 接口的概念语法规则接口特性接口使用案…

数据结构<树和二叉树>顺序表存储二叉树实现堆排

✨Blog:🥰不会敲代码的小张:)🥰 🉑推荐专栏:C语言🤪、Cpp😶‍🌫️、数据结构初阶💀 💽座右铭:“記住,每一天都是一個新的開始&#x1…

stable diffusion基础

整合包下载:秋叶大佬 【AI绘画8月最新】Stable Diffusion整合包v4.2发布! 参照:基础04】目前全网最贴心的Lora基础知识教程! VAE 作用:滤镜微调 VAE下载地址:C站(https://civitai.com/models…

漏洞指呗-VluFocus靶场专栏-番外篇

漏洞指呗-VluFocus靶场专栏-番外篇奇技淫巧 🌸struts2漏洞扫描工具🌸step1 修改ip和端口step2 验证漏洞是否存在step3 执行cmd命令,获取flag 🌸Goby插件工具headshot🌸step1 输入ip和端口 检测step2 cmd 输入指令 &…