Note: The development status of Puomi is that some of the very basics work, but it’s lacking many features that many people want in a router. Help improving Puomi would be very much welcome.
Puomi is a way to install Debian on a computer and configure it to be an Internet router for home or small office use. A Puomi router provides:
Puomi is a very basic Debian system, without any user interface. It is installed onto a PC running Debian, and post-installation configuration and administration is expected to be done using SSH and Ansible.
The goal of Puomi is to be a home and small office Internet router, running on a PC, and easy to hack on by its administrator. It’s meant to be configured and upgraded using Ansible. Puomi is, in face, implemented as an Ansible role.
However, Puomi also aims to require as little attention as possible.
A brief overview of how the current Puomi architecture. This will change as Puomi evolves.
systemd-networkd
.eth0
, if designated as the
connection to the Internet. It gets an address using DHCP.dnsmasq
provides DHCP and DNS to LAN. Every DHCP client
hostname is automatically added to the local DNS.hostapd
for the
wlen0
interface.systemd-revolved
managed /etc/resolv.conf
for the external DNS server.See [install.md][].
Puomi is a software project, but of course it needs to run on actual hardware.
Puomi currently targets a Lenovo Thinkpad X220 laptop with a USB Ethernet adapter installed. We expect that any reasonably standard PC will work.
Possible other hardware we may want to try some day:
https://routersecurity.org/consumerrouters.php
Criticisms of consumer routers.
https://www.fkie.fraunhofer.de/content/dam/fkie/de/documents/HomeRouter/HomeRouterSecurity_2020_Bericht.pdf
Home Router Security Report 2020, by Frauhofer FKIE