Truenas iKuai主路由 OpenWrt旁路由搭建

本文最后更新于:2022年6月4日 凌晨

由于我家有上百个智能设备,并且我自己对网络的要求很高,之前买了一些路由器单独组网,在路由器上直接跑一些服务总是会不太稳定的问题存在,因此借助上次升级NAS配置的机会,直接将路由搬到了TrueNas上,目前已经跑了有一个月左右,整体延时稳定性都好非常多,是一次不错的改造。

本文主要是在TrueNas Scale上安装iKuai作为主路由做整体路由管理,安装OpenWrt作为旁路由负责科学上网做一个介绍。

I. 前言

确保至少有2个网口,一个wan输入,一个lan输出。

主路由iKuai搭建

1. 下载ikuai

这里我下载64位的下载img: https://www.ikuai8.com/component/download

下载后,通过smb或者scp之类的拷贝到nas上,这里我拷贝到了/tools/system-img/下:

2. 加载ikuai的iso到对应的ZVOL上

创建用于装载ikuai的zvol数据集,创建 4G,这里我们创建的zvol在data下的router:

然后通过ssh到nas上,然后进入ikuai的img所在目录,这里我们在/mnt/ext/tools/system-img/,然后执行以下指令,以下指令就是直接将对应img写入到我们创建的数据集中:

1
dd if=iKuai8_x64_3.6.3_Build202204071133.img of=/dev/zvol/data/router bs=1M

3. 配置Nas中的网络走桥接

这里可以直接参考我的配置,实际情况根据实际情况调整就好,原则就是让所有网络走了桥接再走物理接口连接网络:

创建一个br0,绑定到当前可以连接外网的接口:

4. 在Nas上创建ikuai虚拟机

以下是我的配置,可以作为参考:

启动方法需要使用Legacy BIOS:

CPU模式我是使用Host passthrough这种模式也会比较开销CPU,但是给到的性能也是最高的,你根据你实际需要就行:

磁盘需要选用VirtIO模式,数据集选用刚刚创建的那个,这里我们是data/router:

网络也是用VirtIO模式,附加到刚创建的br0上:

其他基本默认配置就行。

5. 配置ikuai使内网可访问

启动ikuai这个虚拟机,运行后进入期VNC界面,配置其IP以及网关,使其可以内网访问,这里当时我网关IP是: 10.0.0.2,我配置我ikuai的ip是: 10.0.0.1,具体大家根据实际情况配置即可:

具体大家根据实际情况操作就好,这里比较简单,比如配置LAN的地址,就输入2,然后根据实际提示配置就好。到这里就可以内网访问ikuai了。

6. 将nas上其他的网口映射到ikuai上

直接在ikuai的虚拟机里,添加PCI设备,这里我的另一个网卡接口的PCI名是: pci_0000_05_00_0

7. 在ikuai上绑定新添加的直通的网卡接口

可以直接直通绑定到lan1上:

参考我lan1的配置:

我的wan口是绑定了之前那个桥接的网口

然后直接将光猫桥接到这个wan口上,进行PPPoE拨号登录:

至此所有网络都可以从ikuai输出了,你可以将lan口连接到你的无线路由器上。

旁路由OpenWrt搭建

1. 下载与装载k9 img

旁路由主要是为了科学上网,当然功能也可以很多,这里我推荐直接使用k9的方案(当然qs也可以),k9可以直接在这里下载: https://supes.top/?version=21.02&target=x86%2F64&id=generic

下载后拷贝到nas上,然后创建用于该openwrt的数据集,通过dd装载到对应数据集上,操作方法与上面主路由类似这里不重复赘述。

2. 创建openwrt虚拟机

启动方法需要选用UEFI:

另外这里CPU采用你想要的方式就好,我还是选用最高性能开销的方案:

磁盘一定记得使用AHCI然后绑定你刚创建的数据集,这里我是/data/k9:

网络使用VirtIO还是绑定我们的桥接口,这里我是上面创建的那个br0:

其他默认就好,然后启动。

3. 配置openwrt内网可访问

启动后,通过vnc访问到op的命令界面,然后修改/etc/config/network

这里我配置我的openwrt的ip是10.0.0.169,配置好网关与dns。

至此openwrt就可以在内网访问了。

4. 让openwrt成为旁路由

这里我的openwrt的ip是: 10.0.0.169

在ikuai中,将网关与dns都配置为openwrt的ip:

在nas中,将所有的网关与dns都配置为openwrt的ip:

在nas的k8s将的网关配置为openwrt的ip:

另外需要参考这里确保k8s中的服务与应用可以正常访问外网。

最后的最后需要特别注意的是,如果需要外网访问nas服务需要留意做两层转发,一层是从ikuai转发到openwrt,另一层是从openwrt转发到nas中的服务,具体可以参考这个案例

5. 科学上网,完美8k低延时墙外访问

最后还是简单说下,k9自带的bypass已经很完美了,但是我认为目前国内最佳体验的翻墙方案依然是kcptun,默认的bypass是不支持kcptun的,需要安装对应软件包:

安装后就默认有了,参考其中一个配置(需要留意kcptun参数的格式是: --key=xxx --crypt=xx类似这样):

最后翻墙,整个服务将会运行非常稳定,这里的kcptun的服务端搭建可以参照这篇文章,我目前依然是采用这样的配置,依然稳定,有任何问题欢迎评论:

全局情况

最后简单画了下当前的网络情况,虽然还有一些优化的想法,不过目前情况也还算稳定可靠,大家可以做个简单的参考。


Truenas iKuai主路由 OpenWrt旁路由搭建
https://blog.dreamtobe.cn/nas_main_bypass_router_build/
作者
Jacksgong
发布于
2022年6月4日
更新于
2022年6月4日
许可协议