虚拟机使用教程大全(二)

简介: 教程来源 https://oplhc.cn/ 虚拟机网络模式深度解析:NAT(共享上网)、桥接(独立局域网身份)、仅主机(宿主隔离通信)、内部网络(纯虚拟机互通)及VMware自定义模式,涵盖原理、配置、端口转发与高级应用,助你精准构建安全高效实验环境。

四. 虚拟机网络模式深度解析与配置

网络是虚拟机最复杂的子系统之一。掌握每种模式的原理和适用场景,才能随心所欲地搭建实验环境。

4.1 NAT 模式(网络地址转换)
工作原理:宿主机充当虚拟路由器,虚拟机通过虚拟 NAT 设备访问外网,但外网无法直接访问虚拟机。所有虚拟机共享宿主机 IP。

常用场景:普通上网、无需对外提供服务的学习环境。

配置要点:

VMware:默认网络模式,无需额外设置。

VirtualBox:默认 NAT,可通过“端口转发”暴露服务。

KVM:默认 default 网络就是 NAT 模式。

查看 NAT 网络参数(VirtualBox):

VBoxManage showvminfo "vm-name" | grep "NIC"

4.2 桥接模式(Bridge)
工作原理:虚拟机的虚拟网卡直接连接到宿主机物理网卡上,仿佛一台独立机器存在于局域网中,可以获取路由器分配的 IP,也能被局域网其他设备访问。

常见问题:

如果宿主机使用 WiFi,某些路由器会禁止桥接模式下的二层通信,导致虚拟机无法获取 IP。此时可改用 NAT 或仅主机模式。

在公司网络中,桥接模式可能违反网络安全策略,谨慎使用。

配置方法(VirtualBox):

设置 → 网络 → 网卡1 → 连接方式:桥接网卡 → 名称:选择宿主机正在使用的物理网卡(如 Intel 以太网或 WiFi 网卡)。

4.3 仅主机模式(Host‑Only)
工作原理:创建一个仅存在于宿主机内部的虚拟网络,所有仅主机模式的虚拟机可以相互通信,也可以与宿主机通信,但无法访问外网。

常用场景:搭建隔离的测试环境,如恶意软件分析、内部集群实验。

在仅主机模式中开启 NAT 上网(让虚拟机既能相互通信又能上网):

在宿主机上开启 Internet 连接共享(ICS),或者创建一个虚拟 NAT 网关。

配置静态 IP 示例(仅主机网络通常使用 192.168.56.0/24 网段):

# 在 Linux 虚拟机中修改 netplan
addresses: [192.168.56.101/24]
gateway4: 192.168.56.1   # 虚拟网卡的宿主机地址

4.4 内部网络(Internal Network,VirtualBox 特有)
工作原理:只允许同一内部网络的虚拟机之间通信,完全隔离宿主机和外网。

配置:设置 → 网络 → 高级 → 网络名称(如 intnet1),相同名称即属于同一内部网络。

4.5 VMware 的独特网络模式
Host‑only:对应仅主机模式。

NAT:标准 NAT,支持端口转发。

Custom (VMnet2~VMnet19):可自定义虚拟交换机,实现更复杂的拓扑。

五. 高级网络:端口转发、虚拟网卡桥接与 NAT 穿透

5.1 端口转发:从宿主机访问虚拟机内部服务
场景:在 NAT 模式下,从宿主机浏览器访问虚拟机里运行的 Web 服务(如端口 80)。

VMware 设置:

编辑 → 虚拟网络编辑器 → 选择 NAT 模式 → NAT 设置 → 添加端口转发。

或者编辑 .vmx 文件(虚拟机所在目录)添加:

nat.portForward = "80:192.168.xxx.xxx:80"

VirtualBox 设置:

设置 → 网络 → 高级 → 端口转发 → 添加规则:

名称:web

协议:TCP

主机 IP:留空(或 127.0.0.1)

主机端口:8080

虚拟机 IP:10.0.2.15(NAT 默认网关)

虚拟机端口:80

之后在宿主机访问 http://localhost:8080 即可。

KVM(libvirt)端口转发:编辑网络 XML:

virsh net-edit default

添加端口转发规则(需要自定义网络):

<forward mode='nat'>
  <nat>
    <port start='8080' end='8080'/>
  </nat>
</forward>

更简单的方法是使用 iptables 直接在宿主机添加规则(持久化稍麻烦):

sudo iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination 192.168.122.100:80

5.2 在虚拟机中运行 VPN 网关
用途:让所有通过虚拟机的流量走 VPN,而宿主机正常上网。

方案:虚拟机配置为仅主机模式 + NAT,虚拟机内安装 VPN 客户端,宿主机设置默认网关为虚拟机的 IP。

5.3 虚拟网卡的高级用法
为虚拟机添加第二块网卡(常用于双网卡网关、防火墙实验):

VMware:虚拟机设置 → 添加 → 网络适配器 → 选择网络模式(如桥接)。

VirtualBox:设置 → 网络 → 启用网卡2。

KVM:
virsh attach-interface --domain vm-name --type network --source default --model virtio --persistent

6. 共享文件夹与剪贴板:无缝数据交换

6.1 VMware 共享文件夹
宿主机是 Windows:

