{"id":1531,"date":"2013-12-11T18:05:03","date_gmt":"2013-12-11T17:05:03","guid":{"rendered":"http:\/\/blog.benny-baumann.de\/?p=1531"},"modified":"2013-12-11T18:12:10","modified_gmt":"2013-12-11T17:12:10","slug":"default-routen-und-route-advertisements","status":"publish","type":"post","link":"https:\/\/blog.benny-baumann.de\/?p=1531","title":{"rendered":"Default-Routen und Route Advertisements"},"content":{"rendered":"<p>Nachdem ich wegen eines Absturzes in einem Treiber die Tage meinen Server einmal neustarten musste, gab es nat\u00fcrlich einen kleineres Problem in de doch relativ aufw\u00e4ndigen Netzwerk-Konfiguration. Per Hand ist an sich nicht viel zu tun, au\u00dfer drei kleine Shell-Scripts auszuf\u00fchren, die das ganze andere Setup \u00fcbernehmen. Aber wie immer steckt der Teufel im Detail, da mich kurze Zeit eine Meldung vom Monitoring erreichte.<!--more--><\/p>\n<p>Die erste Frage war nat\u00fcrlich, was war passiert. Beim Monitoring handelt es sich vereinfacht gesagt um einen extern laufenden Client, der regelm\u00e4\u00dfig die Konnektivit\u00e4t via IPv4 und IPv6 zum Server testet und im Fehlerfalle eine Mailbenachrichtigung auf ein externes System sendet. Da IPv4 und IPv6 getrennt behandelt werden und nur eine Benachrichtigung f\u00fcr IPv6 einging, war recht schnell klar, dass aus irgendeinem Grund das Routing der IPv6-Adressen nicht klappen wollte, obwohl die Adressen an sich hinzugef\u00fcgt wurden. Dies best\u00e4tigte auch der Blick mit<\/p>\n<pre lang=\"bash\">ip a s<\/pre>\n<p>der die gewohnt lange Liste der IPv6 auf den Interfaces lieferte. Was aber \u00fcberraschte war die Ausgabe von<\/p>\n<pre lang=\"bash\">ip r s<\/pre>\n<p>da diese drei Default-Routen \u00fcber ein internes Mesh-Netzwerk offenbarte, aber nicht die sonst zu bevorzugende direkte Route \u00fcber eth0 &#8211; die explizit von den Setup-Scripts hinzugef\u00fcgt wird. Also versucht, die Route manuell noch einmal hinzuf\u00fcgen:<\/p>\n<pre lang=\"bash\">ip -6 r a default via fe80::1 src Pr:i:m:a:r:y:IP:v6 dev eth0<\/pre>\n<p>und postwendend von RTNETLINK den Hinweis bekommen, dass diese Route bereits existieren w\u00fcrde &#8211; nur schade, dass diese vom Kernel eingebildete Route nicht in der realen Routing-Tabelle auftauchte.<\/p>\n<p>Bei den drei bereits existierenden Default-Routen handelte es sich um Route Advertisements, die &#8211; wie bereits erw\u00e4hnt &#8211; zu einem Mesh-Netzwerk geh\u00f6rten. Rein zum Testen habe ich diese dann einmal kurzzeitig entfernt, um nochmals die Default-Route auf reale Hardware zu biegen. Und siehe da: Pl\u00f6tzlich waren da in der Routing-Tabelle wie erwartet 4 Default-Routen: eine auf eth0 und 3 Route Advertisements auf dem Mesh-Netzwerk.<\/p>\n<p><strong>Merke:<\/strong> Statische Default-Routen k\u00f6nnen in Pr\u00e4senz von Route Advertisements nicht hinzugef\u00fcgt werden.<\/p>\n<p>Nunja, die Scripts sind entsprechend aktualisiert.<\/p>\n<p class=\"wp-flattr-button\"><a href=\"https:\/\/blog.benny-baumann.de\/?flattrss_redirect&amp;id=1531&amp;md5=d27c41234f7a280a04f34c85aaeb92ff\" title=\"Flattr\" target=\"_blank\"><img src=\"http:\/\/blog.benny-baumann.de\/wp-content\/plugins\/flattr\/img\/flattr-badge-large.png\" srcset=\"http:\/\/blog.benny-baumann.de\/wp-content\/plugins\/flattr\/img\/flattr-badge-large.png\" alt=\"Flattr this!\"\/><\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>Nachdem ich wegen eines Absturzes in einem Treiber die Tage meinen Server einmal neustarten musste, gab es nat\u00fcrlich einen kleineres Problem in de doch relativ aufw\u00e4ndigen Netzwerk-Konfiguration. Per Hand ist an sich nicht viel zu tun, au\u00dfer drei kleine Shell-Scripts auszuf\u00fchren, die das ganze andere Setup \u00fcbernehmen. Aber wie immer steckt der Teufel im Detail, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"footnotes":""},"categories":[4],"tags":[14,10,162,346],"class_list":["post-1531","post","type-post","status-publish","format-standard","hentry","category-server","tag-bugs","tag-debian","tag-ipv6","tag-server"],"_links":{"self":[{"href":"https:\/\/blog.benny-baumann.de\/index.php?rest_route=\/wp\/v2\/posts\/1531","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.benny-baumann.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.benny-baumann.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.benny-baumann.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.benny-baumann.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1531"}],"version-history":[{"count":4,"href":"https:\/\/blog.benny-baumann.de\/index.php?rest_route=\/wp\/v2\/posts\/1531\/revisions"}],"predecessor-version":[{"id":1539,"href":"https:\/\/blog.benny-baumann.de\/index.php?rest_route=\/wp\/v2\/posts\/1531\/revisions\/1539"}],"wp:attachment":[{"href":"https:\/\/blog.benny-baumann.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1531"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.benny-baumann.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1531"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.benny-baumann.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1531"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}