老旧NUC + USB网卡实现双口千兆的软路由

2020-10-30 15:50:16 26点赞 170收藏 19评论

什么是软路由我就不在重复科普,不知道就直接本站搜文章吧,所以咱直接进入主题。

事情是这样的,几天前网上无意间解到被很多人用来做软路由的R2S开发板自带两个千兆RJ45端口的其中一个千兆网口是用的USB转接的,我立刻想到了我是不是可以买一个USB网卡插在我早些年买来的Intel NUC上实现双网口软路由。

我的NUC是 14年在JD买的

英特尔(Intel)i3-4010U处理器 NUC迷你智能电脑(BOXD34010WYK)京东去购买


型号是 BOXD34010WYK,CPU是i3-4010U,因为用来浏览网页CPU已经有些乏力(用来做路由绰绰有余的多),所以闲置了一两年了,此次就是用它来安装OpenWrt,当然不买USB网卡也可以使用那种旁路由方式,但是我觉得还是有两个物理网口更好。下来简单了就是挑选一个USB网卡,当然首先必须是千兆,最好有使用芯片说明,于是乎在JD找到了绿联的这款

绿联USB3.0千兆有线网卡转RJ45网线接口转换器适用苹果华为笔记本任天堂Switch外置网口扩展坞转接头2025679.9元京东去购买

原因很简单,他明确写着使用了AX88179,而OpenWrt里正好有支持这个片子

https://openwrt.org/packages/pkgdata/kmod-usb-net-asix-ax88179

没错看起来很完美,不到80元,天猫也瞄了下,基本同价,所以我也懒得再货比三家找了,直接下单。

到货后就开整,我的计划是把 OpenWrt 装到 U盘 (虽然也可以装入 NUC 里面内置的硬盘,但是这个要稍微麻烦一些,后面有提到一种顺便的实现方法),现在开始先装系统吧,这个系统安装起来真的非常简单,我的台机是双系统,正好切换到 Ubuntu 系统,所以直接 dd 命令即可。下载当然下载当前最新的版本:19.07.4 (当然你也可以在 这里 下载其他版本),下载完后解压,然后用 dd 命令把镜像写入 U盘

烧录系统到U盘烧录系统到U盘

进入 NUC 的 BIOS 里设置为 U盘 启动,启动后用用网线把你的电脑和 NUC 连起来,记得插自带的网口,因为此时USB网卡还没有驱动所以不能用(官方镜像默认没有这个ax88179的相关驱动,如果有的话我就没有写本篇的必要,其实也是抛砖引玉,如果你是其他芯片的网卡可以类似同步骤),使用 SSH 连默认的地址(OpenWrt 默认是 192.168.1.1)此时就可以登录我们的软路由:

ssh root@192.168.1.1

老旧NUC + USB网卡实现双口千兆的软路由

如果你的 NUC 如果本来就有两个网口(好像 Intel 没出过这种配置的 NUC)的话那么你的 OpenWrt 已经装好,而且会给把一个网口绑到WAN,另一个绑给LAN,文章到此结束,但是我们只有一个,所以现在要做的就是给 USB 网口装上驱动支持,这才是本文的主要内容,因为官方源太慢,我们直接换上清华大学的源:

sed -i 's_downloads.openwrt.org_mirrors.tuna.tsinghua.edu.cn/openwrt_' /etc/opkg/distfeeds.conf


源换完了就是安装了,但是等等,现在还不能上网,因为电脑连它时占用了它“唯一”的网口,所以我们现在修改配置来让他上网,首先打开 /etc/config/network 文件,此时文件应该是这样的:

老旧NUC + USB网卡实现双口千兆的软路由

我们给他加三行内容来配置 wan 口

老旧NUC + USB网卡实现双口千兆的软路由

嗯,没错 注意我把 lan 的 ifname 换成 eth1 ,让 wan 使用 eth0 (你可能会问,现在还没有eth1啊,是的没错,我们先这么写,因为我们要用eth0作为wan口让它能上网,而且这个也是一次性的后面有了eth1也不需要再改这个配置文件),配置好以后,我们还需要做一件事,就是配置防火墙,让我们一会儿可以从 wan 口连入(嗯,不配置你会很惨,我就掉这坑了,希望你不要掉进去),打开 /etc/config/firewall ,加入图中的六行规则:

老旧NUC + USB网卡实现双口千兆的软路由

