10

如何在#VMWare #ESXi 6.7上安装OpenWrt虚拟机充当旁路由

 2 years ago
source link: https://xmanyou.com/vmware-esxi-install-openwrt/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

生命在于折腾~

1. 从哪里下载OpenWrt固件

可以从很多地方下载OpenWrt,也可以选择自己编译。
本指南选用的是Lean的Openwrt版本,里边已经集成了一些常用的ipk插件。

选择已经编译好的固件:

https://github.com/coolsnowwolf/lede/releases

VMWare-ESXi-Install-OpenWrt-01

关于这个版本的一些信息:

  • 默认登陆IP 192.168.1.1
  • 用户 root
  • 密码 password
  • 内核 4.19.108

2. 将OpenWrt固件镜像(.img)转换为VMWare EXSi支持的.vmdk格式文件

下载rar解压后,得到的是.img镜像文件, 例如

openwrt-R20.4.8-x64-combined-squashfs.img

由于VMWare EXSi并不支持直接从img镜像创建虚拟机,我们需要先将.img文件转换为.vmdk文件。

如何将img文件转换为vmdk呢?

使用qemu-img工具,可以将.img镜像文件转换为.vmdk VMWare磁盘文件。

1). 安装qemu-img

  • MacOS 安装qemu-img
brew install qemu-img
  • Linux安装qemu-img
yum -y install qemu-img
  • Windows 安装 qemu-img

https://cloudbase.it/qemu-img-windows/

2). 使用qemu-img命令来转换img文件为.vmdk文件

打开命令行,然后输入

qemu-img convert -f raw -O vmdk <OpenWrt固件镜像>.img <目标新文件名>.vmdk
例如
qemu-img convert -f raw -O vmdk openwrt-R20.4.8-x64-combined-squashfs.img openwrt-R20.4.8-x64-combined-squashfs.img.vmdk

注意
qmeu-img只能将.img文件转换为VMWare Player、VMWare Fushion或者VMware Workstation支持的磁盘文件格式。

对于ESXi,直接使用的话,是会报错的,需要按照以下步骤再次转换。

无法打开虚拟机的电源。磁盘类型不受支持或无效。请确保磁盘已导入。

VMWare-ESXi-Install-OpenWrt-02

参考: https://xmanyou.com/vmware-esxi-unsupported-disk-type/

3). 上传到VMWare EXSi主机的数据存储空间。

打开数据存储浏览器,把刚刚转换好的.vmdk文件上传到数据存储空间。
假设路径是

hdd->iso->openwrt->openwrt-R20.4.8-x64-combined-squashfs.img.vmdk

VMWare-ESXi-Install-OpenWrt-03

VMWare-ESXi-Install-OpenWrt-04

4). 用SSH连接ESXi服务器,并找到上传的OpenWrt的.vmdk文件

首先,如果没有开启ssh服务,找到 导航器->主机->管理->服务->TSM-SSH,如果是已停止状态,则启动TSM-SSH服务。

VMWare-ESXi-Install-OpenWrt-05

ssh <用户>@<ESXi主机>

找到刚刚上传的OpenWrt的.vmdk文件

ssh [email protected]
cd vmfs/volumes/hdd/iso/openwrt/
ls openwrt-R20.4.8-x64-combined-squashfs.img.vmdk

VMWare-ESXi-Install-OpenWrt-06

5). 使用vmkfstools将不支持的.vmdk转换为ESXi支持的.vmdk格式

vmkfstools -i <旧的.vmdk> <新的.vmdk>

例如

vmkfstools -i openwrt-R20.4.8-x64-combined-squashfs.img.vmdk openwrt-R20.4.8-x64-combined-squashfs.img.exsi6.vmdk

注意,如果不是用ESXi虚拟机,而是VMWare Player等软件,则不需进行这一步。

6). 备份.vmdk文件

到这一步,ESXi虚拟机支持的OpenWrt镜像文件就准备完成了。
但是为了避免出现问题需要重装,最好是将转换好的.vmdk文件,在数据存储中做个备份。

3. 安装OpenWrt虚拟机

3.1. 创建系统

选择Linux/其他Linux(64位)

VMWare-ESXi-Install-OpenWrt-07

VMWare-ESXi-Install-OpenWrt-08

3.2. 删掉默认的硬盘,设置好cpu和内存

