使用 ESXi 搭建虚拟 OpenWrt 路由器系统

有时可能需要将路由器系统部署至 ESXi 虚拟化服务器中,以便进行集中维护和管理,本文介绍如何将 OpenWrt-Life 系统部署至 ESXi 虚拟化服务器中,以及常见的使用示例,各种注意事项等。

准备工作

1、下载所需的 OpenWrt-Life 系统镜像。

2、一台部署好 ESXi 虚拟化系统的服务器。

本示例中,使用一台 6网口的 x86 主机全新安装 ESXi 系统来进行演示操作。

为方便使用,已经通过键盘将 ESXi 的管理地址改为静态地址:192.168.8.100

电脑已手动配置同网段 IP 地址:192.168.8.11

注意:本示例中使用迷你 x86 主机安装 ESXi 系统仅供演示操作步骤,并不建议实际项目中使用此方案,因为迷你 x86 主机性能不足以支撑复杂的多虚拟机环境,应当使用高性能 x86 服务器安装 ESXi 系统投入生产环境。

规划网络拓扑

根据实际情况,规划好自己的网络拓扑,搞清楚各类设备如何连接,自己想要实现的功能等。

本文以典型的应用案例进行演示。

创建网卡直通

由上面的拓扑图可知,需要把物理网卡 eth1 改为直通模式,用于连接光猫,作为 OpenWrt-Life 路由器系统的 WAN 口使用。

注意:由于有些 x86 主机并未针对 ESXi 系统进行优化设计,导致 ESXi 系统识别出的物理网卡顺序,无法与主机上的物理标签所对应,所以需要先人工验证网卡的实际对应关系。

1、登录 ESXi 的控制台,打开“网络”-“物理网卡”选项卡,将需要使用的 eth1 网卡连接到光猫,观察其在 ESXi 中的实际编号,并记下其的 PCI 地址。

2、将网卡切换为直通模式,打开“管理”-“硬件”选项卡,在 “PCI 设备” 项目中,找到对应的 PCI 地址,将其勾选,再点击 “切换直通” 按钮,然后再重启一次 ESXi 系统。

创建路由器专用端口组

因为路由器系统的网络特性,需要新建一个端口组,打开安全策略中的“允许混杂模式”、“允许伪传输”、“允许 MAC 更改”选项,以便路由器能正常执行各类网络数据的管控操作。

注意:本例中默认的 vSwitch0 虚拟交换机绑定的物理网卡是 eth0 ,与预期相同,所以无需调整,如果默认绑定的物理网卡与预期不同,请根据实际情况自行调整,虚拟交换机可以同时绑定多个物理网卡。

创建虚拟机 OpenWrt

上面已经做好了必要的准备工作,现在可以创建虚拟机 OpenWrt 了。

注意:不要随意调整网卡的先后顺序,OpenWrt 默认网卡1 作为 LAN 口,网卡2 作为 WAN 口,
创建虚拟机时默认添加的即为 网卡1,新添加的网卡即为 网卡2

1、打开“虚拟机”-“创建/注册虚拟机”界面。

客户机操作系统系列:Linux
客户机操作系统版本:其他 5.x 或更高版本的 Linux (64 位)

2、删除无用的硬件,一般需要删除默认添加的 “硬盘1” 和 “CD/DVD 驱动器1”

3、添加 “PCI 设备”,将直通的网卡添加给此虚拟机。

4、按需调整 CPU 数量和 RAM 大小,还需要勾选 RAM 参数中的 “预留所有客户机内存(全部锁定)” 选项,否则会导致虚拟机无法启动。

5、修改虚拟机的引导选项,本示例中使用的是 EFI 引导方式的 OpenWrt 镜像,但其不支持 UEFI 安全引导,所以需要去掉勾选“安全引导”选项,否则会导致 OpenWrt 系统无法启动。

6、确认无误后,点击 “完成” 按钮结束创建工作。

注意:无需添加硬盘,稍后使用转换软件直接上传即可。

为虚拟机上传 OpenWrt 镜像文件

使用 StarWind V2V Converter 软件来将原始 OpenWrt 镜像文件转换为 ESXi 虚拟机专用的镜像。立即下载

使用此软件将上面准备好的 OpenWrt 镜像文件,转换后直接发送至 ESXi 服务器中即可。

为 OpenWrt 系统安装额外工具软件

因为 OpenWrt 部署在 ESXi 系统中,可以选择安装一个 ESXi 专属的工具软件,以便更好的兼容 ESXi 系统。

登录 OpenWrt 管理界面,在“软件包”界面中搜索并安装 open-vm-tools 软件,安装完毕后,需要重启一次 OpenWrt 系统。

安装了 open-vm-tools 后,在 ESXi 控制台即可看到 OpenWrt 的主机名、IP 地址等状态信息,还可以正常执行关机命令等。

调整 ESXi 的网络信息

因为此时 OpenWrt 已经正常运行了,可以按需调整 ESXi 系统自身的网络信息,例如将 IP 地址改为 DHCP 方式,调整 IPv6 地址等。

注意:此步骤非必需,请根据自己的使用情况调整。

打开“网络”-“VMkernel 网卡”选项卡,自行按需调整即可。

添加新的端口组

ESXi 中的各个虚拟机通过连接“端口组”来完成网络通信,这个“端口组”就是各个虚拟机所用的“网卡”,一个“端口组”需要绑定一个“虚拟交换机”,一个“虚拟交换机”可以绑定多个物理网卡,多个“端口组”可以绑定同一个“虚拟交换机”。

本示例将物理网卡 eth2 绑定到一个新的“端口组”中。

1、先将物理网卡 eth2 连接网线,识别出其在 ESXi 中的实际编号。

2、新建一个“虚拟交换机”,将对应的物理网卡绑定其中。

3、新建一个“端口组”,把新建的“虚拟交换机”绑定其中。

至此已将物理网卡 eth2 绑定至新的端口组,虚拟机系统选择此端口组即可使用 eth2 物理网卡。