嗯,关机,重启,此时拔掉网线(连接你电脑这头的),插入到你电脑原来连的上游路由器(或者交换机)上,其实就是把他当成一个电脑连入你家网络里,让你的电脑此时可以访问它,完成后你就需要上你插入的那个上游路由(或者交换机等开着dhcp服务的设备)看软路由拿到了什么ip,然后就依然是用 ssh 命令访问它

ssh root:192.168.81.158 (注意,我这里这个是分配到了这个ip,你要看自己的)

好了,此时我们可以安装USB网卡的驱动了,先 update :

老旧NUC + USB网卡实现双口千兆的软路由

然后找 ax88179 的包名并安装

老旧NUC + USB网卡实现双口千兆的软路由

很好,此时我们看到一共装了 以下5个包(其他4个是依赖包),其实如果你再装可以直接从源那边下载好这些ipk,用scp复制到软路由直接安装,可以省很多前面的步骤……(但这个是后话)。

  • kmod-libphy

  • kmod-nls-base

  • kmod-usb-core

  • kmod-usb-net

  • kmod-usb-net-asix-ax88179

此时我们去看网络接口,应该可以看到多出来一个 eth1 :

老旧NUC + USB网卡实现双口千兆的软路由

没错,此时我们实际要做的事情已经完工了,但是我们还需要测试一下速度,如何测试呢,我是这样的:我拔掉我电脑上的原来连路由的线,现在插入到我们软路由的USB网口中,此时我们在网络上其他设备(可以是和软路由一个网段的其他机器)上跑一个 iperf3 server,然后我们在再我们电脑上跑一个iperf3 client 就可以了:

先跑server (我是在之前的上游路由器里运行的)

老旧NUC + USB网卡实现双口千兆的软路由

再跑 client (电脑上运行)

老旧NUC + USB网卡实现双口千兆的软路由

哈哈,估计有人看到了,我上级路由依然是个软路由,没错就是那个 ip 是 192.168.81.1 的设备 J4105,这个是题外话先按下不表,现在我有两个软路由了,第二个总共花费79元和不到1小时的时间。功耗大概6~10W的样子,

老旧NUC + USB网卡实现双口千兆的软路由

因为现在是个裸的OpenWrt设备,所以CPU占用非常低,但是这才是折腾软路由的万里长征的第一步啊,后面才是最精彩的部分,后面能写很多东西,比如常见的 luci、 samba、 dnsmasq、frp、ddns 等等,有的简单安装后就可以用(luci),有的需要你各种配置(samba、dnsmasq、ddns),甚至需要一个外部服务器协同才可以(frp)……,以后慢慢来吧。建议你一定把 luci 装上:

opkg install luci

有了 luci 后很多操作都可以用浏览器来完成。写在最后也该是我的 NUC 露个脸的时候了

新的软路由真容新的软路由真容

