FROP::AS219265

FROP AS219265

Een persoonlijk stukje internet. Niet omdat het moest, maar omdat een ColoClue-bestuurder die zelf geen IP-ruimte adverteert een beetje een hypocriet is.

βœ“ AS219265 βœ“ 150.251.61.0/24 βœ“ 2001:67c:2240::/48 βœ“ RPKI (ROA) βœ“ ASPA βœ“ IRR

01 Β· Het verhaal

Ik ben sinds voorjaar 2026 voorzitter van ColoClue (AS8283) β€” een vrijwilligersvereniging die haar eigen BGP-netwerk runt, puur voor natuurlijke personen, zonder winstoogmerk. Onze eigen omschrijving: "een speeltuin waar leden zelf aan het internet kunnen engineeren."

Op een gegeven moment realiseerde ik me: ik praat hier de hele tijd met anderen over IP-ruimte, BGP-beleid en RPKI β€” "adviseren" is eigenlijk te groot woord, praten dekt de lading beter β€” maar zelf had ik nog nooit een eigen ASN aangevraagd. Dat voelde krom. Dus: moreel verplicht, mijn eigen stukje internet.

De naam

Ik had zelf een lijst BGP-inside-jokes klaarliggen. Die zijn allemaal afgeschoten door mijn vrouw, die in plaats daarvan FROP voorstelde. Geen acroniem, geen diepere betekenis. Gewoon FROP. Ze had gelijk.

HOLE1

Het RIPE-contactobject voor abuse-meldingen heet officieel "FROP Blackhole Operations", nic-hdl HOLE1. Volledig overbodig serieus voor een netwerk van deze omvang. Precies daarom bestaat het.

De IPv4-ruimte (150.251.61.0/24) heeft trouwens een verrassend verleden: het maakt deel uit van een blok dat IANA in 1991 rechtstreeks toewees aan Solvay S.A., een Belgisch chemieconcern. Pre-RIR-adresruimte, decennia later via een handelaar in Emmen op de markt gebracht β€” ik heb het toen samen met Yolomedia gekocht, waarna het blok is opgesplitst en dit /24-deel aan mij is toebedeeld. Klein voorbehoud bij het "verrassend verleden": ikzelf ben ouder dan dit blok. Alleen niet als netwerkbeheerder ervan.

02 Β· Het lab

FROP draait op buggy, een gedeelde hypervisor in ColoClue DC3 (die toevallig ook een stuk of tien andere VM's van vrienden host β€” dit is geen dedicated routertje, dus geheugengebruik is altijd een reΓ«le zorg, geen theoretische).

De volledige BGP-configuratie wordt gegenereerd vanuit NetBox: peers, filters, prefix-lists, IRR-macro's β€” alles komt uit één source-of-truth en wordt met Jinja2 naar een werkende openbgpd-configuratie gerenderd. Handmatig een configregel aanpassen is hier letterlijk niet de bedoeling.

Kant-en-klaar boven knutselwerk. Zelf kunnen snappen wat er draait, boven blindelings een tutorial volgen.

En, om maar eerlijk te zijn: dit project β€” deze website incluis β€” komt tot stand met de nodige hulp van AI. Geen autopilot die zelf een ASN aanvraagt, meer een oneindig geduldige stagiair die net zo lang blijft uitzoeken waarom bgpd -n weer klaagt.

03 Β· War stories

Een eigen AS live krijgen ging niet in één keer goed. Een kleine bloemlezing van dingen die daadwerkelijk zijn misgegaan, ter geruststelling van iedereen die denkt dat BGP vanzelf werkt:

"13,8 miljoen netlink-drops"

Een hardnekkige foutmelding leidde tot de conclusie dat de kernel netlink-berichten liet vallen β€” sockbuffers verhoogd, daemon herstart, probleem "opgelost". Bleek achteraf toeval: het getal waar de diagnose op gebaseerd was, was niet de drop-teller maar de inode-kolom van /proc/net/netlink. Drops stonden gewoon op 0. De echte oorzaak (hieronder) kwam pas boven via strace.

Ping-pong met mezelf

Iemand stuurde een traceroute door met 30 hops en veel heen-en-weer-gekaats tussen mij en mijn upstream. Oorzaak: mijn eigen geadverteerde ruimte was niet lokaal weggegooid (blackhole), dus viel verkeer naar niet-toegewezen adressen terug op de default route β€” die de upstream vervolgens weer naar mij terugstuurde, want ik ben toch de origin AS. Klassieke "je announcet het, maar routeert het zelf niet af"-blunder.

Een sessie die zichzelf weigerde

Een peer van "disabled" naar "enabled" gezet, configuratie herladen β€” en de sessie bleef gewoon op Idle staan, terwijl de andere kant zichtbaar bleef proberen te verbinden. RFC 4271-detail: een sessie in de Idle-state weigert per specificatie alle inkomende verbindingen, en een reload genereert geen nieuw "start"-signaal voor een sessie die al in Idle geparkeerd stond. Oplossing: een simpel bgpctl neighbor <ip> up. Twee keer tegengekomen tijdens hetzelfde project β€” dus blijkbaar een les die niet in één keer beklijft.

04 Β· Peeren?

Zit je op Frys-IX of ColoClue en lijkt het je leuk om te peeren met een AS dat vooral bestaat omdat het kon? Neem gerust contact op via de contactgegevens in het RIPE-object van AS219265. Beleid is simpel: bilaterale peers worden dynamisch gefilterd op jouw eigen geregistreerde IRR-as-set β€” registreer die dus netjes, dan gaat de rest vanzelf.