还有一种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 Network
和Blyatiful Network
上。
安装在ESXI上的虚拟机可以直接使用VMware Workstation控制。从网页端控制虚拟机的性能相当拉胯。
爱快软路由安装
在虚拟机里安装爱快比较符合绝大多数人给虚拟机装系统的经验。可以直接下载ISO文件然后上传到ESXI上。设置好虚拟机的光驱就可以进行安装了。
爱快是中文系统,故配置起来比较简单,这里只说三点:
- 把WEB管理地址设置为
10.0.0.1
。
- 设置网卡绑定的时候请确认好虚拟网卡的MAC地址,把
wan1
绑定到接到Blyatiful Network
的虚拟网卡上,把lan1
绑定到接到VM Network
的虚拟网卡上。
- 进入软路由的网页端后,网关、子网掩码,地址范围等不要配置错了。
爱快有个很二的地方就是64位的爱快要求必须有4GB以上的内存。
OpenWrt安装
这是比较麻烦的过程,因为OpenWrt一般都没有ISO安装镜像。通常只有一个IMG的映像文件来让你直接写盘,所以很多人都会选择启动到PE后使用一些写盘工具实现安装。
不过这个方法虽然用在实机上很管用,但是在虚拟机上也这么搞的话,在我看来那就属于笨办法了。我们可以直接将IMG文件转换为VMware所用的vmdk磁盘映像。
这里需要两个“前置软件”:VMware Workstation和QEMU。可以分别去VMware和QEMU的官网下载。
安装了这两个前置软件后需要把它们的目录添加到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.vmdk
和image-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 ifname
为eth0
。
修改config interface 'wan'
这一栏的option ifname
为eth1
。
由于我们要配置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 SSH
和Enable 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似乎没有免登录下载的渠道。