2024-05-27 23:14:29 +01:00
2024-04-05 22:57:26 +01:00
2024-04-05 22:57:26 +01:00
2024-04-05 22:59:37 +01:00
2024-05-27 23:14:29 +01:00

Sinatra

SImple Network Access Tool with RAdius

RADIUS-based network access is common in prosumer/office networks for requiring pre-registered MAC adddresses and/or selectively assigning VLANs to devices based on MAC address.

Typically, FreeRADIUS is used, however its flexibility and complexity is burdensome when only MAC-based authentication is required. Such a setup requires pre-registered MAC addresses, which can be difficult with IoT and consumer devices; and configuration of a default VLAN for unrecongnised MAC addresses is difficult.

Certain vendors' router hardware can provide simplistic RADIUS servers, e.g. a Ubiquiti Unifi Dream Machine, but they do not provide default VLAN assignment. It is also useful to be vendor agnostic.

Sinatra provides for this simple use case:

  • A simple NodeJS-based RADIUS server that provides (MAC-based) authentication, in any format.
  • A simple REST API to add/update/delete reqistered users (MAC addresses).
  • A Dockerfile (and docker-compose) to encapsulate the server within a docker container.
  • Optional default VLAN support to support unknown MAC addresses, e.g. into a guest network.

Feature roadmap

  • Mass-import from CSV
  • Time-based authentication
  • Time-limited access
  • Connection accounting (with REST API endpoints for data access)
Description
Simple network management RADIUS server
Readme 324 KiB
Languages
JavaScript 75.8%
HTML 19.2%
CSS 4%
Dockerfile 1%