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.rhkb.cn/news/102883.html

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

相关文章

Git企业开发控制理论和实操-从入门到深入(二)|Git的基本操作

前言 那么这里博主先安利一些干货满满的专栏了! 首先是博主的高质量博客的汇总,这个专栏里面的博客,都是博主最最用心写的一部分,干货满满,希望对大家有帮助。 高质量博客汇总https://blog.csdn.net/yu_cblog/cate…

solidity0.8.0的应用案例11:透明代理合约

选择器冲突 智能合约中,函数选择器(selector)是函数签名的哈希的前4个字节。例如mint(address account)的选择器为bytes4(keccak256("mint(address)")),也就是0x6a627842. 由于函数选择器仅有4个字节,范围很小,因此两个不同的函数可能会有相同的选择器,例如…

工厂方法模式介绍

韩敬海 设计模式(Java版) (一)定义 定义一个创建对象的接口,让子类决定实例化哪个类。工厂方法使一个类的实例化延迟到其子类。 工厂方法涉及的角色有: 1 .抽象工厂角色:工厂方法模式的核心&am…

【ElasticSearch】一键安装IK分词器无需其他操作

要注意的时下面命令中的es是我容器的名称,要换成你对应的es容器名 docker exec -it es /bin/bash # 进入容器 ./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis- ik/releases/download/v7.12.1/elasticsearch-analysis-ik-7.1…

sql递归查询

一、postgresql 递归sql with recursive p as(select t1.* from t_org_test t1 where t1.id2union allselect t2.*from t_org_test t2 join p on t2.parent_idp.id) select id,name,parent_id from p; sql中with xxxx as () 是对一个查询子句做别名,同时数据库会对…

使用Token方式实现用户身份鉴权认证

一、什么是Token? Token,也称为“令牌”,是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Token前…

VBA Excel自定义函数的使用 简单的语法

一个简单的教程,实现VBA自定义函数。 新建模块 复制后面的代码放进来 函数的入口参数不定义,则认为是一块区域; 反之,如FindChar1 As String,则认为是输入的单值。 循环和分支如下例子,VB比较接近自然语…

LLM-Rec:基于提示大语言模型的个性化推荐

1. 基本信息 论文题目:LLM-Rec: Personalized Recommendation via Prompting Large Language Models 作者:Hanjia Lyu, Song Jiang, Hanqing Zeng, Yinglong Xia, Jiebo Luo 机构:University of Rochester, University of California Los Angeles, Meta AI, University of Ro…

【网络安全知识】Windows系统安全加固安全加固分析、概念及账户管理和认证权限

Windows系统安全加固分析 最小化方式安装 为了提高系统的安全性,采用最小化方式安装是最可靠的,只安装网络 服务所必需的组件。如果以后有新的服务需求,再安装相应的服务组件 ,并及时进行安全设置。 系统加固工作 对Windows系统安…

innovus set_ccopt_property insertion_delay

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧? 拾陆楼知识星球入口 set_ccopt_property insertion_delay -pin A/CP $value value的值是负的,意思是需要把A/CP tree做长,正值就是告诉这里有这么长,工具就会把…

Linux 可重入、异步信号安全和线程安全

可重入函数 当一个被捕获的信号被一个进程处理时,进程执行的普通的指令序列会被一个信号处理器暂时地中断。它首先执行该信号处理程序中的指令。如果从信号处理程序返回(例如没有调用exit或longjmp),则继续执行在捕获到信号时进程…

计算机竞赛 基于Django与深度学习的股票预测系统

文章目录 0 前言1 课题背景2 实现效果3 Django框架4 数据整理5 模型准备和训练6 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 **基于Django与深度学习的股票预测系统 ** 该项目较为新颖,适合作为竞赛课题方向&#xff…

通过C实现sqlite3操作,导入电子词典

#include <stdio.h> #include <string.h> #include <stdlib.h> #include <sqlite3.h> int main(int argc, const char *argv[]) {//创建并打开一个数据库sqlite3 *db NULL;if(sqlite3_open("./dict.db",&db) ! SQLITE_OK){printf("…

爱校对发布全新PDF校对工具,为用户带来更为便捷的校正体验

随着数字化文档使用的普及&#xff0c;PDF格式已经成为最为广泛使用的文件格式之一。为满足广大用户对于高效、准确PDF文档校对的需求&#xff0c;爱校对团队经过深入研发&#xff0c;正式推出全新的PDF校对工具&#xff01; 这一全新工具针对PDF文件格式进行了深度优化&#…

微信小程序创建项目以及注意事项

1.申请账号并完善信息 2.下载安装开发工具 3.开发小程序 4.上传代码 5.提交审核 6.发布 创建项目 根据需求选择模板&#xff0c;也可以不选择模板 创建完毕之后 进入页面点击终端 然后新建终端 输入npm init 一直按回车即可 安装成功 出现package.json 如何使用组件&#x…

湘潭大学 湘大 XTU OJ 1116 水仙花数 题解(非常详细)

链接 1116 题面 Description 如果一个n位数的每个数位的n次方和就是本身&#xff0c;那么我们称这种数为“水仙花数”。比如371,337313273431 371。现给你一个数&#xff0c;请求这个数是否是水仙花数。 输入 有多组样例。每个样例占一行&#xff0c;为一个整数a&#xff0…

【O2O领域】Axure外卖订餐骑手端APP原型图,外卖众包配送原型设计图

作品概况 页面数量&#xff1a;共 110 页 兼容软件&#xff1a;Axure RP 9/10&#xff0c;不支持低版本 应用领域&#xff1a;外卖配送、生鲜配送 作品申明&#xff1a;页面内容仅用于功能演示&#xff0c;无实际功能 作品特色 本品为外卖订餐骑手端APP原型设计图&#x…

基于微信小程序的仓储进销存管理系统_r275i

随着科学研究的不断深入&#xff0c;有关仓储的各种信息量不断成倍增长。面对庞大的信息量&#xff0c;就需要有仓储管理系统来提高管理工作的效率。通过这样的系统&#xff0c;我们可以做到信息的规范管理和快速查询&#xff0c;从而减少了管理方面的工作量。 建立仓储管理系…

mybatis入门Idea搭建

一、概念 1、什么是mybatis&#xff1f; MyBatis是一个开源的Java持久层框架&#xff0c;它提供了一种简化数据库访问的方式。它的主要作用是将Java对象与数据库表之间进行映射&#xff0c;使开发者可以通过面向对象的方式操作数据库&#xff0c;而不需要编写大量的SQL语句。M…

反转链表II

江湖一笑浪滔滔&#xff0c;红尘尽忘了 题目 示例 思路 链表这部分的题&#xff0c;不少都离不开单链表的反转&#xff0c;参考&#xff1a;反转一个单链表 这道题加上哨兵位的话会简单很多&#xff0c;如果不加的话&#xff0c;还需要分情况一下&#xff0c;像是从头节点开始…