Posted 2024-11-15 | Back to blog index
Finally all the parts arrived to build a custom router capable of 10 Gbit to replace the rental ISP router!
The basis for the router is a Lenovo ThinkCentre Tiny M720q I got off Yahoo! Auctions for $70 with CPU, RAM and NVMe all included.
Opening it up reveals a SATA cage and a VGA port that I don't need, taking those out reveals a PCIe x8 port, I'm going to need that!
But it's not a standard slot, a regular card won't fit in there (and the case is too small for a card to stand up in anyway)
That's what this riser and bracket from AliExpress are for!
Now we can fit this $20 surplus Huawei-branded Intel dual 10 Gbit NIC in here
It's alive! Here we can see the specs
* Core i3-8100T CPU @ 3.10GHz
* 8 GB RAM
* 256 GB Kioxia/Toshiba NVMe drive
The NIC works at least!
Due to a lack of 10 Gbit SFP+s for testing just to see if everything works right now I'm using some scrap 1 Gbit LR SFPs that came preinstalled in some switches I bought a few years ago, that's what's on the left WAN side. On the right is the 10 Gbase-T SFP+ going to my laptop
It's cute how the dot over the “i” lights up
Installed pfSense, but doing a quick check, the performance numbers are looking off. Less than 5 gig up and the CPU gets pegged at 50%
Gonna try a Ubuntu LiveCD as a sanity check to make sure it's not the PCIe riser or something (but why is the performance slower in only one direction?)
I saw that Lenovo had integrated their logo with Windows boot and I guess that makes sense, but Ubuntu also integrates with the OEM logo?
PCs have come a far way…
Yep, performance is waaaaay better under Linux. And checking top it's barely using any COU at all (like 5%?)
I guess I'm going with OpenWRT instead then
Just doing some googling, getting results ranging from "you can't run iperf on pfSense!" to "pfSense isn't a router, it's a firewall, you shouldn't be using it as a router" to obscure sysctl things to tweak.
Every time I try to use FreeBSD for something it ends like this. Using TrueNAS CORE was also a mess.
Definitely going OpenWRT/Linux for this router.
That said OpenWRT isn't going to be a walk in the park either since the IPIP6 support needed for IPv4 support on my ISP wasn't merged until earlier this year and still isn't in the stable release
After a bit over 2 hours of tearing my hair out while piecing together several different conflicting and vague guides on qiita and various Japanese blogs, I finally got the IPv4 tunnel working!!! 🎉
Time for bed 😪
Reverted to the ISP router for now. I want to back up this config, then blow it away and rebuild it from scratch so I know what I did that was actually needed...
Redid the config from scratch to remove any weird stuff I did just trying to get it working, and set up all the port forwards etc and put it in place of the ISP router
Did a speed test and… capped to 1Gbit?
Oops, I had bought a 1 Gbit DAC rather than a 10 Gbit one… I wasn't paying attention and the “10GTek” brand name had fooled me… Good trying I had a longer one on order (this one was too short anyway) and that one will be correct
So once that DAC comes in I'll clean this up and cable manage
As for power draw… It idles at 16W, and peaks at 29W when routing 7.5 Gbit of data. This is with dual copper SFP+. I have not messed with any power-saving stuff in BIOS.
The ISP router runs at a solid 16W regardless of what it's doing.