Table of Contents

, ,

Router Hardware

(Jan 2023) For my router, including DNS (BIND9) and DHCP (ISC DHCP) I am using a Supermicro SYS-E200-9B that comes with a Supermicro motherboard X11SBA-LN4F. I purchased this in 2016 and got functional in 2017, whilst waiting for NFTables to run all required features on Ubuntu. The X11SBA-LN4F has an Intel Pentium N3700 system with 4 x Intel i210-AT GbE LAN. I got with maximum 8GB RAM and 120GB mSata HD. Sadly the mSata HD was a Chinese branded unit that failed after 3 years operation. I replaced it with an old Samsung 256GB 860 SSD that I had on hand. I also took the opportunity to change the router from Ubuntu to Debian at this time. The N3700 CPU had reasonable performance at the time and includes AES instruction, which a number of common lower priced options at the time did not, e.g. J1900 CPU. The AES CPU instruction helps improve encryption performance significantly, handy for SSL / VPN. The unit is still performing well now. including the 10 year old Samsung SSD. I run the following software on it, all bare metal:

I would consider to try setting up a VM and Docker on this machine, however I suspect it maybe under powered for this. I would want Docker to be on a VM as I do not like the amount of IPtables configuration it does on its host. This would interfere with my NFTables router firewall configuration, if on the same host.

I looked at the various options for the router hardware, written in 2016.

tldr;

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:

Router key features

  1. Operate reliably 24 hours per day, 7 days a week
  2. Low power operation, power cost money
  3. Headless Remote access, with separate BMC NIC (this could be integrated or external KVM, e.g. PiKVM)
  4. Hardware suitable for purpose:
    1. At least 2 NICs (1 WAN plus 1 or more LAN, quality native type NICs, not USB based), 4+ NICs preferable.
    2. NICs to be 1 GB/s type minimum, although as of 2023 2.5GB/s NIC would now be minimum specification
    3. Sufficient CPU power not to limit primary performance
    4. Correct CPU options, e.g. AES, virtualization (VT-x, and as of 2023 VT-d).
  5. No graphical user interface environment install (although individual applications could have web interface)
  6. Connectivity to upstream IPS provided internet
  7. Firewall
  8. DNS
  9. DCHP
  10. VPN for use as secure gateway to allow private access from public internet

The following key services define the router:

Assumptions and Limitations

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.

Why not Proxmox

tldr;

Specific issues with use of headless X11SBA-LN4F hardware

IPMI KVM Display Problems

Forcing Display option at boot in Ubuntu

Controlling BMC Terminal Resolution in Ubuntu

Router Ethernet Hardware Consideration