技术宅的结界

 找回密码
 立即注册→加入我们

QQ登录

只需一步,快速开始

搜索
热搜: 下载 VB C 实现 编写
查看: 522|回复: 1
收起左侧

【装系统】在VMware ESXi虚拟机上折腾软路由

[复制链接]

50

主题

148

帖子

7721

积分

用户组: 超级版主

OS与VM研究学者

UID
1043
精华
30
威望
393 点
宅币
5959 个
贡献
678 次
宅之契约
0 份
在线时间
1437 小时
注册时间
2015-8-15
发表于 2021-8-30 15:51:21 | 显示全部楼层 |阅读模式

欢迎访问技术宅的结界,请注册或者登录吧。

您需要 登录 才可以下载或查看,没有帐号?立即注册→加入我们

x
本帖最后由 tangptr@126.com 于 2021-9-2 18:09 编辑

前言

本文所说的虚拟机上折腾软路由的虚拟机平台为VMware ESXi(以下简称ESXI),而非VMware Workstation。
本人操作的ESXI版本为6.5,不是最新版。但原理相同。
本文不是傻瓜式教程,更不是全网最全ESXI折腾软路由教程。

下载软路由固件

不花钱折腾软路由可用的软路由系统有iKuai,或者是OpenWrt的软路由。
爱快软路由可以直接去爱快的官网下载。
eSir每个月都会更新他自己编译的OpenWrt系统。但是他分享的链接是谷歌网盘,部分网友访问相对困难。


游客,如果您要查看本帖隐藏内容请回复

还有一种OpenWrt的来源是从Koolshare去下载,适合所有【会使用互联网】的人下载。
如果你很会折腾,就自己编译OpenWrt吧。

配置ESXI网络体系

确保你安装的ESXI的机器有两个网口,否则你只能给装在ESXI里的虚拟机进行路由了。

配置管理网络

这一步是选择ESXI的管理网络所选的网卡。一般不需要特别的配置,因为如果默认的网口不是你想要的,把线交换插一下就行了。不过如果你的网卡区分百兆、千兆和万兆(或更高)的话就有必要特别设置了。
按F2进入配置页面,输入用户名密码后,选择Configure Management Network,再选择Network Adapters。用上下方向键和空格键来选择管理网络所使用的的网卡。
如果不确定要选哪张网卡,按D键查看网卡的详细信息,并结合网卡包装写的MAC地址判断你要用的网卡。
别忘了用空格切换网卡,最后按回车保存。

接线(物理)

把配置网络的那头接到内网的交换机上,另一头连接外网(在国内一般都是光猫了)。
我建议在装有ESXI的机器旁边放一台笔记本进行协同操作,让笔记本连接光猫的wifi以联通外网,随时下载你需要的东西,然后物理接线到交换机上实现控制ESXI。

接入ESXI

由于还没有路由器提供DHCP,因此当前的ESXI是没有获取到IP地址的。
回到Configure Management Network那里,进入IPv4 Configuration,选择Set static IPv4 address and network configuration,然后分别输入IP地址,子网掩码和默认网关。
同样地,控制ESXI的那台电脑的网卡也不会自动拥有IP地址。设置的时候别和ESXI的IP地址冲突,另外子网掩码和网关也不要设置歪了。
我选择配置10.x.x.x的网络,于是给网关10.0.0.1,给子网掩码255.0.0.0

配置ESXI网络

6.5及以上版本的ESXI可以用浏览器控制。本文以ESXI 6.5的英文版界面为准。
选择网络->虚拟交换机,然后选择添加标准虚拟交换机,一般而言已经存在一个vSwitch0的虚拟交换机了,那么新建的虚拟交换机不妨就命名为vSwitch1
一般而言,ESXI会自动给这个新建的虚拟交换机分配一个上行链路,如果没有就自己添加,如果不是就修改上行链路的网卡设备。
然后添加端口组,不妨命名为Blyatiful Network(气突苏,精俄狂喜),然后在虚拟交换机那里选择vSwitch1
确认一下你创建的网络拓扑是否正确:

VM Network--------------+
                        |----vSwitch0
Management Network------+

Blyatiful Network-------------vSwitch1

创建虚拟机

