{"id":1082,"date":"2011-09-03T02:50:29","date_gmt":"2011-09-03T00:50:29","guid":{"rendered":"http:\/\/blog.benny-baumann.de\/?p=1082"},"modified":"2011-09-03T03:05:39","modified_gmt":"2011-09-03T01:05:39","slug":"technische-notwendigkeit","status":"publish","type":"post","link":"https:\/\/blog.benny-baumann.de\/?p=1082","title":{"rendered":"Technische Notwendigkeit"},"content":{"rendered":"<p>Ich habe mir da einen neuen Server geholt und eine der Sachen war nun, dass abzusehen war, dass mehrere der zu installierenden Dienste sich ins Gehege kommen w\u00fcrden. Also grob gesagt: Es gab 3 Dienste, die liebend gerne auf Port 53 laufen wollen. Nun sind IPv4-Adressen knapp und der neue Hoster achtet etwas strenger drauf, wof\u00fcr man die haben m\u00f6chte. Da ich aber wenig Lust auf irgendwelche Sonderkonfigurationen hatte, um jeden Service auf einem andere Port zu betreiben und am Ende alles irgendwie zu verdrahten, habe ich mir also \u00fcberlegt:<\/p>\n<ul>\n<li>Auf der Haupt-IP des Servers wird der gesamte Web-Krams, sowie Public-Services laufen. Hier l\u00e4uft auch der erste der konfliktierenden Services: Ein offener DNS-Recursor, den jedermann als DNS-Server in seinem Router eintragen kann. Soweit unspannend also.<\/li>\n<li>Die erste spannende Geschichte l\u00e4uft nun auf der ersten Zusatz-IP. Diese beherbergt (zur Zeit) einen autoritiven DNS-Server, der auf eine Reihe von meinen eigenen Zonen autoritiv antwortet, was u.a. meine Blacklist f\u00fcr Client-IPs betrifft, die \u00fcber meinen Mailserver relayn wollten.<\/li>\n<li>Und bei der zweiten zus\u00e4tzlichen IP schlie\u00dflich laufen eine Reihe von VPN-Dienste, die in Kooperation mit dem <a href=\"http:\/\/chemnitz.freifunk.net\/\">Freifunk Chemnitz<\/a> bereitgestellt werden.<\/li>\n<\/ul>\n<p>Man geht also beim Provider in das Webinterface und bestellt \u00fcber das verf\u00fcgbare Interface die IPs. Als Teil dieser Prozedur wird dann auch bereits nach einer Begr\u00fcndung gefragt. Was aber noch nicht verraten wird, ist die Angabe, um welches der zahlreichen RIPE-Dokumente es sich bei den erw\u00e4hnten Vergabe-Richtlinien handelt, anhand derer die Vergabe entschieden wird.<!--more--><\/p>\n<p>F\u00fcr die erste Zusatz-IP fiel dann nat\u00fcrlich die Begr\u00fcndung ungef\u00e4hr nach folgender Art aus:<\/p>\n<blockquote><p>IP f\u00fcr den Betrieb eines VPN-Dienstes zur Einwahl in das Firmen-VPN<\/p><\/blockquote>\n<p>Wer sich wundert: Ja, diese Angabe ist trotz der seltsamen Formulierung durchaus korrekt und vollkommen richtig. Dem Support war dies aber irgendwie trotzdem nicht ausreichend. Naja, dem Support vielleicht schon, dem RIPE-Dokument <a href=\"http:\/\/www.ripe.net\/ripe\/docs\/ripe-509\">RIPE-509<\/a> aber offenbar nicht. Wer jetzt aber vermutet, dass man einen halbwegs aussagekr\u00e4ftigen Antwort-Text vom Support erh\u00e4lt, der irrt: Die Antwort bestand (Footer und Disclaimer au\u00dfen vor) aus sagenhaften 5 Zeilen &#8211; Begr\u00fc\u00dfung und Gru\u00dfformel mitgerechnet.<\/p>\n<blockquote><p>for VPN you can&#8217;t get an additional IP.<br \/>\nThis purpose is not in accordance with RIPE guidelines.<\/p><\/blockquote>\n<p>Gut, aber andere betreiben doch auch VPN-Server. Haken wir doch mal kurz beim Telefon-Support nach. Angerufen, sofort auch jemanden an der Leitung, aber da die Frage f\u00fcr den fr\u00fchen Morgen vielleicht etwas zu technisch wurde, an die Fachabteilung weiterverwiesen wurden. Dort bekam ich dann auch nach Schilderung meines Anliegens sofort den hei\u00dfen Tipp: Schreiben Sie&#8217;s technischer und das sollte durchgehen.<\/p>\n<blockquote><p>Gr\u00fcnde f\u00fcr Zusatz-IP f\u00fcr VPN sind:<\/p>\n<ol>\n<li>Administrative Trennung der Datenstr\u00f6me<\/li>\n<li>Der auf der Haupt-IP laufende BIND, der sich mit einer Teilkomponente des VPN-Dienstes bei\u00dft.<\/li>\n<\/ol>\n<\/blockquote>\n<p><strong>Achievement unlocked: IP f\u00fcr VPN-Server \ud83d\ude09<\/strong><\/p>\n<p>Nun werden viele meinen, aber technisch notwendig ist das doch nicht, weil man den VPN-Server, bzw. die betroffene Komponente (einen IP-over-DNS-Tunnel-Server) auch auf einem andren Port betreiben k\u00f6nnte, um dann die relevanten Anfragen einfach zu proxien. Nunja: Warum bei einem Dienst, der eh bereits viel Aufwand f\u00fcr das Parsen der Datenstr\u00f6me hat unn\u00f6tige Komponenten dazuwischen schalten? Es reicht schon, wenn man da ohne YetAnotherProxy dazwischen in dem Tunnel kaum mehr als als Modem-Speed schafft. Wenn man dann den VPN-Server noch zus\u00e4tzlich auslastet, wird das garantiert nicht besser.<\/p>\n<p>Bliebe also noch zu kl\u00e4ren, wie die Trennung von Recursor und autoritivem DNSRBL-Server am einfachsten zu begr\u00fcnden geht. Hmmm, probieren wir den offensichtlichen Weg:<\/p>\n<blockquote><p>Auf dem Server l\u00e4uft bereits ein DNS-Server als DNS-Cache und -Rekurser, w\u00e4hrend auf der anderen Zusatz-IP ein VPN-Dienst l\u00e4uft, der den ben\u00f6tigten Port auch blockiert. Die Notwendigkeit liegt nun darin, dass der Betrieb von DNS-Rekursern und authoritiven Systemen auf getrennten IPs empfohlen wird.<\/p><\/blockquote>\n<p>Gut, klingt erstmal seltsam und leider konnte ich da auf die Schnelle nicht das passende IETF-issued Document for Veriification\u2122 finden. Also sollte das doch erstmal reichen: Manchmal funktioniert das mit dem Beweis durch Autorit\u00e4t ja.<\/p>\n<p>In diesem Fall jedoch nicht. Also zumindest der RIPE-Beauftragte war da etwas hartn\u00e4ckiger, als gedacht:<\/p>\n<blockquote><p>unser RIPE Beauftragter m\u00f6chte noch wissen:<\/p>\n<blockquote><p>&#8230;und aus technischer Sicht anzuraten, den autoritiven Teil des Nameservers auf einer getrennten IP zu betreiben.<\/p><\/blockquote>\n<p>Warum wird das technisch angeraten?<\/p><\/blockquote>\n<p>Weil ich das so sage? Ne, kommt glaube nicht so gut. Auch wenn ich mich jedes Mall angesprochen f\u00fchle, wenn jemand &#8222;Gott sei Dank!&#8220; sagt, aber wir haben hier einen durchaus interessierten Menschen; ihm soll auf seine Frage eine angemessene Antwort gegeben werden!<\/p>\n<blockquote><p>Ihre letzte offene Frage m\u00f6chte ich gerne beantworten:<\/p>\n<blockquote><p>unser RIPE Beauftragter m\u00f6chte noch wissen:<\/p>\n<blockquote><p>&#8230;und aus technischer sicht anzuraten, den auhoritiven Teil des Nameservers auf einer getrennten IP zu betreiben.<\/p><\/blockquote>\n<p>Warum wird das technisch angeraten?<\/p><\/blockquote>\n<p>Beim Betrieb eines Recursors entsteht in Abh\u00e4ngigkeit der Anfragen eine recht hohe Last, da die Antworten auf Anfragen f\u00fcr einen Recursor im Zweifelsfall nicht aus einem Cache geholt werden k\u00f6nnen. Somit ben\u00f6tigt die Beantwortung von Recursor-Anfragen im Vergleich zu autoritiven Antworten mehr Resourcen. Aus diesem Grund ist es ratsam zum Begrenzen der Resourcen ein Rate Limitting durchzuf\u00fchren, bei dem die Anzahl von (offenen) Anfragen bereits im Vorhinein begrenzt wird (z.B. durch Verwerfen von Anfragen, die das Last-Limit \u00fcbersteigen). Wird dies jedoch auf einer IP gemacht, auf der sowohl rekursive wie auch autoritive Anfragen eintreffen, so muss erst der Paket-Inhalt analysiert werden, bevor \u00fcber das Rate Limitting entschieden werden kann. Trennt man die IPs f\u00fcr rekursive und autoritive Anfragen, kann man bereits ohne Betrachtung des Paket-Inhaltes das Rate Limitting vornehmen und bereits mit Mitteln des Betriebssystems lastspezifische, unterschiedliche Limits erreichen, ohne eine unn\u00f6tige Verschlechterung der Erreichbarkeit der autoritiven Zone zu riskieren oder \u00fcberm\u00e4\u00dfig Resourcen zum Lesen der Paketinhalte aufzuwenden.<\/p><\/blockquote>\n<p><strong>Achievement unlocked: IP f\u00fcr DNS-RBL-Server \ud83d\ude09<\/strong><\/p>\n<p>Okay, ich fasse zusammen: Man muss seinen DNS-Server nur mit statischem Load-Balancing und Vermeidung von DPI begr\u00fcnden, dann klappt&#8217;s auch mit der IP. Die oben genannte Begr\u00fcndung ist zwar an sich richtig, aber der springende Punkt ist der Grund nun wiederum auch nicht: Statisches Load Balancing egal ob mit oder ohne Rate Limitting funktioniert nur in begrenztem Umfang. Solange man also die Last auf die einzelnen Systeme absch\u00e4tzen kann, mag es gehen; sobald aber ein Public DNS-Server ins Spiel kommt, ist die Last ungef\u00e4hr so gut vorhersehbar wie die Lottozahlen von n\u00e4chster Woche. Technisch mag das also durchaus stimmen; rein es w\u00fcrde hoffentlich keiner real so machen.<\/p>\n<p>Genauso wie beim VPN-Dienst steckt hinter der Trennung auch hier wieder ein im Wesentlichen administrativer Gedanke: Nicht nur m\u00f6chte ich den Public DNS getrennt von nem autoritiven DNS haben, der die Erreichbarkeit der dar\u00fcber angebotenen Zonen zu gew\u00e4hrleisten hat, sondern m\u00f6chte ich ferner auch erreichen, dass beim Abfragen von autoritiven Zonen unter meiner Kontrolle nicht gleich jedes Webmaster-Tool rummeckert, dass da auch ein Public Resolver l\u00e4uft.<\/p>\n<p>Nunja. Bliebe noch zu erw\u00e4hnen:<br \/>\n<strong>Achievement unlocked: Mit kreativen, technisch wenig zielf\u00fchrenden Begr\u00fcndungen IPs bekommen \ud83d\ude09<\/strong><\/p>\n<p>W\u00e4hrend das VPN bereits funzt, brauch das mit dem DNS noch etwas. Naja, BIND scheint die gew\u00fcnschte Konfiguration irgendwie nicht ganz zu verstehen. Aber ich denk, mit etwas Einsatz der richtigen Black Magic wird das auch noch ^^<\/p>\n<p>P.S.: Das zus\u00e4tzliche IPv6-\/64-Subnetz war mit einem Klick und der Best\u00e4tigung der Daten\u00fcbermittlung an die <del>Schufa<\/del>RIPE erledigt. Keine Begr\u00fcndung, nix.<\/p>\n<p class=\"wp-flattr-button\"><a href=\"https:\/\/blog.benny-baumann.de\/?flattrss_redirect&amp;id=1082&amp;md5=9009252f47222b5a2cbe582eba8af3fa\" 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>Ich habe mir da einen neuen Server geholt und eine der Sachen war nun, dass abzusehen war, dass mehrere der zu installierenden Dienste sich ins Gehege kommen w\u00fcrden. Also grob gesagt: Es gab 3 Dienste, die liebend gerne auf Port 53 laufen wollen. Nun sind IPv4-Adressen knapp und der neue Hoster achtet etwas strenger drauf, [&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":[48,347,69,314,346,313],"class_list":["post-1082","post","type-post","status-publish","format-standard","hentry","category-server","tag-dns","tag-fun","tag-internet","tag-ripe","tag-server","tag-vpn"],"_links":{"self":[{"href":"https:\/\/blog.benny-baumann.de\/index.php?rest_route=\/wp\/v2\/posts\/1082","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=1082"}],"version-history":[{"count":3,"href":"https:\/\/blog.benny-baumann.de\/index.php?rest_route=\/wp\/v2\/posts\/1082\/revisions"}],"predecessor-version":[{"id":1084,"href":"https:\/\/blog.benny-baumann.de\/index.php?rest_route=\/wp\/v2\/posts\/1082\/revisions\/1084"}],"wp:attachment":[{"href":"https:\/\/blog.benny-baumann.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1082"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.benny-baumann.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1082"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.benny-baumann.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1082"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}