Vorhin haben wir neue Transit-Adressen für unsere Router an einem Standort bekommen. Flugs habe ich die Einträge in der Netzwerk- und Router-Konfiguration geändert. Bei der ersten Maschine lief alles glatt.
Beim zweiten System quittierte jedoch netctl beim Neustart mit der Meldung ‚RTNETLINK answers: File exists‘. Anscheinend wurde beim Starten des Dienstes die Default-Route gleich zwei Mal versucht, zu setzen. Das geht aber (bei IPv4) nicht, so dass die Konfiguration fehl schlug.
Ein Blick in die Routing-Tabelle brachte zutage, dass die Default-Route zu der korrekten IP-Adresse bereits existiert. Dieser Eintrag kommt jedoch nicht durch unsere Konfiguration, sondern wurde durch den Router-Dienst Zebra hinzugefügt. Wie kommt das?
Offenbar kam die Default-Route durch unser internes Peering mit unserem anderen Standort hinzu. Dort haben wir von unserem Provider eine Default-Route angekündigt bekommen und vergessen, dies zu filtern. Wir möchten schließlich selber entscheiden, wo unser Traffic lang fließen soll. Diese Ankündigung ist uns vorher nicht aufgefallen, weil wir immer zuerst das Interface konfiguriert und anschließend den Routing-Dienst darauf losgelassen haben.
Im Zuge des Umbaus ist jedoch der Routing-Dienst oben geblieben und hat sich die Default-Route geschnappt, so dass netctl dort nicht weiter kam. Manchmal äußern sich Probleme also erst, wenn man noch einmal etwas ändern will. Das ist besonders fies, denn zwischenzeitlich hat ja alles perfekt funktioniert.