创建虚拟机的时候不要选择虚拟机是Other类型的操作系统,否则VMware会创建型号为AMD 79C970 PCnet32 LANCE的虚拟网卡。该虚拟网卡对应的物理版是一款十兆网卡,模拟起来非常吃CPU且性能很差。建议在创建虚拟机时选择Ubuntu Linux
这个虚拟机必须要装有两张虚拟网卡,分别接到VM NetworkBlyatiful Network上。
安装在ESXI上的虚拟机可以直接使用VMware Workstation控制。从网页端控制虚拟机的性能相当拉胯。

爱快软路由安装

在虚拟机里安装爱快比较符合绝大多数人给虚拟机装系统的经验。可以直接下载ISO文件然后上传到ESXI上。设置好虚拟机的光驱就可以进行安装了。
爱快是中文系统,故配置起来比较简单,这里只说三点:

  1. 把WEB管理地址设置为10.0.0.1
  2. 设置网卡绑定的时候请确认好虚拟网卡的MAC地址,把wan1绑定到接到Blyatiful Network的虚拟网卡上,把lan1绑定到接到VM Network的虚拟网卡上。
  3. 进入软路由的网页端后,网关、子网掩码,地址范围等不要配置错了。

爱快有个很二的地方就是64位的爱快要求必须有4GB以上的内存。

OpenWrt安装

这是比较麻烦的过程,因为OpenWrt一般都没有ISO安装镜像。通常只有一个IMG的映像文件来让你直接写盘,所以很多人都会选择启动到PE后使用一些写盘工具实现安装。
不过这个方法虽然用在实机上很管用,但是在虚拟机上也这么搞的话,在我看来那就属于笨办法了。我们可以直接将IMG文件转换为VMware所用的vmdk磁盘映像。
这里需要两个“前置软件”:VMware Workstation和QEMU。可以分别去VMwareQEMU的官网下载。
安装了这两个前置软件后需要把它们的目录添加到Path环境变量里方便操作。

转换镜像为VMDK

先用QEMU将IMG转换到VMDK,命令行代码如下:

qemu-img convert -f raw -O vmdk image.img image.vmdk

image.img,image.vmdk关键字替换为你的镜像的文件名即可。
不过生成的IMG文件是type=2的vmdk文件,ESXI不认识这类的虚拟磁盘镜像。需要转换为type=4的vmdk。可以用VMware的小工具实现,命令行代码如下:

vmware-vdiskmanager -r image.vmdk -t 4 image-esxi.vmdk

执行完之后会生成image-esxi.vmdkimage-esxi-flat.vmdk的文件,把这两个文件一起传到ESXI上。
然后添加这个虚拟硬盘到虚拟机上。别忘了扩展硬盘容量(我扩展到了16G),否则虚拟机启动就卡死。

配置网络

OpenWrt属于Linux,故会一些Linux的话配置起来不难。
系统启动好之后,按回车进入控制台。
首先用ifconfig命令查看网卡。注意看网卡名称对应的MAC地址,然后比对ESXI上的配置。确认这两个网卡分别连接到了哪个端口组上。
这里假设eth0连接到了VM Network上,eth1连接到了Blyatiful Network上。

以下内容搬到OpenWrt实机软路由也是通的。
输入以下命令以编辑网络配置:

vi /etc/config/network

vi编辑文本也谈不上很蛋疼。说几个基本功吧:
Insert键退出命令模式进入编辑模式,可以用方向键移动光标,然后打字。
Esc键退出编辑模式进入命令模式。
在命令模式里,输入并回车:wq以保存并退出;:q以退出但不保存;:w以保存但不退出。

说完基本功后开始配置。
修改config interface 'lan'这一栏的option ifnameeth0
修改config interface 'wan'这一栏的option ifnameeth1
由于我们要配置10.x.x.x的局域网,需要进一步配置config interface 'lan'这一栏:
修改option ipaddr后面的单引号内容为10.0.0.1
修改option netmask后面的单引号内容为255.0.0.0
别忘了保存。
最后输入shutdown -r now重启软路由。

修改网卡类型

如果VMware真的给你创建了型号是AMD 79C970 PCnet32 LANCE的虚拟网卡,有两种方式修改虚拟网卡型号。