虚拟机设置 → 选项 → 共享文件夹 → 总是启用 → 添加宿主机目录(如 D:\share)。

在 Linux 客户机中挂载:

sudo vmhgfs-fuse .host:/share /mnt/share -o allow_other -o uid=1000

若希望开机自动挂载,在 /etc/fstab 添加:

.host:/share /mnt/share fuse.vmhgfs-fuse defaults,allow_other 0 0

6.2 VirtualBox 共享文件夹
设备 → 共享文件夹 → 固定分配 → 添加宿主机路径。

在 Windows 客户机中,共享文件夹会出现在“网络” → “VBOXSVR” 下。

在 Linux 客户机中挂载:

sudo mount -t vboxsf share_name /mnt/share

自动挂载(/etc/fstab):

share_name /mnt/share vboxsf defaults 0 0

需要确保 vboxsf 模块已加载:sudo modprobe vboxsf。
6.3 使用 NFS / Samba 实现更灵活的共享(跨平台)
当增强工具的共享文件夹不稳定时,可以使用传统网络共享。

在 Linux 宿主机上搭建 NFS 服务器(示例):

sudo apt install nfs-kernel-server
echo "/home/user/shared 192.168.56.0/24(rw,sync,no_subtree_check)" | sudo tee -a /etc/exports
sudo exportfs -a

在虚拟机中挂载:sudo mount -t nfs 192.168.56.1:/home/user/shared /mnt/nfs

6.4 剪贴板共享配置
image.png
来源:
https://hllft.cn/

相关文章
|
7天前
|
人工智能 自然语言处理 文字识别
阿里云百炼Qwen3.7-Max简介:能力、优势、支持订阅计划参考
Qwen3.7-Max是阿里云百炼面向智能体时代推出的新一代旗舰模型,对标GPT-5.5、Claude Opus 4.7等闭源旗舰。该模型支持百万级token上下文窗口,具备顶级推理能力、多模态搜索与视觉理解增强、流式输出低延迟响应等核心优势,覆盖编程、办公、长周期自主执行等复杂场景。同时支持OpenAI接口兼容,便于系统快速迁移。用户可通过Token Plan团队或节省计划等订阅方式灵活调用,适合企业级高要求场景使用。
3482 15
阿里云百炼Qwen3.7-Max简介:能力、优势、支持订阅计划参考
|
15天前
|
人工智能 开发工具 iOS开发
Claude Code 新手完全上手指南:安装、国产模型配置与常用命令全解
Claude Code 是一款运行在终端环境中的 AI 编程助手,能够直接在命令行中完成代码生成、项目分析、文件修改、命令执行、Git 管理等开发全流程工作。它最大的特点是**任务驱动、终端原生、轻量高效、多模型兼容**,无需图形界面、不依赖 IDE 插件,能够深度融入开发者日常工作流。
3566 12
|
9天前
|
人工智能 自然语言处理 供应链
|
18天前
|
Shell API 开发工具
Claude Code 快速上手指南(新手友好版)
AI编程工具卷疯啦!Claude Code凭借任务驱动+终端原生的特性,成了开发者的效率搭子。本文从安装、登录、切换国产模型到常用命令,手把手带新手快速上手,全程避坑,30分钟独立用起来。
3685 25
|
11天前
|
人工智能 Linux BI
国内用 Claude Code 终于不用翻墙了:一行命令搞定,自动接 DeepSeek
JeecgBoot AI专题研究 一键脚本:Claude Code + JeecgBoot Skills + DeepSeek 全平台接入 一行命令装好 Claude Code + JeecgBoot Skills + DeepSeek 接入,无需翻墙使用 Claude Code,支持 Wind
2921 7
国内用 Claude Code 终于不用翻墙了:一行命令搞定,自动接 DeepSeek
|
9天前
|
人工智能 自然语言处理 安全
Claude Code 全攻略:命令大全+三种模式+记忆体系+实战工作流完整手册
Claude Code 是当前最流行的终端级 AI 编程助手,能够直接在命令行中完成代码生成、项目理解、文件修改、命令执行、错误修复等全流程开发工作。它不依赖图形界面、不占用额外资源,却能深度理解项目结构,自动生成规范代码,大幅提升研发效率。
1424 3
|
1月前
|
人工智能 JSON 供应链
畅用7个月无影 JVS Claw |手把手教你把JVS改造成「科研与产业地理情报可视化大师」
LucianaiB分享零成本畅用JVS Claw教程(学生认证享7个月使用权),并开源GeoMind项目——将JVS改造为科研与产业地理情报可视化AI助手,支持飞书文档解析、地理编码与腾讯地图可视化,助力产业关系图谱构建。
23621 15
畅用7个月无影 JVS Claw |手把手教你把JVS改造成「科研与产业地理情报可视化大师」
|
16天前
|
存储 Linux iOS开发
【2026最新】MarkText中文版Markdown编辑器使用图解(附安装包)
MarkText是一款免费开源、跨平台的Markdown编辑器,主打所见即所得实时预览,支持Windows/macOS/Linux。内置数学公式、流程图、代码高亮、多主题及PDF/HTML导出,是Typora的轻量免费替代首选。(239字)