前言

声明我的观点:非常不推荐既要又要。

几年前入坑软路由,看了别人的文章和视频,不知道谁抄的谁,都在推荐iKuai负责流控以及DHCP服务,OpenWRT负责功能管理(DNS分流,科学上网,广告屏蔽等)。

其实说的非常对,至今也是公认的事实,但是对于家庭网络来说,结构显得太复杂,经过这几年的折腾经验来说,如果只是想上个网,很少用到iKuai的一些功能的话,我的建议是直接使用OpenWRT。

之前关于安装iKuai以及OpenWRT的文章有一些细节没有提到。

这篇文章仅做补充,主要说清楚一些细节以及注意的东西。没有先后顺序。

注意事项

这套理论的初衷,可能有以下几个点,也就是这套理论的优势:

  1. 折腾OpenWRT时,即使OpenWRT重启、宕机等情况,也不影响整体网络;

  2. iKuai的DHCP服务、静态分配、流控管理等可以让局域网设备管理更简单;多拨服务也实用(现在基本无法单线多拨,实用的可能是多线多拨)

劣势也有,无非网络变复杂了,OpenWRT的额外设置比较多,网络层面比单纯使用一种,多了一跳,引入少量额外延迟和 CPU 开销。

在使用这种方案,我会详细说一下具体的配置以及接线,让这套配置更清晰更规范,整体响应更快。

一、设备需求

  1. 一台计算机设备。用于安装 ESXI,还是PVE底层。

  2. 网卡,就是硬件,想要达到这套系统的标准,至少需要3个网口,市面上大多是4个,留1个冗余最佳。

  3. 一台交换机。

二、网口分配

iKuai : 分配2个网口,1个网口为WAN,1个网口为LAN;

OpenWRT : 分配1个网口,LAN

三、配置注意事项

第一点: 网卡直通,这个不用多说,很简单;

第二点: 删除 iKuai 以及 OpenWRT 默认的网络适配器;(很重要!!!)

如果不删除这项,可以简单理解为所有的流量走向都会经过这个网络适配器,那么直通的网卡性能就完全无法发挥了。

第三点: 删除OpenWRT默认自带的 br-lan 接口,创建一个直通的网卡名称的接口;

小结:操作完这些,iKuai以及OpenWRT后台是看不到任何多余的网口的,只有这三个网口!

四、接线

  1. 光猫的WAN口 —— iKuai 的WAN口

  2. iKuai 的LAN口 —— 交换机任意接口

  3. OpenWRT 的LAN口 —— 交换机任意接口

因为它们是网关互指的,所以必须将它们的LAN口接到交换机,这样它们才能互相访问其网关,流量才能正常流通。

流量走向

由于上述绑定的接口都是直通的网卡接口,因此流量全部都是通过直通的网卡进行流通的,而不是底层设备自带的虚拟接口。

优势

这套配置的优势在于:能够完全发挥网卡性能。

如果是万兆或者2.5G带宽的网卡,对于内网带宽的提升比较明显,不会堵塞内网通道。

假设下面这种情况:

用户A,局域网拷贝文件,按照正常HDD磁盘的 200M/s 计算;

用户B,手机刷短视频,按照 2M/s 计算;

用户C,在影音室看美剧,按照 30M/s 计算;

用户D,电视机上通过各平台App看视频,按照 5M/s 计算;

等等。。。

如果是普通的千兆网卡,一个文件拷贝就占用了整个网络的带宽,其他用户的网络通道完全被堵死了;如果是2.5G网卡,整体基本上快到满负载,但是还留有一点点空余;如果是万兆网卡,留有非常大的空间,可以同时进行多个高带宽操作而互不干扰。。

另外,直通的网卡性能也比普通的虚拟网卡或桥接网卡强得多。

网卡直通,能大幅降低CPU开销、减少中断延迟,实现接近线速的转发能力。内网设备间的大文件传输(如NAS拷贝、局域网备份、4K/8K视频流)可以真正跑满网卡速率,而不会因为软路由处理瓶颈导致卡顿。

最后

写这篇文章是因为折腾多了,心力憔悴,发出来能给大家避避坑的就避避坑。

另一方面也是我自身网络环境一个奇葩的现象:

  1. 标准的台式机(主板自带千兆网口),插了一张4口的万兆网卡

  2. ESXI 的底层,管理口使用的板载千兆网卡,万兆网卡直通

  3. iKuai以及OpenWRT未删除默认网络适配器的时候,带宽很不稳定,拷贝下载局域网文件只有 30M/s ,但是speedtest可以跑到千兆

最终排查了2天,是因为我的管理口接的网线老化,协商下来的协议只有百兆,iKuai的流量又经过 未删除的虚拟网卡 ,连环导致整体局域网的速度被拉低了。

现在还有点想不明白为什么管理口的协商速率会与自动分配到虚拟网口相关联?因为它们默认是ESXI内部通道的整体带宽?