profile picture

Don't accept router advertisements on IX links

Published on 06 June 2026 - technology

To explore global networking, I run an IPv6-only Autonomous System. Like any network operator, I need routers.

One of the routers is connected to an Internet Exchange LAN network. A while ago, I noticed that router was installing an extra IPv6 default route, which caused routing errors. I didn't give it much attention at that point.

Earlier this week, I decided to find out what was happening. I noticed that it only happened if the BGP LAN link was up. I also noticed that when I removed that route, it would come back after a while. So then I removed it, and it came back again. Rinse and repeat...

That led me to formulate a theory: somebody is running a router on that link which sends out Router Advertisements. On an IX LAN that should not happen: it should strictly serve peer to peer BGP traffic and nothing else.

So I fired up the trusty old tcpdump, let it run for a while with an RA filter, and sure enough: every fifteen minutes or so I saw an RA come in.

That led me to another question: why would my router even honour these, and install that router as a default router. Router Advertisements work by advertising a specific router so clients know where to send their traffic. But I already have a router, and it already has a correctly configured routing table.

Since I use systemd-networkd, it was time to dig into its manuals. And there it was: IPv6AcceptRA, enabled by default.

Now the picture was clear: a combination of two misconfigured routers. Mine, accepting RAs. Theirs, sending RAs.

The fix is simple and obvious. Disable IPv6 RAs on any router link, and instead manually configure addresses and routes.

[Network]
Address = fe80::dead:beef/64
IPv6AcceptRA = no