JOURNAL / WORDS & IDEAS

OpenWrt 虚拟网络实验:拓扑与连通性排查

记录使用虚拟机与 OpenWrt 组织实验网络的拓扑、配置与排障过程。

阅读设置

🎯 核心目标

构建一个虚拟网络分段的内网环境,让目标虚拟机(Windows/Linux)无需安装任何代理软件,开机即处于“外面”网络环境。

🛠️ 准备工作

  1. 宿主机环境:VMware Workstation Pro/Player。
  2. 固件镜像:iStoreOS x86_64 EFI 版 (.img.gz 解压为 .img)。
  3. 转换工具:StarWind V2V Converter (将 .img 转为 VMware 用的 .vmdk)。

第一阶段:搭建 OpenWrt (iStoreOS) 网关

1. 创建虚拟机

  • 系统类型:Linux (Other Linux 5.x kernel 64-bit)。
  • 硬盘:删除默认硬盘,添加现有虚拟磁盘(选择转换好的 iStoreOS .vmdk 文件)。

2. 配置双网卡 (拓扑关键)

  • 网卡 1 (WAN口):
  • 模式:NAT 模式 (拨号/校园网环境必选)。
  • 状态:确保勾选“已连接”和“启动时连接”。
  • 网卡 2 (LAN口):
  • 模式:LAN 区段 (新建一个名为 Simulated-Net 的区段)。
  • 状态:确保勾选“已连接”和“启动时连接”。

3. 初始化 IP

  • 启动 OpenWrt,回车进入终端。
  • 修改配置:vi /etc/config/network
  • 将 config interface 'lan' 下的 IP 修改为 192.168.100.1 (防止与宿主机 IP 冲突)。
  • 保存并重启::wq -> reboot。

第二阶段:配置目标虚拟机 (客户机)

1. 网络连接

  • 将目标虚拟机的网卡设置为 LAN 区段 (Simulated-Net)。
  • 注意:此时它与宿主机断开,只连接到 OpenWrt。

2. IP 设置 (IPv4)

在目标虚拟机系统内(如 Windows)手动设置 IP,指向 OpenWrt:

  • IP 地址:192.168.100.5
  • 子网掩码:255.255.255.0
  • 默认网关:192.168.100.1 (关键!)
  • DNS 服务器:192.168.100.1 (关键!)

第三阶段:配置代理 (Passwall/OpenClash)

1. 安装与订阅

  • 用目标机浏览器访问 http://192.168.100.1 (默认密码 password)。
  • 安装 Passwall (通过 iStore 商店或拖拽 .run 离线包安装)。
  • 节点订阅:添加订阅链接 -> 保存并更新。

2. 开启代理 (点火)

  • 节点选择:
  • TCP 节点:选择 V2Ray/Trojan/Shadowsocks 等基础协议节点 (避免 Hysteria 等复杂协议导致 NAT 环境下握手失败)。
  • UDP 节点:与 TCP 相同。
  • DNS 模式 (防泄露核心):
  • 过滤模式:通过 UDP 请求 DNS (或 TCP)。
  • 远程 DNS:8.8.8.8 或 1.1.1.1。
  • 绝对不要选“本地 DNS”或“直连”。

🚨 常见避坑指南 (Troubleshooting)

  1. 连不上网/WAN 口断开:
  • 检查 VMware 设置里网卡 1 是否为 NAT 模式 且已勾选 “已连接”。
  • 在 iStoreOS 后台重启 WAN 接口。
  1. 开启代理就断网/超时:
  • 校准时间:iStoreOS 首页右下角 -> 系统 -> 同步浏览器时间 (部分情况 是因为这个)。
  • 更换节点:某些复杂协议在二次 NAT 下不稳定,换个普通的 VMess 节点试试。
  1. DNS 泄露 (查 IP 是国外,但 DNS 是国内):
  • 检查 Passwall 的 DNS 设置,确保走了代理。
  • 检查目标虚拟机的 DNS 是否手动填了 192.168.100.1。

✅ 最终验证标准

在目标虚拟机里访问 whoer.net 或 browserleaks.com/ip:

  1. IP:显示为国外 IP。
  2. DNS:显示为国外 DNS。
  3. WebRTC:不泄露真实本地局域网 IP。

虚拟机快照用于恢复实验状态,并不提供对恶意软件的可靠隔离保证。

相关链接

转换vmdk:https://www.starwindsoftware.com/starwind-v2v-converter#download passwall插件下载:https://github.com/AUK9527/Are-u-ok/raw/main/x86/all/PassWall_25.12.25_x86_64_all_sdk_22.03.7.run

iStoreOS 固件下载:https://fw.koolcenter.com/iStoreOS-22.03/x86_64_efi/

实验边界

虚拟交换机、共享文件夹、剪贴板、宿主机接口和管理网络都可能形成连接路径。本文不把该拓扑当作恶意软件沙箱;固件和第三方插件应核对来源、版本与维护状态。