🛠 Deploying a High-Performance Software Router on the PICO-PTH4

AAEON PICO-PTH4: Pico-ITX Board with Intel Panther Lake SoC · avance · Configurez la PICO-PTH4 comme routeur logiciel dédié en exploitant ses deux ports Ethernet 2.5GbE et son stockage NVMe Gen5.

Objectives

This tutorial aims to transform the PICO-PTH4 card into a high-performance software router. Thanks to its two Intel I226-V network controllers supporting 2.5GbE and its Panther Lake SoC providing sufficient computing power for high-speed routing, this configuration is ideal for demanding environments requiring low latency and fine traffic management. We will use a lightweight Linux-based operating system to maximize CPU resources available for packet processing.

Required Hardware

Steps

  1. System Installation: Insert the M.2 SSD into the dedicated slot. Plug in the USB drive and boot the card. Access the BIOS via HDMI. Ensure the boot mode is set to UEFI. Install your chosen Linux distribution on the NVMe SSD. Choose a minimal installation without a graphical environment to free up LPDDR5x memory.
  1. Network Interface Configuration: Identify network interfaces using the ip link command. The two physical ports will typically be named eth0 and eth1. Configure eth0 as the WAN interface (connected to your internet box) and eth1 as the LAN interface (connected to your switch). Edit the network configuration file (e.g., /etc/network/interfaces or via Netplan) to assign a static IP to eth1 (e.g., 192.168.1.1/24) and use DHCP on eth0.
  1. Enable IP Routing: Enable IPv4 forwarding by modifying the /etc/sysctl.conf file by uncommenting or adding the line net.ipv4.ip_forward=1. Apply changes with sysctl -p. Install firewall tools like iptables or nftables.
  1. NAT and Firewall Configuration: Configure NAT masquerading on the WAN interface to allow LAN clients to access the Internet. Example with iptables: iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE. Allow established and related traffic on the WAN interface, and allow traffic on the LAN interface.
  1. Performance Optimization: Intel I226 ports may require queue adjustments to maximize 2.5GbE throughput. Use ethtool -K ethX tso on gso on to enable segmentation offloads. Also, verify that the CPU is not unnecessarily downclocking by setting the CPU governor to performance via cpupower.

Verification

From a client connected to the LAN port (eth1), verify Internet connectivity with ping 8.8.8.8. Test actual throughput using a tool like iperf3 between the client and an external server or another machine connected to the LAN to confirm that the 2.5GbE links are working correctly. Monitor CPU usage with top or htop to ensure that routing is not saturating the Panther Lake cores.

Further Reading

Explore the integration of QoS (Quality of Service) to prioritize VoIP or gaming traffic. You can also configure a local DNS server or an ad blocker (Pi-hole) on this same card, thanks to the soldered memory up to 32GB and fast NVMe Gen5 storage. The internal RS-232/422/485 serial ports also allow connecting home automation or industrial equipment for centralized control.

Other tutorials for this board

Code examples for this board

← Back to the board 🛠 All tutorials