方法一:登陆ESXi Shell

首先得启用ESXi Shell才可以。在ESXI里按F2登陆后进入管理页面,选择Troubleshooting Options,分别对Enable SSHEnable ESXi Shell按回车。然后就算是启用了ESXi Shell了。

本地ESXi Shell

也就是在ESXI上操作。按Alt-F1组合键以进入ESXi Shell。操作完成之后按Alt-F2组合键退出ESXi Shell。

远程ESXi Shell

其实就是SSH了。在你的电脑上输入ssh root@ESXI地址进入ESXi Shell。

修改虚拟机配置文件

成功进入ESXi Shell之后,输入以下命令进入磁盘目录:

cd /vmfs/volumes

ls命令枚举所有存储设备。天蓝色标记出的为你在ESXI网页端控制界面上配置的存储设备。用cd命令切换到软路由虚拟机所在的存储设备里。
此时已经成功进入了存储设备,用cd结合ls命令查找虚拟机的.vmx文件。ls命令会将.vmx文件用绿色标记出来。然后用vi命令编辑它。
查找ethernetX.virtualDev行(其中X为数字)。如果没有就创建,将其修改为:

ethernetX.virtualDev = "e1000"

别忘了保存。

方法二:下载再上传

这是最直观的方法。直接在ESXI网页端的文件查看器里找到虚拟机的.vmx文件,下载下来,按前文所述修改好配置之后再上传回ESXI。

使用虚拟万兆网卡

或许你的机器是装了万兆网卡的,那么大可以设置一个万兆的软路由虚拟机。
让虚拟机使用万兆网卡并不一定非得直通一个物理网卡到虚拟机里。可以配置虚拟机使用特别的虚拟网卡。
同样是找到ethernetX.virtualDev行,将其修改为:

ethernetX.virtualDev = "vmxnet3"

这个vmxnet3网卡是VMware设计的半虚拟化高性能虚拟网卡。
不妨把你的其他虚拟机也设置使用vmxnet3网卡。但请注意,一定要安装VMware Tools,否则没有驱动。

切换路由系统

当你想更换软路由系统的时候,大可不必给软路由虚拟机重装系统,可以另外创建一个虚拟机进行测试,确保能用之后再切换。
本章也就是我所谓“如果只有一个网口那就只能给虚拟机路由了”。

添加空虚拟网络

添加的一个新的虚拟交换机,这个虚拟交换机不需要添加上联。可以直接命名为vSwitchN。(N表示Null)
同时添加一个叫Null Network的端口组,连接到vSwitchN上。

创建网络测试虚拟机

这个虚拟机装的操作系统可以是Windows,可以是Linux,总之一定要是你能熟练使用的。它的虚拟网卡必须连接到Null Network

新软路由虚拟机

新的软路由虚拟机自然也要两张虚拟网卡,一个连接到Blyatiful Network,另一个连接到Null Network

测试并切换

同时启动这两部虚拟机,按前文所述进行配置。
确保测试网络用的虚拟机在DHCP下能成功获取IP并能访问外网之后(比如能访问技术宅的结界论坛),将新软路由虚拟机连接到Null Network的网卡切换为连接到VM Network上。
然后将老软路由关机,将新软路由开机就可以了。

结语

将软路由虚拟机配置为随ESXI同时启动。
虚拟机的固件是该选BIOS还是UEFI取决于你下载的镜像,别搞混了。
建议把ESXI的服务器加入到IP静态分配里。
ESXI似乎没有免登录下载的渠道。

flowers for Broken spirits - a woman turned into stake will hold the world in the basin of fire.
回复

使用道具 举报

1090

主题

2609

帖子

7万

积分

用户组: 管理员

一只技术宅

UID
1
精华
237
威望
495 点
宅币
21495 个
贡献
45957 次
宅之契约
0 份
在线时间
2069 小时
注册时间
2014-1-26
发表于 2021-8-31 03:01:02 | 显示全部楼层
没有两个网口的时候可以通过接交换机来实现扩增网口。

本版积分规则

QQ|申请友链||Archiver|手机版|小黑屋|技术宅的结界 ( 滇ICP备16008837号 )|网站地图

GMT+8, 2021-11-29 01:53 , Processed in 0.043228 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表