标签: 虚拟机

  • 端口转发及使用场景

    端口转发及使用场景

    我在WINDOWS10的安装了VM虚拟机,虚拟机通过NAT网络模式里又装了一个WIN10系统,在虚拟机的WIN10系统里又通过WSL2安装了一个UBUNTU子系统,安装VM虚拟机的IP为192.168.2.14,虚拟机里的WIN10系统的IP为192.168.60.30,虚拟机里WIN10的UBUNTU子系统IP为172.21.229.20。然后我在UBUNTU子系统里安装了一些服务,我要怎么通过同局域网的手机访问到UBUNTU子系统上的服务?

    端口转发及使用场景

    要实现手机访问嵌套在VM虚拟机内WSL2 Ubuntu子系统的服务,需配置三层端口转发和防火墙规则。

    整体路径为:‌手机 → 物理机 → VM虚拟机Win10 → WSL2 Ubuntu‌。以下是具体步骤:


    🔧 一、配置WSL2到虚拟机Win10的端口转发

    在‌虚拟机内的Win10系统‌中操作:

    1. 以管理员身份打开PowerShell
    2. ‌执行端口转发命令 ‌(以Ubuntu服务端口80为例):
       powershell
       netsh interface portproxy add v4tov4 listenport=8080 listenaddress=0.0.0.0 connectport=80 connectaddress=172.21.229.20
    • 8080:虚拟机Win10的监听端口
    • 80:Ubuntu服务的实际端口(按需替换)
    1. ##### ‌开放防火墙端口‌:
    • 进入高级安全Windows防火墙 → 入站规则 → 新建规则 → 端口
    • 允许TCP协议,端口填写8080(与转发端口一致)

    ⚙️ 二、配置物理机到VM虚拟机的端口转发

    在‌物理机(192.168.2.14)‌ 中操作:

    1. ##### ‌打开VMware虚拟网络编辑器‌:
    • 选择VMnet8(NAT模式)→ NAT设置 → 添加端口转发
    1. ‌添加转发规则‌: 字段 值 主机端口 9090(物理机端口) 虚拟机IP地址 192.168.60.30(虚拟机Win10的IP) 虚拟机端口 8080(上一步设置的端口)

    🔒 三、配置物理机防火墙

    在物理机中开放端口:

    • 允许物理机的9090端口(与VMware转发端口一致),方法同步骤一.

    📱 四、手机访问服务

    手机通过浏览器或工具访问:

    http://192.168.2.14:9090  # 物理机IP + 端口
    • 192.168.2.14:物理机IP(宿主机)
    • 9090:物理机映射端口

    ⚠️ 注意事项

    1. ##### ‌IP变动问题‌:
    • WSL2的IP(172.21.229.20)重启后会变化,需在虚拟机Win10中定时更新转发命令(可通过开机脚本自动获取WSL2 IP并重置转发)4。
    1. ##### ‌多层端口一致性‌:
    • 物理机端口(9090)→ 虚拟机端口(8080)→ Ubuntu服务端口(如80)需逐层对应。
    1. ##### ‌服务协议支持‌:
    • 若服务使用UDP(如游戏服务),需在防火墙规则中切换协议类型。
    最终路径:手机 → 物理机IP:9090虚拟机IP:8080WSL2 IP:服务端口
    若连接失败,逐层检查端口转发规则和防火墙状态。

    Windows 系统

    端口转发命令‌(管理员权限运行):

    cmd
    netsh interface portproxy add v4tov4 listenport=<外部端口> listenaddress=0.0.0.0 connectport=<内部端口> connectaddress=<内部IP>
    
    如虚拟机内WSL2的UBUNTU子系统IP为172.21.229.160内部服务端口为22,我要通过WIN10虚拟机的监听的端口为22222,
    
    示例
    netsh interface portproxy add v4tov4 listenport=22222 listenaddress=0.0.0.0 connectport=22 connectaddress=172.21.229.160
    或者最妥当的是
    netsh interface portproxy add v4tov4 listenport=22222 listenaddress=0.0.0.0 connectport=22 connectaddress=127.0.0.1

    示例:将本机8080端口转发到内网服务器 192.168.1.100:80:

    cmd
    netsh interface portproxy add v4tov4 listenport=8080 listenaddress=0.0.0.0 connectport=80 connectaddress=192.168.1.100

    查看端口转发规则‌:

    cmd
    netsh interface portproxy show all

    删除端口转发规则‌:

    cmd
    netsh interface portproxy delete v4tov4 listenaddress=<监听地址> listenport=<监听端口>
    
    示例:
    netsh interface portproxy delete v4tov4 listenport=8080 listenaddress=0.0.0.0
  • 1.7K !!! WinBoat虚拟化, Linux玩Windows游戏

    1.7K !!! WinBoat虚拟化, Linux玩Windows游戏

    你是否在 Linux 上苦恼无法流畅使用 Windows 应用?

    1.7K !!! WinBoat虚拟化, Linux玩Windows游戏

    无论是办公软件、游戏,还是某些特定的专业工具,切换系统或者虚拟机都让人抓狂。别担心,现在有一个开源神器可以让你轻松解决这个问题!WinBoat,一个在 Linux 上无缝运行 Windows 应用的开源项目,真的绝了!无论你是开发者还是普通用户,都值得尝试!

    WinBoat 是什么?

    1.7K !!! WinBoat虚拟化, Linux玩Windows游戏

    WinBoat 是一款开源工具,专为在 Linux 系统上无缝运行 Windows 应用而设计。无需复杂配置,它通过容器技术和远程桌面技术,让 Windows 应用直接“变身”成 Linux 原生窗口,真的省心又高效!

    例如,你可以直接运行 Office、Adobe 系列软件,甚至玩 Windows 游戏,告别虚拟机那种繁琐的体验,同时保持流畅连接和系统资源优化。简单来说,WinBoat 就是 Windows 和 Linux 的“和平桥梁”。

    开源成就

    • Star数:GitHub 上已经吸引了 1.7k 星
      1.7K !!! WinBoat虚拟化, Linux玩Windows游戏
    • 主开发语言:用现代技术栈驱动,主要语言包括:
      • TypeScript(35.4%)
      • Vue.js(34.7%)
      • PowerShellGo 等。

    核心功能

    1.7K !!! WinBoat虚拟化, Linux玩Windows游戏

    • 优雅界面
      WinBoat 的界面清爽直观,一切都像运行原生 Linux 应用一般自然,提升了用户体验。
    • 1.7K !!! WinBoat虚拟化, Linux玩Windows游戏
    • 自动化部署
      智能化的安装流程,根据你的需求完成配置,避免繁琐的手动安装步骤。
    • 支持所有 Windows 应用
      不论是办公软件还是高端设计工具,甚至游戏,只要能跑在 Windows 上,就能在 Linux 上通过 WinBoat 流畅运行。
    • 1.7K !!! WinBoat虚拟化, Linux玩Windows游戏
    • 完整的 Windows 桌面体验
      在需要时,切换到完整的 Windows 桌面环境,轻松搞定 Windows 专属任务。
    • 1.7K !!! WinBoat虚拟化, Linux玩Windows游戏
    • 文件系统集成
      在 Linux 与 Windows 之间共享文件零障碍,家目录直接挂载到 Windows。
    • 1.7K !!! WinBoat虚拟化, Linux玩Windows游戏
    • 其他功能
      包括资源监控、智能卡直通、音频支持等,让 Linux 桌面的 Windows 应用拥有沉浸式表现。

    安装指南

    • 1.系统需求
      • 至少 4GB RAM
      • 开启 KVM 虚拟化支持。
      • 需安装 DockerDocker Compose v2FreeRDP
    • 2.安装步骤
      • 克隆仓库:
      git clone https://github.com/TibixDev/WinBoat
      cd WinBoat
      • 安装依赖:
      npm install
      • 构建应用:
      npm run build:linux-gs
      • 启动 WinBoat:
      ./dist/linux-unpacked/winboat
    • 3.调试模式(开发者专用):
      npm run dev
    • 4.下载现成的构建版本
      • 去[Releases]页面下载最新版 AppImage,直接运行即可。
      • 1.7K !!! WinBoat虚拟化, Linux玩Windows游戏

    WinBoat 真的非常适合那些既需要使用 Linux,又离不开 Windows 应用的朋友。这款工具不仅让你高效解决工作难题,还大幅简化了环境配置和切换流程。如果你对开源感兴趣,WinBoat 也提供了极高的修改和定制自由度。

    开源地址https://github.com/TibixDev/WinBoat