Onondaga County AMPRNet
AMPRNet (44net) is amateur radio’s own IP address space — a real, routable network operated by and for licensed hams. This post covers what AMPRNet is, how we run it in Onondaga County, and how to get your station on the K2EXE 44net mesh with a Raspberry Pi.
The full slide deck from the original presentation is still available: Onondaga County AMPRNet slides
What is AMPRNet?
AMPRNet — the AMateur Packet Radio Network — traces its roots to the mid-1980s, when it was proposed by Brian Kantor as a packet radio network allocation. The entire 44.0.0.0/8 block was assigned to amateur radio, making it one of the oldest “special use” networks on the internet.
Today 44net serves a wide variety of internet- and radio-connected services: traffic over RF, over 802.11 WiFi, and over VPN tunnels that stitch regional networks together into a worldwide ham-run internet.
Our allocation: 44.68.204.0/28
Onondaga County operates on the 44.68.204.0/28 sub-block allocated from the AMPR.ORG space — 16 addresses, one of which belongs to the gateway, with the rest allocated one per node.
The K2EXE network architecture
The local 44net is built as a Tinc VPN mesh, anchored by a gateway in AWS
(us-east-1) with services published under k2exe.ampr.org:
ampr.k2exe.com— Onondaga County AMPRNet gatewaymesh.k2exe.ampr.org— mesh entry pointwl2k.k2exe.ampr.org— Winlink gateway (see the K2EXE-10 Winlink post)bbs.k2exe.ampr.org— JNOS BBSvoip.k2exe.ampr.org— VOIP / Allstar servicesw2jst.ampr.org— W2JST BBRC node
Portable Raspberry Pi nodes
The intended client is a portable Raspberry Pi station — flash the config, pick an IP, and you’re on 44net from anywhere with internet. That makes it a great fit for portable operations, emcomm go-kits, and club demos.
Getting on the mesh
1. Request an IP allocation
You’ll need to contact K2EXE to get an address allocated from our 44.68.204.0/28 pool.
2. Run the Ansible provisioning scripts
The automation lives in the
k2exe-rpi-config repository.
Set your callsign and node IP in tinc/vars/main.yml, then:
pi@k2exe-1:~/k2exe-config$ ansible-playbook playbook.yml --tags tinc
Ansible installs the server config and generates the keyfiles for your node.
3. Send your public key
Send your public key file — /etc/tinc/k2exe/hosts/<your-node-name-or-callsign>
— back for configuration on the server.
4. Enable and start Tinc
sudo systemctl enable tinc@k2exe
Installing radio tools
The same playbook can provision a full software-defined radio station in one command — or select individual items with Ansible tags:
- Fldigi and the full NBEMS suite
- JS8Call
- WSJT-X (FT-8 and FT-4)
- Pat Winlink
- JNOS BBS
- CHIRP
- piardop
- ampr-ripd (44net route advertisement)