- CSS 100%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| .gitlab-ci.yml | ||
| fw.svg | ||
| fwlnx.png | ||
| fwlnx.svg | ||
| LICENSE | ||
| penguin.svg | ||
| README.md | ||
| style.css | ||
fwlnx
Firewall Linux - A small and simple Linux based Firewall Distribution
It combines a smart Linux distribution (NixOS) with modern network services, a simple web interface and an API to configure it. It's not meant to be a replacement for far superiour Appliances like pfSense or OPNSense but as an alternative solution for typical home use. Think FRITZ!Box on steroids.
Target platforms
- QEMU/KVM
- PCEngines APU2/3/4
- Generic AliExpress Router PCs
Planned initial features
- Firewall (netfilter)
- NAT
- Rules
- UPnP (miniupnp)
- DynDNS (ddclient)
- VPN
- NTP (chrony)
- DHCP (Kea)
- DNS (Knot)
- TFTP (Netkit TFTP)
- Auto config backup
- Cron/Timers (Systemd-timers)
Minimum hardware requirements
- x86_64 Multicore CPU
- 4GB RAM
- 64GB storage
- 2x ethernet ports
- one dedicated WAN port
- one dedicated LAN port
Installation
TBD
Design
Partitioning
The partitioning schema is kept simple and will be setup like this:
BIOS/MBR:
/dev/sda:
/dev/sda1 swap [SWAP] 4G # SWAP
/dev/sda2 ext4 / 100%FREE # FWLNX
UEFI/GPT:
/dev/sda:
/dev/sda1 vfat /boot 1G # ESP
/dev/sda2 swap [SWAP] 4G # SWAP
/dev/sda3 ext4 / 100%FREE # FWLNX
Minimum size for the storage is 64GB. eMMC, SATA or NVMe SSDs should be preferred to SD cards. Minimum RAM size is 4GB, but more RAM is more good. 😉
Operating system
As the base operating system NixOS is used. The backend daemon Garmr feeds configuration into nix expressions to configure the whole system.
Garmr
Backend daemon which exposes all configuration options via a HTTP API.
Freyja
Web frontend that hooks into Garmrs API to make it easier to configure fwlnx.
Made with ❤️ and 🪄✨.
Icon partly from stockio
