OpenWrt在VMWare中的安装与配置全攻略

张开发
2026/4/15 20:43:18 15 分钟阅读

分享文章

OpenWrt在VMWare中的安装与配置全攻略
1. 为什么要在VMWare中运行OpenWrt很多刚接触软路由的朋友可能都会有这个疑问为什么要在虚拟机里折腾OpenWrt直接买个路由器刷机不香吗其实这里面大有讲究。我最早接触OpenWrt就是在VMWare里当时纯粹是为了测试一些网络功能没想到这个组合用起来特别顺手后来就成了我的主力开发环境。首先VMWare环境最大的优势就是安全隔离。你在虚拟机上随便折腾搞崩了也就是重启一下的事完全不会影响主机的正常工作。这对于想要学习OpenWrt但又担心把家里网络搞砸的新手来说特别友好。其次测试效率高你可以同时运行多个OpenWrt实例模拟复杂的网络拓扑这在物理设备上几乎不可能实现。我最近帮一个朋友搭建家庭实验室就用VMWareOpenWrt的组合实现了智能家居设备隔离、广告过滤、流量监控等多个功能整个过程完全在虚拟机里完成既方便又安全。下面我就把这几年的实战经验整理出来手把手教你从零开始搭建这个环境。2. 准备工作镜像下载与格式转换2.1 选择合适的OpenWrt镜像打开OpenWrt官网的下载页面新手很容易被各种版本搞晕。这里我建议直接选择稳定版目前最新是23.05.0而不是开发版Snapshot。稳定版经过充分测试bug少适合大多数场景。具体下载路径是这样的https://downloads.openwrt.org/releases/23.05.0/targets/x86/64/openwrt-23.05.0-x86-64-generic-ext4-combined.img.gz这个镜像包含了ext4文件系统和所有基础组件体积适中约20MB压缩包解压后约100MB。如果你需要更小的镜像可以选择squashfs版本但功能会有所精简。2.2 镜像格式转换实战下载的.img文件不能直接用于VMWare需要转换成.vmdk格式。这里推荐使用QEMU工具比StarWind等转换工具更稳定。我测试过多个版本发现2023年12月的这个版本兼容性最好https://qemu.weilnetz.de/w64/qemu-w64-setup-20231208.exe安装完成后打开命令提示符记得用管理员权限进入QEMU安装目录执行.\qemu-img.exe convert -O vmdk openwrt-23.05.0-x86-64-generic-ext4-combined.img openwrt.vmdk转换过程大概需要10-30秒取决于你的硬盘速度。这里有个小技巧如果转换时提示权限不足可以先把.img文件复制到QEMU的安装目录下再操作。3. 创建和配置VMWare虚拟机3.1 新建虚拟机关键参数设置打开VMWare Workstation我用的17版选择创建新的虚拟机这里有几个关键设置容易踩坑客户机操作系统选Linux - 其他Linux 5.x或更高版本内核64位磁盘选择使用现有虚拟磁盘指向刚才转换的openwrt.vmdk内存建议分配512MB-1GB实测256MB也能跑但可能卡顿CPU核心1-2个足够多核对路由性能提升有限特别注意不要勾选立即分配所有磁盘空间否则会创建一个和.img文件大小相同的磁盘完全没必要。3.2 网络配置的坑与解决方案网络设置是最容易出问题的地方。根据我的经验桥接模式Bridged是最稳妥的选择它会让OpenWrt获得和物理机同网段的IP地址就像真实路由器一样工作。但有时候你会发现虚拟机无法联网大概率是Windows的虚拟交换机在作怪。解决方法打开网络连接设置找到vEthernet (Default Switch)右键禁用这个适配器重启VMWare网络服务如果还是不行可以尝试在OpenWrt启动后在控制台执行ifconfig eth0 up udhcpc -i eth0这相当于手动启用网卡和获取IP地址。4. OpenWrt初始配置指南4.1 首次登录与密码设置虚拟机启动后你会看到命令行界面。等系统完全启动约1-2分钟在本机浏览器输入http://192.168.1.1如果打不开先检查本机IP是否在192.168.1.x网段x≠1比如可以设置为192.168.1.2。首次登录会提示设置密码这里建议设置一个强密码因为后续SSH和Web管理都会用到。设置完成后建议立即备份配置文件sysupgrade -b /tmp/backup.tar.gz这个备份包含了所有当前设置重装系统时可以快速恢复。4.2 基础网络配置实战进入网络 - 接口页面修改LAN口设置协议静态地址IP地址建议改成非192.168.1.1的网段比如192.168.10.1避免和光猫冲突子网掩码255.255.255.0DHCP服务建议开启范围可以设成192.168.10.100-192.168.10.200配置完成后记得点击保存并应用。这时候你可能需要把本机IP改到新网段才能重新登录。我建议先用ping测试ping 192.168.10.1通了再改IP避免把自己锁在外面。5. 常见问题排查与性能优化5.1 网络不通的五大原因根据我处理过的案例90%的网络问题都是以下原因防火墙未放行检查网络 - 防火墙的默认规则物理机虚拟网卡冲突禁用不必要的虚拟适配器IP地址冲突确保OpenWrt的IP不与其他设备冲突桥接模式选错网卡在多网卡环境要选择正确的物理网卡VMWare服务异常重启VMnetDHCP和NAT服务5.2 性能优化技巧虚拟机跑OpenWrt虽然方便但性能肯定不如物理机。经过多次测试我总结出几个提升性能的方法启用硬件加速在VMWare设置中勾选虚拟化Intel VT-x/EPT调整磁盘模式将磁盘控制器改为SATAAHCI模式关闭图形界面在.vmx配置文件中添加gui.exitOnCLIHLT TRUE限制日志大小修改/etc/systemd/journald.conf设置SystemMaxUse16M6. 进阶应用场景6.1 搭建开发测试环境我经常用这个组合来测试新功能。比如最近在开发一个流量监控插件就在VMWare里克隆了三个OpenWrt实例一个模拟家庭主路由一个模拟旁路由一个模拟远程节点通过虚拟网络连接它们可以完整模拟真实网络环境又不会影响正常工作。克隆虚拟机时要注意先完全关闭源虚拟机在VMWare中右键选择管理 - 克隆一定要选创建完整克隆启动前修改克隆机的MAC地址6.2 与Docker容器联动在物理机上运行Docker让OpenWrt虚拟机作为网关可以实现更灵活的网络架构。具体步骤在Docker网络设置中指定自定义网关指向OpenWrt的IP在OpenWrt中开启IP转发echo net.ipv4.ip_forward1 /etc/sysctl.conf sysctl -p配置iptables规则实现流量转发这种架构特别适合做微服务测试每个服务跑在独立容器里通过OpenWrt实现精细化的流量控制。

更多文章