This is an old revision of the document!
Router Hardware
ikoolcore-r2-max
(Dec 2024) The Supermicro SYS-E200-9B has stopped working. It posts bios, but will not boot further. I suspect hardware failure of some sort. The BMC failed a few years ago. I have ordered a replacement ikoolcore-r2-max. The replacement comes with 2.5Gb/s and 10GB/s NICs and a more modern and faster 8 core i3-305 CPU that should easily handle home router services up to 10GB/s, and certainly to 2.5GB/s. The Marvell AQC113C-B1-C 10Gb/s NIC on this machine are RJ45 based and have full connectivity for all normal RJ45 speeds (10, 5, 2.5, 1Gb/s, and 100 and 10Mb/s).
Old Router Hardware
VM / Docker on Router
Progress
As of 2023/01 I setup a VM manager (Libvirt/qemu/KVM) on the router and loaded Docker on it. It is slow but does seem to work. Next:
- ISC Kea DHCP in Docker (currently ISC DHCP in bare metal)
- ISC Bind 9 in Docker (currently ISC Bind 9 in bare metal)
- Wireguard VPN in Docker (currently Wireguard VPN in bare metal)
Router key features
- Operate reliably 24 hours per day, 7 days a week
- Low power operation, power cost money
- Headless Remote access, with separate BMC NIC (this could be integrated or external KVM, e.g. PiKVM)
- Hardware suitable for purpose:
- At least 2 NICs (1 WAN plus 1 or more LAN, quality native type NICs, not USB based), 4+ NICs preferable.
- NICs to be 1 GB/s type minimum, although as of 2023, 2.5GB/s NICs would now be minimum specification
- Sufficient CPU power not to limit primary performance
- Correct CPU options, e.g. AES, virtualization (VT-x, and as of 2023 VT-d).
- No graphical user interface environment install (although individual applications could have web interface)
- Connectivity to upstream IPS provided internet
- Firewall
- DNS
- DCHP
- VPN for use as secure gateway to allow private access from public internet
The following key services define the router:
- network services (bare metal)
- ISP Internet connectivity (bare metal)
- main firewall (bare metal)
- DNS
- DHCP
- VPN (for secure public access to LAN)
Assumptions and Limitations
- Low power means lower CPU resources, hence care with applications that require significant or otherwise unnecessary resources.
- Some services on bare metal to ensure reliable performance
- This machine is much slower than usual hardware, and this is noticeable on interface usage, even no graphical.
- The network and related services performance must NOT limit performance on upstream IP connectivity to greater than 100Mb/s and preferably only limit as speed get close to NIC's 1 Gb/s hardware speed. (At the moment my internet connection is via fibre and is limited to about 1000Mb/s down and up, although the plan I am on is limited to 250Mb/s down and and 20MB/s up and this hardware and setup seem to be performing well. Up until March 2024 my internet connection is via VSDL and is limited to about 65Mb/s down and 16MB/s.)
Docker really does some work on the firewall using iptables. For this reason I decided to setup a virtual machine (VM) environment, Linux QEMU/KVM/Libvirt based. VM's seem to impact the firewall / network setup less adversely than Docker. The use of the VM isolates the Docker firewall machinations from the bare metal.