默认的硬盘可以删掉。
CPU和内存根据需要设置。我设置的1CPU和2G内存。

3.3. 添加OpenWrt vmdk文件作为硬盘

VMWare-ESXi-Install-OpenWrt-09

选择刚刚已经转好的ESXi支持的OpenWrt vmdk文件。

注意: 最好是做个备份。

VMWare-ESXi-Install-OpenWrt-10

再检查一下选择的vmdk是ESXi支持的那个。

VMWare-ESXi-Install-OpenWrt-11

完成创建,就可以打开电源了。

等控制台不再刷新以后,按下回车,如果出现下边的画面,表示安装成功了。

VMWare-ESXi-Install-OpenWrt-12

3.4. 在EXSi控制台中修改OpenWrt的网卡ip

OpenWrt系统启动以后,由于默认是192.168.1.1。这个ip一般是不可用的,需要在ESXi控制台中进行修改。

vi /etc/config/network

找到 192.168.1.1,修改成可用的ip,并重启OpenWrt系统。

不熟悉vi命令的同学,可以按照以下步骤操作:

  • 移动光标到192.168.1.1
  • 按下i,进入编辑模式
  • 把192.168.1.1 改成你的ip,比如我用192.168.1.5
  • 按下ESC,退出编辑模式
  • 按下冒号和wq(:wq),保存并退出
  • 输入reboot重启

VMWare-ESXi-Install-OpenWrt-13

重启后,输入以下命令,确认ip修改完成。

cat /etc/config/network

VMWare-ESXi-Install-OpenWrt-14

3.5. 通过浏览器访问OpenWrt管理界面

ip修改成功后,就可以在浏览器里访问OpenWrt管理界面了。
在浏览器里输入刚刚修改的OpenWrt IP,例如192.168.1.5。看到登录界面,就表示之前的设置正常:
默认的用户是 root,密码 password

VMWare-ESXi-Install-OpenWrt-15

登录后,可以看到系统的状态

VMWare-ESXi-Install-OpenWrt-16

4. 设置网关和DNS,解决OpenWrt IPv4 WAN 未连接状态

在系统状态中可以看到,IPv4 WAN 状态为:未连接

VMWare-ESXi-Install-OpenWrt-17

如果在OpenWrt管理界面中,使用网络->诊断,进行网络诊断,发现报错: 错误的地址

ping: bad address 'openwrt.org'

VMWare-ESXi-Install-OpenWrt-18

如果在OpenWrt诊断工具中,直接ping ip,则报错:网络无法连接

PING 139.59.209.225 (139.59.209.225): 56 data bytes
ping: sendto: Network unreachable

VMWare-ESXi-Install-OpenWrt-19

这表明,OpenWrt无法进行域名解析,也无法与外网联通。

需要打开网络->接口,为OpenWrt的网络接口添加网关和DNS。

将默认的LAN接口的网关和DNS都配置为物理路由器所在地址,例如 192.168.1.1。

VMWare-ESXi-Install-OpenWrt-20

VMWare-ESXi-Install-OpenWrt-21

配置好后,返回到系统状态,可以看到IPv4 WAN状态是已连接。

VMWare-ESXi-Install-OpenWrt-22

再次进行网络诊断,可以正常解析域名和访问了。

VMWare-ESXi-Install-OpenWrt-23

OpenWrt的配置就算完成了。

5. 如何使用OpenWrt充当旁路由

安装了OpenWrt虚拟机之后,网络上存在2个路由器:

  • 物理路由器 192.168.1.1
  • OpenWrt路由器 192.168.1.5

要使用OpenWrt作为旁路由,来绕过一些网络限制,最简单的方法是:

方法1. 将客户端的ip设置为静态,并将网关设置为OpenWrt的ip使用OpenWrt作为路由器

VMWare-ESXi-Install-OpenWrt-24

修改网关后,能正常访问网络,表示配置成功。

使用traceroute命令,可以看到,首先走的是OpenWrt的ip

VMWare-ESXi-Install-OpenWrt-25

方法2. 在主路由上设置客户端连接时的默认网关为OpenWrt的ip,则可以实现自动路由。

这个方法,需要主路由器支持,不是所有的都可以。

以上,在EXSi上安装OpenWrt虚拟机并充当旁路由,就完成了。

6. 参考文献

本文同步发表在公众号上:https://mp.weixin.qq.com/s/fExmkKRukGfdxU5gNEa0og


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK