Newansage v0.4.0 is out
Docs / Introduction

Introduction

ansage announces your own prefixes over BGP, and with filters and roles passes routes on to customers.

ansage is a BGP router for Linux, written in Rust. It is growing into a replacement for BIRD and FRR, and is safe by default: a new config sends only your own prefixes and accepts nothing.

Today it announces your own prefixes (anycast services, a VPS's IPv6 range) to one or more routers. With roles and filters it also passes learned routes on, e.g. a transit's table to your customers. With [kernel] it installs the best routes it learns into the Linux routing table.

/etc/ansage/ansage.toml
asn = 64500
router_id = "203.0.113.1"
announce = ["192.0.2.0/24", "2001:db8:1::/48"]

[[neighbor]]
address = "10.0.0.1"
asn = 64501

What it does

  • Announces the prefixes from the config, plus ansage announce / ansage withdraw at runtime.
  • Drains a site (RFC 8326) before maintenance, so traffic moves without a hard withdraw.
  • Upgrades without dropping routes (ansage upgrade, Graceful Restart).
  • Optionally installs the best learned routes into the Linux routing table ([kernel]).
  • Passes routes on to customers with filters and BGP roles (RFC 9234), which block route leaks.
  • Explains what it does with a route, step by step, before you change anything (ansage test).
  • Reports through ansage show, Prometheus metrics, a JSON API and live events.

What it does not do

Where to go

Esc to close