aboutsummaryrefslogtreecommitdiff

routekit

Use your device as a mini router.

Requirements

Assumptions:

  • The whole setup is temporary, and will run for a limited period of time.
  • Only a handful of devices will be connected.
  • Root access is available.
  • No other software is using the configured interfaces.
  • No other software is using nftables, e.g. docker or wg-quick.

Dependencies:

  • sysgraph
  • iproute2
  • dnsmasq
  • nftables
  • copyparty (optional, simple file sharing server)
  • hostapd (optional, used to create a wifi hotspot)

Usage

  1. For each interface you want to add to the network, run ln -s .bridge-dev nodes/bridge-dev@<interface>, e.g. ln -s .bridge-dev nodes/bridge-dev@eth0.
  2. If you want to enable a hotspot, run ln -s .bridge-wifi nodes/bridge-wifi@<interface>.
  3. Copy config.example to config, adjust as needed. Wifi settings are ignored unless a wifi interface is enabled.
  4. Run ./sgctl <target..>.

The main targets are:

  • @isol: run a local-only network without internet access
  • @fwd: forward requests from the network to the internet
  • copyparty: enable a fileserver that gives anonymous read-write access to /tmp/copyparty