由于是装完之后才想到写篇文章, 所以图片基本都是后面截的, 而不是安装过程中的
事情起因是同学购入了一台工控机, 打算装一个 All In One, 我就小帮了帮他, 然后想着要不我自己先搞一套试试吧, 于是决定在 VMware Workstation 中装一个 All In One
有什么用? 我都把 All In One 装在单个虚拟机里了你还问我用处?
说干就干, 先去看看 ESXi 怎么装, 镜像文件哪里下载, 没想到 VMware 官方就有给下载的地方, 还有免费的版本, 只需要有一个账号就行 (结果注册的时候邮政编码和地区不匹配卡了我20分钟)
准备好了 ESXi 的 iso 镜像文件后, 顺便把 OpenWrt 和 Windows Server 的镜像文件一起准备掉好了, OpenWrt 直接用了在项目官网下的 x86 EFI img 包, Windows Server 也是直接在微软官网下的 iso 包, 比我想象中的顺利很多
既然镜像文件好了, 那就开始安装了, 先把 ESXi 装进 VMware Workstation, 一直下一步就完了
下一步就是配置网络环境了, 我的虚拟机使用的是 NAT 模式, 将 VMware Workstation 中的网络如图配置了, 除了网关, 我一开始将 VMware 的网关设置成了 192.168.3.1 (记住, 待会要考)
然后是手动将 ESXi 中的 IP 啥的配置好
接下来就要开始装 OpenWrt 了, 我看了看他人分享的经验, 都是先把 img 镜像文件用 StarWind V2V Converter 转换成 vmdk 虚拟磁盘文件, 然后传回 ESXi 中直接运行, 但是我死活不能把 img 转成 vmdk, 一直报错, 也不讲原因, 关了 Windows Security 也还是在报错, 我只得放弃这条路
不知道为什么一直不能创建镜像文件
后来发现这软件可以直接指定远程 ESXi 服务器直接安装, 于是我先创建一个不带硬盘的空虚拟机, 然后在 StarWind V2V Converter 里填好地址, 选择 OpenWrt, 很快便装进去了
我打算只有 OpenWrt 直连 VMware 网卡, 然后再将其他的服务器接在 OpenWrt 下游, 计划最终网络拓扑图如下
接着就是进入 OpenWrt 的管理界面开始配置了, 我先把 OpenWrt 的接口通过 ESXi 里的终端配置好了, 除了 lan 口均如图所示, lan 口我一开始是 DHCP 自动的
nano 真好用
浏览器输入 192.168.3.4 准备进入 OpenWrt 管理界面, 结果怎么连也连不上, 被拒绝了, 不过还好是拒绝, 一下反应是防火墙的问题, 去终端把 Firewall 给 disable 了, 也就是禁止自启动, 然后重启 (这个也要记住, 待会要考)
这次果然连上了, 进去转了一圈, DNS 服务器简略设置个阿里的 223.5.5.5, 把 lan 口设置了静态地址, IP 为 192.168.3.5, 子网掩码 255.255.255.0, 网关 192.168.3.4, 广播地址 192.168.3.255, 这一改倒好了, 我直接连不上管理界面了, 就这个b问题耗了我一个晚上, 都没看出什么, 气不过直接睡觉了
结果第二天起床, 突然灵光乍现, 不对啊, 这样不是就 IP 段冲突了吗, 对 OpenWrt 来说 192.168.3.4 变成了自己的下游了, 这样肯定访问不进啊, 于是把 lan 的 IP 改成了 192.168.4.1, 广播地址改成了 192.168.4.255, 这下访问总没问题了
接下来就是安装第一个服务器了, 我本来想装群晖 DSM 7.2 的, 奈何我一直装不上, 只能善罢甘休改装 Windows Server 了
在 ESXi 中安装 Windows 真是简单到不能再简单了, 直接上传后选择 iso 文件就能装了, 图方便装了带桌面环境的版本
装完 Windows Server 了, 该来配置网络环境了, 我计划将 Windows 接在 OpenWrt 下游, 于是把 Windows 接在了只有 OpenWrt lan 口的 Local NetWork 端口组中, 这个端口组在一个独立没有上游链路的虚拟交换机 Local vSwitch 中
插电, 开机, Windows Server 跑起来了, 也顺利发现了 OpenWrt 并作为了自己的上游 DHCP 服务器获取了网络配置, 好, 直接去 OpenWrt 里给 Windows Server 分配一个静态地址 192.168.4.2
返回到 Windows Server, 试了试和 OpenWrt 互 Ping, Windows Server 能 Ping 通 OpenWrt, 但是 OpenWrt Ping Windows Server 不行, 不用想就知道是 Windows 防火墙的功劳, 去防火墙里给 ICMP 放行了, 能 Ping 通了
这下内部网络环境是配置的没问题了, 试试能不能 Ping 百度吧, 结果发现 Windows Server Ping 不通百度, OpenWrt 也 Ping 不通, 甚至 ESXi 都不行, 这是什么情况? 我 VMware Workstation网络配置出问题了? 经过一番搜寻, 发现 192.168.3.1 这个 IP 已经被 VMware 的 VMnet8 虚拟网卡给占用了, 不能再作为 NAT 网关使用, 于是我将 192.168.3.x 网段里的 IP 都往后迁了一位
再次插电, 开机, 这次 OpenWrt 能 Ping 通外网了, 但是 ESXi 和 Windows Server 都还是不行, 为什么呢, ESXi 是我没设置 DNS 服务器, 设好就好了, 但是 Windows Server 是什么情况? 我排来排去, 花了一个多小时, 终于发现了原因: 我把 OpenWrt 的 Firewall 给关了, 而 OpenWrt 的 NAT 转发是需要 Firewall 的, 把 Firewall start 并 enable, 然后我又进不去管理界面了, 怎么办呢, 再次 stop Firewall 并进管理界面把所有的都直接开允许 (因为我是虚拟机里的纯 IPv4 内网, 安全性无需顾虑), 然后 enable Firewall, 终于, Windows Server 可以 Ping 通外网了
至此, 内网环境和外网访问都配置好了, 此次 All In One 也算是完美完成了, 花了差不多有两天时间