Skip to main content

Quick start

Get a small fleet of simulated devices running on a Linux host in three commands. For full flag docs see CLI flags; for container workflows see Docker.

Prerequisites

  • Linux host with root access (TUN interface and network-namespace creation require privileges).
  • Go 1.26 or later. The canonical version is pinned in go/go.mod.
  • Basic networking tools: ip, iptables.
Ubuntu one-shot

On fresh Ubuntu hosts run sudo ./ubuntu_setup.sh to install dependencies, raise system limits, and enable TUN/TAP support in one step. For scale tuning see Scaling.

Build

git clone https://github.com/labmonkeys-space/nl6.git
cd nl6/go
go mod tidy
cd nl6
go build -o nl6 .

Run

# Server only — create devices later via the REST API.
sudo ./nl6

# Auto-create 5 devices starting from 192.168.100.1 on a /24.
sudo ./nl6 -auto-start-ip 192.168.100.1 -auto-count 5

Once the simulator is up, open the web UI at http://localhost:8080/ or drive it via the REST API — see Web API.

Verify

# SNMP v2c query against the first auto-created device
snmpget -v2c -c public 192.168.100.1 1.3.6.1.2.1.1.1.0

# Walk interface table
snmpwalk -v2c -c public 192.168.100.1 1.3.6.1.2.1.2.2.1

# SSH (VT100 terminal emulation). Password: simadmin
ssh simadmin@192.168.100.1

See SNMP reference for the protocol coverage and the dynamic HC counter layout.

Next steps