ESXi部署OpenWrt通常适合家庭软路由、实验室网络、旁路由以及虚拟化环境中的网络管理场景。合理规划虚拟交换机、网卡直通和WAN/LAN网络后,可以让OpenWrt稳定承担拨号、DHCP、DNS、NAT、防火墙等功能。
一、部署前的网络规划
开始安装之前,建议先明确ESXi主机的物理网卡数量以及OpenWrt承担的网络角色。
比较常见的方案有两种:
| 方案 | WAN | LAN | 适用场景 |
|---|---|---|---|
| 双网卡 | 独立物理网卡 | 独立物理网卡 | 家庭软路由、稳定性要求较高 |
| 单网卡VLAN | VLAN划分WAN/LAN | VLAN划分 | 交换机支持VLAN、网卡数量有限 |
如果ESXi服务器至少有两张物理网卡,建议将一张用于WAN,另一张用于LAN。这样网络结构更加直观,也减少VLAN配置错误导致整个局域网中断的概率。
例如:
光猫 │ │ WAN ▼ ESXi物理网卡 vmnic0 │ ▼ OpenWrt虚拟机 │ │ LAN ▼ ESXi物理网卡 vmnic1 │ ▼ 交换机 │ ├── PC ├── 手机 └── 其他设备
如果使用旁路由,则不一定需要独立WAN网卡。OpenWrt可以只连接LAN网络,由主路由负责上网,OpenWrt负责DNS、透明代理、广告过滤等功能。
二、准备OpenWrt镜像
ESXi安装OpenWrt时,需要准备适合虚拟机使用的镜像格式。
常见方式包括使用OpenWrt官方发布的x86-64镜像,然后根据ESXi环境转换为虚拟磁盘格式。
OpenWrt针对x86平台通常会提供类似以下类型的镜像:
generic-ext4-combined.img.gz generic-squashfs-combined.img.gz
其中,combined镜像通常包含适合完整系统启动的分区布局。
家庭软路由场景下,可以根据后续是否需要修改系统文件、安装大量插件等需求选择合适的文件系统。对于以稳定运行和系统回滚为主的场景,SquashFS方案比较常见;如果希望更直接地修改文件系统,则可以考虑Ext4方案。
下载镜像后先解压:
Bashgunzip openwrt-x86-64-*.img.gz
最终得到:
openwrt-x86-64-*.img
如果下载的是其他格式,也可以使用相应转换工具处理。
三、将OpenWrt磁盘导入ESXi
ESXi使用VMFS存储虚拟机磁盘,因此需要把OpenWrt镜像转换或者上传到ESXi数据存储。
如果使用Linux环境,可以借助qemu-img转换磁盘:
Bashqemu-img convert -f raw -O vmdk openwrt.img openwrt.vmdk
转换完成后,可以通过ESXi数据存储浏览器上传vmdk文件。
也可以先创建一个空白虚拟机,再将转换后的虚拟磁盘添加到该虚拟机中。
需要注意的是,不同版本ESXi对于虚拟磁盘控制器、VMDK描述文件以及磁盘导入方式存在差异。如果直接上传VMDK后无法启动,优先检查VMDK是否完整,以及虚拟机的磁盘控制器是否与当前镜像兼容。
四、创建OpenWrt虚拟机
登录ESXi管理界面,创建新的虚拟机。
操作过程中可以按照以下思路进行配置:
名称:OpenWrt 兼容性:根据ESXi版本选择 客户机操作系统:Linux CPU:2 vCPU 内存:512MB~2GB 硬盘:8GB~32GB 网络适配器:2个或更多
OpenWrt本身资源占用并不高。如果只是拨号、NAT、DHCP和基础DNS服务,通常不需要分配大量内存。
如果需要安装较多软件包,例如代理、Docker相关组件、监控服务等,可以适当增加内存和磁盘容量。
CPU方面,双核心通常已经能够满足普通家庭网络需求。
五、添加WAN和LAN虚拟网卡
这是ESXi部署OpenWrt过程中最关键的步骤之一。
假设ESXi中已经建立两个标准虚拟交换机:
vSwitch-WAN vSwitch-LAN
创建OpenWrt虚拟机后添加两张网卡:
网卡1 → vSwitch-WAN 网卡2 → vSwitch-LAN
OpenWrt启动后可能将这两张网卡识别成:
eth0 eth1
但不要仅凭网卡名称判断WAN和LAN。
不同镜像、驱动或者网卡添加顺序可能导致设备名称发生变化。因此首次配置时应该结合MAC地址进行确认。
例如:
Baship link
或者:
Baship addr
查看各接口的MAC地址,再与ESXi虚拟机硬件设置中的MAC地址进行对应。
六、处理ESXi虚拟交换机配置
如果OpenWrt作为真正的主路由使用,WAN虚拟交换机通常连接光猫或上级网络,LAN虚拟交换机连接家庭交换机。
如果物理网卡直接承担WAN网络,需要特别注意ESXi管理网络不要与WAN网络混在一起。
一个比较清晰的结构是:
vmnic0 └── vSwitch-WAN └── OpenWrt WAN vmnic1 └── vSwitch-LAN ├── OpenWrt LAN ├── ESXi管理网络 └── 其他虚拟机
不过,ESXi管理网络是否放在OpenWrt LAN侧,需要根据实际网络架构决定。
如果OpenWrt出现故障,ESXi管理网络最好仍然具备可靠的维护路径,避免因为OpenWrt停止运行而无法登录ESXi。
七、启动OpenWrt并检查网卡
完成虚拟机配置后启动OpenWrt。
进入控制台:
Baship addr
检查网卡是否正常识别。
也可以查看默认路由:
Baship route
以及DNS配置:
Bashcat /etc/resolv.conf
如果使用OpenWrt新版系统,网络配置主要位于:
/etc/config/network
可以直接查看:
Bashcat /etc/config/network
正常情况下,可以看到LAN接口、WAN接口以及相应协议配置。
八、配置OpenWrt LAN地址
假设家庭局域网采用:
192.168.10.0/24
可以将OpenWrt LAN地址设置为:
192.168.10.1
配置文件示例:
config interface 'lan' option device 'br-lan' option proto 'static' option ipaddr '192.168.10.1' option netmask '255.255.255.0'
修改后重启网络:
Bash/etc/init.d/network restart
也可以直接重启OpenWrt:
Bashreboot
之后使用浏览器访问:
http://192.168.10.1
即可进入LuCI管理界面。
九、配置WAN网络
WAN具体采用什么协议,取决于上级网络。
常见方式包括:
-
DHCP自动获取IP
-
PPPoE拨号
-
静态IP
-
VLAN拨号
-
桥接网络
家庭宽带如果要求账号密码拨号,通常使用PPPoE。
OpenWrt配置示例:
config interface 'wan' option device 'eth0' option proto 'pppoe' option username '宽带账号' option password '宽带密码'
配置完成后,可以在OpenWrt中检查WAN状态。
命令行可以执行:
Bashifstatus wan
如果已经获得公网IP或者上级网络分配的地址,说明WAN接口基本正常。
十、设置DHCP服务
如果OpenWrt负责家庭局域网的地址分配,可以开启DHCP。
例如:
LAN地址:192.168.10.1 DHCP范围:192.168.10.100~192.168.10.200
终端设备连接LAN后,可以自动获得:
IP:192.168.10.x 网关:192.168.10.1 DNS:192.168.10.1
如果原本网络中已经存在其他DHCP服务器,则不要让多个设备同时向同一局域网提供DHCP,否则容易出现IP冲突、网关错误等问题。
十一、配置NAT和防火墙
OpenWrt作为主路由时,一般由防火墙完成WAN与LAN之间的访问控制,同时通过NAT让多个局域网设备共享WAN连接。
可以检查防火墙状态:
Bash/etc/init.d/firewall status
对于标准OpenWrt默认配置,LAN通常允许访问WAN,而WAN侧不会直接允许访问LAN内部设备。
如果修改了防火墙区域,建议重点检查:
LAN → WAN WAN → LAN 端口转发 流量转发 入站规则
尤其不要为了测试网络而长期关闭防火墙。
十二、ESXi中使用VLAN部署OpenWrt
如果只有一张物理网卡,也可以借助VLAN实现WAN和LAN隔离。
例如:
VLAN 10 → WAN VLAN 20 → LAN
交换机对应端口需要配置Trunk,并允许相关VLAN通过。
ESXi中的虚拟交换机、端口组也需要与VLAN规划保持一致。
例如:
Port Group WAN → VLAN 10 Port Group LAN → VLAN 20
OpenWrt虚拟机连接对应Port Group后,再在系统内部完成相应网络配置。
如果采用VLAN方案,一定要从交换机、ESXi Port Group、OpenWrt三个层面逐级检查。任何一层VLAN配置错误,都可能导致网卡看起来正常,但实际无法通信。
十三、是否需要开启混杂模式
很多人在ESXi部署OpenWrt时会遇到“需要不要开启混杂模式”的问题。
普通双网卡路由场景下,通常不应该为了让OpenWrt正常转发数据而盲目开启:
Promiscuous Mode Forged Transmits MAC Address Changes
这些安全策略是否需要调整,取决于具体网络拓扑。
如果只是:
WAN网卡 → OpenWrt → LAN网卡
属于常规虚拟路由结构,一般不需要依赖混杂模式才能完成基本路由。
如果使用桥接、特殊二层转发、某些虚拟交换网络或者需要多个MAC地址经过同一虚拟交换机,则可能涉及相关设置。
因此应该先确认实际需求,再针对性修改,不建议直接将所有安全选项设置为Accept。
十四、检查OpenWrt是否能够正常上网
完成WAN、LAN和DHCP配置后,可以依次测试。
首先测试OpenWrt自身:
Bashping 192.168.10.1
再测试上级网关:
Bashping 上级网关IP
测试公网IP:
Bashping 223.5.5.5
最后测试域名解析:
Bashping www.baidu.com
如果能够Ping公网IP,但域名无法访问,通常需要检查DNS。
如果OpenWrt本身可以访问互联网,但LAN客户端不能上网,则重点检查:
LAN接口 DHCP 默认网关 NAT 防火墙 DNS
十五、ESXi部署OpenWrt常见故障排查
1. OpenWrt启动后无法进入系统
首先检查虚拟磁盘是否正确挂载。
重点确认:
虚拟磁盘是否存在 磁盘控制器是否兼容 启动顺序是否正确 镜像是否完整 虚拟机固件模式是否匹配
如果导入的VMDK存在问题,可以重新转换镜像。
2. OpenWrt只能看到一张网卡
检查ESXi虚拟机硬件设置,确认已经添加多张虚拟网卡。
然后在OpenWrt执行:
Baship link
如果ESXi显示两张网卡,而OpenWrt只有一张,需要进一步检查虚拟网卡类型和系统驱动。
常见虚拟网卡可以使用VMXNET3等ESXi支持的设备类型,但具体兼容性需要结合OpenWrt镜像版本进行确认。
3. WAN可以访问,LAN无法上网
首先检查LAN客户端是否获得正确地址:
IP:192.168.10.x 网关:192.168.10.1 DNS:192.168.10.1
如果客户端根本没有IP,优先检查DHCP和LAN网卡。
如果客户端可以访问:
192.168.10.1
但无法访问公网,则继续检查WAN、NAT和防火墙。
4. ESXi管理界面无法访问
如果ESXi管理网络经过OpenWrt,一旦OpenWrt关闭,ESXi可能同时失去管理连接。
更稳妥的设计是提前规划独立管理路径,例如:
管理网络 │ ├── ESXi └── 管理终端 业务网络 │ └── OpenWrt
对于长期运行的服务器环境,建议不要让关键的ESXi管理入口完全依赖一台普通软路由虚拟机。
十六、OpenWrt虚拟机资源怎么分配
普通家庭环境不需要给OpenWrt分配过高的资源。
一个常见起点可以是:
CPU:2 vCPU 内存:1GB 磁盘:8GB~16GB 网卡:2个
如果只是进行PPPoE、NAT、DHCP和DNS服务,这类配置通常已经比较充足。
如果安装大量插件或者运行额外服务,可以根据实际CPU、内存和存储使用情况逐步增加资源。
资源分配并不是越高越好。尤其是CPU数量增加后,并不意味着网络性能一定同步提升,应该结合实际流量、软中断、插件负载等指标进行调整。
十七、部署完成后的优化建议
OpenWrt运行稳定后,可以进一步完善网络环境。
首先是固定管理地址,例如:
OpenWrt:192.168.10.1 ESXi:192.168.10.2 交换机:192.168.10.3
其次可以根据家庭设备数量合理设置DHCP地址池,避免地址范围过大。
对于需要远程管理的环境,应重点做好防火墙和访问控制,尽量不要直接暴露OpenWrt管理后台。
如果OpenWrt承担核心网络功能,还应该考虑虚拟机自动启动。ESXi发生重启后,让OpenWrt优先启动,可以减少网络长时间中断。
同时建议定期备份OpenWrt配置:
Bashsysupgrade -b /tmp/openwrt-backup.tar.gz
将生成的备份文件保存到其他设备,而不要只放在OpenWrt虚拟磁盘中。
十八、ESXi虚拟机部署OpenWrt的完整流程
整个过程可以归纳为:
规划WAN/LAN网络 ↓ 准备OpenWrt x86-64镜像 ↓ 转换或上传虚拟磁盘 ↓ 创建ESXi虚拟机 ↓ 分配CPU、内存和磁盘 ↓ 添加WAN/LAN虚拟网卡 ↓ 配置vSwitch或VLAN ↓ 启动OpenWrt ↓ 确认网卡与MAC地址 ↓ 配置LAN ↓ 配置WAN ↓ 配置DHCP ↓ 检查NAT与防火墙 ↓ 测试OpenWrt联网 ↓ 测试LAN客户端 ↓ 备份配置并设置自动启动
其中最容易出问题的并不是OpenWrt安装本身,而是ESXi虚拟交换机、物理网卡、VLAN以及WAN/LAN接口之间的对应关系。部署时只要先把网络拓扑设计清楚,再逐层确认网卡和IP配置,排错难度会明显降低。
对于家庭主路由场景,双物理网卡方案更加直观;对于服务器网卡资源有限且交换机支持VLAN的环境,可以采用单网卡VLAN方案。无论采用哪一种方式,都建议先保留ESXi独立的管理路径,并做好OpenWrt配置备份,这样即使路由配置出现问题,也能够快速恢复虚拟化平台和网络服务。