Border Gateway Protocol (BGP) is the routing protocol that holds the internet together. It's how you can view this document regardless of who your Internet Service Provider is.
OpenBGPD is OpenBSD's cross-platform BGP implementation. The author uses it personally on their network.
The router-id line contains your BGP router ID. This is an IPv4 address but can be a dummy non-routable address (e.g. 169.254.x.x) if you are doing IPv6-only BGP.
The listen on line tells which interfaces to listen to. We should listen on all interfaces speaking BGP.
The network lines add the networks we want to advertise.
The allow to ebgp prefix line adds RFC8212 compliance for routing security. Some hosting companies, such as BuyVM, require this.
The neighbor blocks specify each IPv4 and IPv6 peer.
The remote-as line specifies the upstream's AS number.
The announce IPv4 line specifies whether we should announce unicast IPv4 routes or none. This should be none on an IPv6 upstream.
The announce IPv6 line specifies whether we should announce unicast IPv6 routes or none. This should be none on an IPv4 upstream.
The local-address line is the upstream's IPv4 or IPv6 address.
Some upstreams may use an MD5 password or BGP multihop. Should that be the case, your neighbor blocks will look like this:
While BGP may seem daunting initially, once you master it, you can get your piece of the internet routing table. OpenBGPD's simplicity makes having a software router or anycast server even easier. Enjoy!