本部署方案纯属自己在家里搞着玩儿的,有更高更好见解的朋友可以留言。
主要为了解决几个个人在家庭网络中的需求:
- iKuai 智能流控;
- OpenWRT不稳定断网时,iKuai多Wan口掉线切换;
- iKuai 国内国外分流;
- 花生壳内网穿透,在外网部署个人网站;
- 蒲公英P5 VPN异地组网,在外面也能访问家里内网IP。
目录
先展示一下设备部署情况
单击图片,查看大图
如拓扑图中所示,有人会疑问为什么 3865U 这里用这么傻的网口连接方法,原因就是家境贫寒,软路由CPU太次了,如果 iKuai 开流控和上网行为,再加上 OpenWRT 的一些吃CPU的操作,用 Esxi 的虚拟网卡实在是吃不消哇。。。所以干脆直接网卡直通,然后用网线连
【2022年02月最新修改】如下图,因为移动给配了两条千兆光纤,所以为了跑满带宽,干脆直接上了 iKuai A520 做流控。 3865U 只装了个 openWRT 做其中一条 WAN ,然后外网流量走 WAN2。这部分内容参考意义不大
兜兜转转折腾了几个软路由的系统,也试了几种网络部署的方案。最终选择了以下方案长久使用:
主无线路由:领势MX5300无线路由。目前我拍的图是后来换了 MX5300 的,本文下面的方案还是按照之前使用 ROG2900 时写的内容,但是大致都差不多。
虚拟机平台:VMware vSphere Hypervisor (ESXi) 6.7U3b
旁路由虚拟:iKuai + OpenWRT,版本用的是网友编译的 HomeLEDE,编译的固件中包含:SmartDNS + AdGuard Home + ChinaDNS-NG,过多就不介绍了,可以去他的 wiki
此处使用 旁路由 而不是用 网卡直通 的方式,一是以后乱搞比较灵活,二是可以做到OpenWRT断网不影响家里网络。
大致说几个遇到过的问题,方便遇到同类问题的朋友直接往下翻
1、设备偶尔能上网偶尔不能上网:这里有个坑,主路由开DHCP还是旁路由开DHCP,如果主路由开了就会出现偶尔断网的情况。因为旁路由作为网关目的就是为了让流量全都走这个旁路由的网关,但是如果主路由开DHCP,那他广播到局域网的网关就多了一个主路由的IP。
2、网卡直通:这样固然是使用了物理设备刷OpenWRT的老思路,直接使用网卡,但是这样丧失了灵活性,个人认为用网卡直通就没有用ESXi的必要了。
3、有线能上网无线不能上网:ROG路由器、华硕路由器固件都是 ASUS 固件,如果做旁路由会遇到 AP 设备无法上网的情况,一顿排查认为是硬路由固件的BUG,开启“AiProtection 智能网络卫士” -> “网络保护” 即可解决问题。当然 openwrt 也有另一种方法就是 iptables 配置 nat ,这样会损失一些性能,得不偿失。
一、3865U 安装 ESXi 6.7 Web 版本
1、准备工作
注册并登录Vmware官网网站,进入点击下载页面,建议下载 6.7 版本。
下载界面
OpenWRT 固件包自己准备一个,任何版本都行
固件格式转换软件:StarWindConverter
U盘启动盘制作工具:推荐rufus,点击下载
2、虚拟机系统安装介质(U盘)的制作和固件格式转换
1、使用 rufus 写盘,做 ESXi 安装盘
安装界面
2、OpenWrt固件格式转换,我们下载的固件都仅适合物理装机,建议使用 StarWindConverter 来完成固件的格式转化。
选择本地文件
3、虚拟机安装
【注】虚拟机安装前要准备好无线路由器,并已按照产品说明书设置好,此时一定 不要关闭 无线路由器的 DHCP!!!
1、给 3865U 工控机插好 U 盘和键盘,把无线路由器的 LAN1 口插在 3865U 的第一个网口;
2、改 BIOS 启动,选择安装 U盘;
3、傻瓜式安装界面,一路跟着提示安装下去;
4、安装的时候需要设置好密码,这里一定要记住;
5、安装成功后会提示重启,重启后进入管理界面,这个时候有可能不会自动获取到管理地址的;
6、按 F2 并输入密码进入管理菜单;
7、选择 Configure Management Network --> IPv4 Configuration 设置为路由器子网下的地址,我的路由器用了ROG默认的192.168.50.X ,这里设置为 192.168.50.2 ;
8、此时,和 3865U 同连在一个子网的电脑就可以通过访问 https://192.168.50.8 进入管理 web 端了。
二、OpenWRT 安装及配置
1、创建 OpenWRT 虚拟机
点击 创建/注册虚拟机
1、选择创建类型
2、选择名称和客户机操作系统,输入名称,兼容性选择 ESXi 6.7 虚拟机,客户机操作系统系列选择 Linux,版本选择 2.6.x Linux(64位)。
3、选择存储这一步,直接点击下一步。
4、自定义设置,以下内容只适用于 旁路由,网卡直通的方法后面讲。
4.1、删除硬盘,选择添加硬盘
4.2、上传已经转好格式的 vmdk 格式文件
4.3、修改CPU和内存,内存修改之后,要展开选项,勾选预留所有客户机内存
4.4、想做 网卡直通 的可以新增 PCI 设备
5、完成,启动虚拟机
2、配置 OpenWrt
vim /etc/config/network
编辑 lan 口的 IP 为 192.168.50.2
reboot
重启
看到网络中 IP 地址刷新出 192.168.50.2 之后,便可以在电脑访问 http://192.168.50.2 进入 Web 管理页面了
删除 WAN 口
点击删除
编辑 LAN 口 --> 物理设置,取消勾选“桥接接口”
取消勾选
编辑 LAN 口,修改网关 192.168.50.1
【重要】DHCP选项设置为:6,192.168.50.2
【重要】DHCP选项设置为强制
【重要】IPv6设置,如果没有非要使用 IPv6 的话,就关闭!因为有的 OpenWrt 版本有 BUG,IPv6 可能影响到无线 AP 或者 DNS
【重要】网上有教程也在说主路由开DHCP,旁路由关闭DHCP的,但是这样有坑,如果主路由没办法设置强制广播DNS的话,连接的设备获取到的DNS就是192.168.50.1和192.168.50.2,这样就会有时候能上网有时候不能。。。
防火墙设置,取消勾选 “启用SYN-flood防御”
其他设置按需随意,设置好之后,重启 OpenWrt(注意,不是重启ESXi)
三、在电脑上验证一下 OpenWrt 是否网络通路
设置网络属性,修改 IPv4 配置,保存后,如果能够正常访问网络,那证明软路由已经工作了
四、修改主路由配置,关闭 DHCP
【注】华硕和 ROG 的固件用 OpenWrt 的旁路由可能会出现有线连接可以正常上网,无线连接没有网络的情况,提供两个思路解决问题:
方法一:OpenWrt 设置 -> 网络 -> 防火墙 -> 自定义规则
此方法是挂了 nat ,有可能影响到性能或者速度,而且这个方法是为了工控机直接连 AP 用的,我没用这个方法
iptables -t nat -l POSTROUTING -o eth0 -j MASQUERADE
方法二:因为考虑到 有线连接可以正常上网,无线连接没有网络的情况 基本只出现在华硕固件上,那肯定是硬路由的固件 BUG,这里开启 “AiProtection 智能网络卫士” -> “网络保护” 即可解决问题