ESXI 安装&配置 OPENWRT

ESXI 安装&配置 OPENWRT

本文详细介绍了如何在 ESXi 6.7 下部署最新版本 OpenWrt。基于 ESXi X86 设备构建的 OpenWrt 路由器是一种兼顾性能和敏捷性的软路由解决方案。 制作 OpenWrt ESXi 镜像 下载安装制作 ESXi 镜像的工具 StarWind V2V Converter。 下载最新版本的 Stable Release O...

本文详细介绍了如何在 ESXi 6.7 下部署最新版本 OpenWrt。基于 ESXi X86 设备构建的 OpenWrt 路由器是一种兼顾性能和敏捷性的软路由解决方案。

制作 OpenWrt ESXi 镜像

下载安装制作 ESXi 镜像的工具 StarWind V2V Converter

下载最新版本的 Stable Release OpenWrt 镜像。ESXi 一般运行在 X64 平台,因此镜像我们选择 x86/64 目标平台,文件系统选择 ext4。例如:https://downloads.openwrt.org/releases/18.06.1/targets/x86/64/openwrt-18.06.1-x86-64-combined-ext4.img.gz

打开 StarWind V2V Converter – Local file – 镜像文件 – VMware ESX server image – Next > – Next >,最后生成两个 ESXi 专用镜像文件

  • openwrt-18.06.1-x86-64-combined-ext4.vmdk
  • openwrt-18.06.1-x86-64-combined-ext4-flat.vmdk

上传镜像

进入 ESXi Web 管理面,存储 – 数据存储浏览器

创建一个专用目录

上传先前创建的 2 个镜像文件到该目录。上传成功后两个镜像文件会呈现为一个硬盘

部署端口

在创建 OpenWrt 虚拟机之前,你需要先为其设计好 WAN/LAN 网络架构。

假设 ESXi 主机有 N(N>1) 个硬件网络适配器,那么通常的做法是 1 个网口用于 WAN,N -1 个网口用于构建 LAN。博主的主机有 4 个物理网络适配器,下文以此为例

注意:默认的虚拟交换机、端口组请保持默认配置,谨慎编辑,否则无法远程连接到 ESXi

首先,包含默认的 vSwitch0 在内,创建 4 个虚拟交换机

编辑各个虚拟交换机,除了后续将被用于 WAN 的虚拟交换机 (本文是 vSwitch3) 保持默认设置外,用于部署 LAN 的虚拟交换机 (vSwitch0,vSwitch1,vSwitch2) 均开启安全选项中的混杂模式、MAC 地址修改、伪传输。

为每个虚拟交换机各自分配一个上行链路(物理网络适配器),从而与主机上的物理网口链接起来

最后,创建端口组 VM Network1 、VM Network2、WAN Network,分别连接到之前创建的虚拟交换上。

其中,ESXi 默认的 VM Network0 默认已连接到 vSwitch0 (LAN 0 口);VM Network1、VM Network2 分别连接到 vSwitch1、vSwitch2;WAN Network 连接到 vSwitch3 (WAN)

至此,完成端口组的配置。这些端口组后续将被 OpenWrt 虚拟机内的虚拟网络适配器使用。

为了方便读者理解上述操作,关于 ESXi 的虚拟网络逻辑架构,这里做简要介绍

VMs / 虚拟机

  • Port Group / 端口组
    端口是虚拟化中的概念,虚拟机实际上连接的是端口组(会在虚拟机内部实体化为相应的虚拟网络适配器)而非 vSwitch。如果把 vSwitch 类比于物理世界中的交换机,那么端口组则类似于为交换机上的一组端口,因而可以借助逻辑上的分组功能实现 VLan ——在 ESXi 的管理界面中为不同的端口组分配不同的 VLan ID 即可。
  • vSwitch / 虚拟交换机
    可以类比物理世界的交换机来理解它
  • Physical NICs / 硬件网络适配器
    vSwitch只有链接至硬件网卡才能与物理世界通讯。如果某个 vSwitch 没有链接至任何一个硬件网卡,那么该 vSwtich 中的虚拟机只能与该 vSwitch 中的其他虚拟机通信,而不能与外界通信,相当于组建了一个虚拟的内网。

创建 OpenWrt 虚拟机

ESXi Web 管理面,虚拟机 – 创建/注册虚拟机

 

移除默认的硬盘,点击添加硬盘,添加一个现有硬盘。选择先前上传的 openwrt-18.06.1-x86-64-combined-ext4.vmdk,硬盘选项保持默认。

添加网络适配器

编辑虚拟机,将引导选项改为 BIOS

注意:如果使用默认的 EFI 引导,OpenWrt 将无法启动,报如下错误
Attempting to start up from:
→ EFI Virtual disk (0.0) … unsuccessful.
→ EFI Network… unsuccessful

打开虚拟机电源,OpenWrt 正常启动。

配置 OpenWrt

本步骤尤其重要,Esxi部署openwrt必然造成网卡顺序错乱,极大可能造成Lan口无法自动获取IP地址!

现在,要让 OpenWrt 虚拟机内的 4 个虚拟网络适配器正确连接到先前部署的 WAN/LAN 端口组。

查看并记住 OpenWrt 虚拟机连接到 WAN Network 的虚拟网络适配器 MAC 地址

在 ESXI 虚拟机控制台执行以下命令,查找上述 MAC 地址对应的网络适配器

ifconfig -a | less

 

如图所示,可以看到是 eth1

提示:如果 OpenWrt 控制台反复回显标准输出,导致控制台内容被覆盖,执行以下命令可减少标准输出

/etc/init.d/network stop 

编辑 /etc/config/network 按照对应关系,将 eth1 配置为 wan 接口,eth0、eth2、eth3 分配为 lan 接口,并为 lan 开启 bridge,使 LAN 下所有的物理网口桥接到一起。

# vim /etc/config/network 

config interface 'loopback' 
option ifname 'lo' 
option proto 'static' 
option ipaddr '127.0.0.1' 
option netmask '255.0.0.0' 

config globals 'globals' 
option ula_prefix 'fdaf:b952:d594::/48' 

config interface 'lan' 
option type 'bridge' 
option ifname 'eth0 eth2 eth3' 
option proto 'static' 
option ipaddr '192.168.1.1' 
option netmask '255.255.255.0' 
option ip6assign '60' 
option _orig_ifname 'eth3' 
option _orig_bridge 'true' 

config interface 'wan' 
option ifname 'eth1' 
option proto 'dhcp' 

config interface 'wan6' 
option ifname 'eth1' 
option proto 'dhcpv6'

编辑完后执行以下命令使配置生效

# /etc/init.d/network reload

最后,电脑网线连接到主机的任意一个 lan 物理网口,浏览器输入 192.168.1.1 即可访问 OpenWrt 虚拟机的 LuCI 管理面。

1
显示验证码