01 基础篇-虚拟机网络配置

概述

大学期间,无论是智能车比赛还是物联网方面的比赛,往往都需要使用虚拟机。

无论是用虚拟机操控小车,或者与开发板进行通信,都需要设置虚拟机的网络,网上的教程有很多,我们可以一步一步的跟着教程做。

可是如果做到最后,遇到网络无法正常通信的时候,就会常常搞不定。我学习了虚拟机网络配置4 种模式的相关基础知识,整理如下,大约 3 分钟左右时间,了解一下不同配置之间的区别。

核心要点

精简版结论:如果没有特殊要求,直接设置为桥接网卡就好。

NAT

原理

虚拟机不直接接入物理局域网,而是通过 "主机的虚拟 NAT 设备" 访问外部网络,无法被外部设备直接访问。

适用场景

  1. 移动办公(笔记本常用):比如你在公司用 WiFi(网段 192.168.1.x),回家用网线(网段 192.168.0.x)------NAT 模式下,虚拟机的私有 IP 不会变,无需重新配置网络(桥接模式下每次换网络都要重新获取 IP,甚至可能冲突);
  2. 仅需虚拟机访问外网,无需外部访问虚拟机:比如用虚拟机做日常开发、浏览网页、安装软件,不需要别人访问你的虚拟机;
  3. 担心 IP 冲突:物理局域网 IP 资源紧张(如公司网络设备多),NAT 的私有 IP 不会占用物理网段资源。

桥接模式

原理

通过 "虚拟网桥" 技术,让虚拟机的虚拟网卡与主机的物理网卡 "共享带宽",虚拟机直接接入物理局域网,相当于一台 "真实的物理电脑",可以直接被外部设备访问。

适用场景

  1. 搭建局域网服务:比如在虚拟机中搭建 Web 服务器、数据库服务器,需要同一局域网的其他设备(如手机、测试机)访问;
  2. 多设备通信测试:比如测试 "虚拟机(服务器)与物理机(客户端)的通信""多台虚拟机之间的集群通信",需要设备在同一网段;
  3. 需要虚拟机有独立的网络身份:比如虚拟机需要被路由器分配固定 IP,或需要使用物理局域网的共享打印机、NAS 存储。

仅主机

原理

创建一个 "主机 + 所有同模式虚拟机" 的专属虚拟内网,主机通过 "虚拟网卡(如 VMware 的 VMnet1、VirtualBox 的 Host-Only Adapter)" 加入这个内网,成为内网的一员,实现 "主机↔虚拟机""虚拟机↔虚拟机" 的双向通信。

适用场景
  1. 主机向虚拟机传输数据 / 调试:比如主机编写代码后,传到虚拟机中运行(无需联网);或主机用调试工具(如远程桌面、SSH)连接虚拟机,调试虚拟机中的程序;
  2. 搭建 "主机 + 虚拟机" 的本地测试环境:比如主机作为 "客户端",虚拟机作为 "服务器",测试客户端与服务器的通信逻辑(如主机用浏览器访问虚拟机的本地 Web 服务),且不希望外部网络干扰;
  3. 需要主机管理虚拟机:比如主机通过脚本批量控制同仅主机模式下的多台虚拟机,或监控虚拟机状态。

内部网络

原理

应用

  1. 搭建 "纯虚拟机集群",隔绝主机干扰:比如测试分布式系统(如 3 台虚拟机组成 Hadoop 集群、区块链节点),只需要虚拟机之间通信,不需要主机参与,避免主机的网络活动(如下载、联网)影响集群稳定性;
  2. 安全隔离测试:比如测试病毒、恶意程序的传播(仅在虚拟机之间扩散),或测试网络攻击场景(如虚拟机 A 攻击虚拟机 B),完全隔绝主机,避免主机被感染;
  3. 模拟 "独立内网环境":比如模拟企业内部的员工电脑(多台虚拟机),仅允许内部通信,不允许连接外网或主机,还原真实的隔离办公场景。
相关推荐
寒士obj23 分钟前
SpringBoot中的条件注解
java·spring boot·后端
G探险者40 分钟前
循环中的阻塞风险与异步线程解法
后端
易元1 小时前
模式组合应用-桥接模式(二)
后端
三婶儿1 小时前
在没有客户端的客户环境下,如何用 Python 一键执行 MySQL 与达梦数据库 SQL
运维·后端·python
G探险者2 小时前
Java 线程相关的三个常见接口、类
后端
学历真的很重要2 小时前
Eino 开源框架全景解析 - 以“大模型应用的搭积木指南”方式理解(一)
后端·语言模型·面试·golang·ai编程·eino
1点东西2 小时前
新来的同事问我当进程/机器突然停止时,finally 到底会不会执行?
java·后端·程序员
AAA修煤气灶刘哥3 小时前
后端仔狂喜!手把手教你用 Java 拿捏华为云 IoTDA,设备上报数据 so easy
后端·物联网·华为
G探险者3 小时前
如何在批量创建 `DefaultMessageListenerContainer` 时避免阻塞问题
后端
我崽不熬夜3 小时前
List、Set、Map,你真的会选用吗?
java·后端·java ee