有人说外挂个u盘不好看,其实你要用里面的内置硬盘也可以,现在就用 dd 命令把u盘复制到内置硬盘里,然后就可以拔掉U盘了,最后还有个问题dd后遗症,就是就是你登陆软路由系统后发现U盘(或者内置硬盘)只有两百多兆的空间,我们可以使用fdisk 和 resize2fs 把丢掉的空间找回来(来自 https://openwrt.org/docs/guide-user/installation/openwrt_x86 我简单翻译一下),以下是假定你的u盘(或内置硬盘)设备是/dev/sdb,需要根据自己的情况修改(郑重提醒,fdisk 操作有风险,如果弄错了可能会把你其他存储设备分区表搞坏)。

  1. 安装 fdisk 和resize2fs(貌似我得ubuntu默认都有)


  2. 用 fdisk 显示分区表

  3. 记下/dev/sdb2的开始扇区地址

  4. 用 fdisk 删除第二块分区(就是 sdb2), 先不要写入(就是不用用w命令)

  5. 用 fdisk 创建新的第二块分区, 分区起始扇区位置使用你刚才在第三步记录的 (不要用默认的,默认的不对), 结束扇区使用默认,因为默认就是到最后(就是整个可用空间)

  6. 写入分区表变更到U盘. 系统在创建的最后一步会问你已经有一个分区签名在选择的位置, 输入 n 不要删除分区签名.

  7. 使用命令: resize2fs /dev/sdb2 增大文件系统的分区大小(刚才fdisk改分区表,现在改文件系统)。


引用官网的图

老旧NUC + USB网卡实现双口千兆的软路由

有人可能看到了其实你在我们的软路由上也可以装个fdisk来做修改分区表这个事情,但是后面的 resize2fs 修改文件系统的事情却还是要到其他设备上操作(因为此时文件系统已经挂载正在使用,ext4并不支持这样的online操作),所以还不如一开始就拔下来u盘插在电脑上操作,其实为啥全文都用的ubuntu系统在搞,这就是方便之处,如果在windows上其实也可以做 不过你要去各种地方下一各种软件来做,包括但不限于 Win32 Disk Imager Etcherputty 等等软件,太麻烦所以我推荐你用 Ubuntu(当然其他发行版都行看你喜欢),如果你没有现成安装好的 Ubuntu 系统那么就下载一个 ISO,烧录到另外一个u盘,后面用该U盘启动你的电脑,不用安装,只是选择 Try Ubuntu 然后里面打开 Terminal 就可以用了。

总结

有时候我们用闲置的设备再买一些辅助的东西就能再“利用”,还能锻炼自己的动手能力,如果你能看完文章,估计你应该是个软路由玩家或者有一定动手能力,否则肯定没耐心看到这里,肯定有些高手对于我里面有些步骤不太认同,毕竟我水平有限,比如可以重新编译把 ax88179 驱动直接编译进去,当用dd命令后系统就接近完成,省了很多文中步骤……,当然文中这些个只是我自己当时的一个想法和后来一个逐步实现过程的记录,并不非常严谨和完美,仅供大家参考和避坑,如果有错误的地方请指正,当然有更好的方法也欢迎您和大家分享。


展开 收起

绿联(UGREEN)百兆单模单纤光纤收发器 光电转换器 SC接口电信级远距离网络传输器 两只装 0-20KM 80168

绿联(UGREEN)百兆单模单纤光纤收发器 光电转换器 SC接口电信级远距离网络传输器 两只装 0-20KM 80168

暂无报价

Xiaomi 小米 AX3000T 双频3000M 家用千兆Mesh路由器 Wi-Fi 6 白色 单个装

Xiaomi 小米 AX3000T 双频3000M 家用千兆Mesh路由器 Wi-Fi 6 白色 单个装

89.5元起

Ruijie 锐捷 雪豹 X30E 双频3000M 家用千兆Mesh无线路由器 Wi-Fi 6 白色 单个装

Ruijie 锐捷 雪豹 X30E 双频3000M 家用千兆Mesh无线路由器 Wi-Fi 6 白色 单个装

169元起

ASUS 华硕 RT-BE88U 双频7200M 家用Mesh无线路由器 Wi-Fi 7 黑色 单个装

ASUS 华硕 RT-BE88U 双频7200M 家用Mesh无线路由器 Wi-Fi 7 黑色 单个装

1999元起

Xiaomi 小米 BE6500 Pro 双频6500M 家用千兆Mesh无线路由器 Wi-Fi 7

Xiaomi 小米 BE6500 Pro 双频6500M 家用千兆Mesh无线路由器 Wi-Fi 7

535元起

ZTE 中兴 AX3000 巡天版 双频3000M 家用千兆Mesh无线路由器 Wi-Fi 6 单个装 白色

ZTE 中兴 AX3000 巡天版 双频3000M 家用千兆Mesh无线路由器 Wi-Fi 6 单个装 白色

164元起

Redmi 红米 AX6000 双频5952M 家用千兆Mesh无线路由器 Wi-Fi 6 单个装黑色

Redmi 红米 AX6000 双频5952M 家用千兆Mesh无线路由器 Wi-Fi 6 单个装黑色

344元起

Xiaomi 小米 AX6000 双频6000M 家用千兆Mesh无线路由器 Wi-Fi 6 单个装 黑色

Xiaomi 小米 AX6000 双频6000M 家用千兆Mesh无线路由器 Wi-Fi 6 单个装 黑色

320元起

Xiaomi 小米 BE3600 2.5G版 3600M 双频千兆家用无线路由器 Wi-Fi 7 白色

Xiaomi 小米 BE3600 2.5G版 3600M 双频千兆家用无线路由器 Wi-Fi 7 白色

219元起

HUAWEI 华为 BE3 Pro 双频3000M 千兆家用路由器 Wi-Fi 7 黑色

HUAWEI 华为 BE3 Pro 双频3000M 千兆家用路由器 Wi-Fi 7 黑色

279元起

ZTE 中兴 问天BE7200Pro+ 双频7200M 家用千兆Mesh无线路由器 WiFi 7 黑色

ZTE 中兴 问天BE7200Pro+ 双频7200M 家用千兆Mesh无线路由器 WiFi 7 黑色

529元起

京东云 BE6500 千兆无线路由器 WiFi7

京东云 BE6500 千兆无线路由器 WiFi7

569元起

Xiaomi 小米 BE7000 三频千兆Mesh无线路由器 Wi-Fi 7

Xiaomi 小米 BE7000 三频千兆Mesh无线路由器 Wi-Fi 7

559元起

ASUS 华硕 TUF小旋风Pro BE6500 家用无线千兆路由器 WiFi7

ASUS 华硕 TUF小旋风Pro BE6500 家用无线千兆路由器 WiFi7

799元起

ZTE 中兴 巡天AX3000Pro+ 双频3000M 家用千兆Mesh无线路由器 Wi-Fi 6 白色 单个装

ZTE 中兴 巡天AX3000Pro+ 双频3000M 家用千兆Mesh无线路由器 Wi-Fi 6 白色 单个装

249元起

TP-LINK 普联 BE5100 双频5100M 家用千兆Mesh无线路由器 Wi-Fi 7 黑色 单个装

TP-LINK 普联 BE5100 双频5100M 家用千兆Mesh无线路由器 Wi-Fi 7 黑色 单个装

279元起

文中相关商品

京东 UGREEN 绿联 USB3.0千兆有线网卡转RJ45网线接口转换器
19评论

  • 精彩
  • 最新
  • 四代I3看网页都觉得卡顿?我等还在8600只能欲哭无泪。鉴定,炫富贴!

    校验提示文案

    提交
    哈哈,其实看静态网页还好,主要是看视频时卡,似乎这个集显太老不能硬解码当前的大多数视频流,导致CPU软解,所以每次看视频会风扇狂转还卡顿,要知道这个本来是用作客厅电脑接电视,所以大部分时候都是放视频的,没办法只能让他退位

    校验提示文案

    提交
    收起所有回复
  • 很怀疑“usb”网卡稳定性

    校验提示文案

    提交
    上回弄完用了一个周末其实还行,稳定性其实就是依赖于驱动,不过这类驱动大部分都是芯片厂家提供然后做了适配编译而成,所以稳定性个人觉得问题不大,而且usb3.0理论上限是5Gbps呢

    校验提示文案

    提交
    收起所有回复
  • usb网卡爱快,高恪都支持了。小白不用这么折腾

    校验提示文案

    提交
    爱快听过,以前去看好像不开源所以直接连尝试都没想法,我一直装的OpenWrt,我也建议用它,原因很简单开源,干净

    校验提示文案

    提交
    收起所有回复
  • 爱快支持2.5g网卡,跑速度的话爱快会比OpenWrt高

    校验提示文案

    提交
    这个你只要有2.5G的硬件网卡,装上正确的驱动速度肯定是一样的啊,比OpenWrt高是什么说法?

    校验提示文案

    提交
    我的意思是爱快效率比OpenWrt高,测速也比OpenWrt快一点,而且爱快也更稳定。爱快缺点是没有一些不可描述的功能,虽然可以跑虚拟机,虚拟机的效率和稳定性还是差点

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 这个性能的软路由。。。

    你一家用太浪费了

    讲真 带宽够带你那一栋楼都是阔以滴

    校验提示文案

    提交
  • [喜极而泣] 同款 不过我屁股开孔加intel网口

    校验提示文案

    提交
  • nuc有双网卡的,不过做软路由有点太奢侈了

    校验提示文案

    提交
  • 过于折腾吧?旁路由不好吗?我觉得旁路由才是最好的,即使挂了基本上网和NAT还有硬路由嘛

    校验提示文案

    提交
  • 3代笔记本还在战斗 [喜极而泣]

    校验提示文案

    提交
  • 感谢分享,小白刚刷完openwrt,这固件好复杂,有使用教程啥的吗?

    校验提示文案

    提交
  • 何必搞非图形界面?恩山直接下个别人编译好的不就完了

    校验提示文案

    提交
  • 不开源不代表不好,至少我对爱快的好感还蛮好的,很稳定。

    校验提示文案

    提交
  • 这款网卡发热大吗,我有款塑料的8135发热大总是丢包?

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
目录
170
扫一下,分享更方便,购买更轻松