Die Koalition der Willigen (Die Provider Telekom, Vodafone/Arcor, Alice, O2 und Kabel Deutschland) wird in Deutschland langsam aktiv. Nachdem die Einwilligung von der Leyens Pläne umzusetzen von allen großen Providern voreilig verkündet wurde, macht sich Vodafone als erster auf die Zensur umzusetzen.
Im UMTS-Netz von Vodafone werden nach Informationen von zdnet seit Juli 2009 DNS-Anfragen auf Port 53 zwangsweise auf die eigenen DNS-Server umgeleitet, so kann der Provider garantieren dass die eigenen DNS-Server nicht umgangen werden können, selbst wenn Anwender alternative DNS-Server einstellen. Es ist nur eine Frage der Zeit, bis dieser Feldtest auf die DSL-Anschlüsse des Anbieters ausgeweitet wird. Netzneutralität ade… Hallo Zensurstaat!
Wer nun meint, dass Pädophilen somit tatsächlich der Zugang zu einschlägig bekannten Domains unmöglich gemacht wird, der irrt. Es macht nur ein bisschen mehr Arbeit… Löschen statt Sperren wäre immer noch der einzig richtige Ansatz, aber das würde ja Geld kosten und den Bestrebungen unserer Regierung, Deutschland zu einem Überwachungsstaat auszubauen, nicht so gut ins Spiel passen…
Zwar kann man in den Netzwerkeinstellungen aller gängigen Betriebssysteme die DNS-Einstellungen schnell ändern, doch den Port – über den die DNS-Anfragen laufen sollen – zu wechseln, ist meist nicht möglich. Versucht man dies etwa mit Ubuntu und dem NetworkManager, so weigert sich der NM die Einstellungen zu übernehmen.
Um die Zensurmaßnahme der Frau von der Leyen zu umgehen ist jedoch nur ein eigener DNS-Server nötig, denn bei beispielsweise bind9 ist es völlig problemlos möglich höhere DNS-Server über andere Ports als Port 53 abzurufen. Der Artikel auf zdnet geht ausführlich auf Windows als Betriebssystem ein und streif Linux nur kurz, ich ziehe das Pferd mal von der Ubuntu oder Debian Seite auf.
Installation von bind9
Die Installation kann auf Eurem Internet-Router oder auch auf Eurem Desktop erfolgen, als DNS-Server bietet sich bind9 an:sudo apt-get install bind9
. Nach der Installation des Paketes, könnt Ihr an die die Konfiguration von bind9 gehen. Ihr müsst nur die Konfigurationsdatei /etc/bind/named.conf.options
bearbeiten, alles andere ist eigentlich schon passend vorkonfiguriert.
$ sudo nano /etc/bind/named.conf.options
Dort können nun die vom eigenen DNS-Server zu nutzenden nicht zensierenden DNS-Server der German Privacy Foundation e.V., des FoeBuD e.V. oder des Chaos Computer Club e.V. eingetragen werden. Eine Liste mit unzensierten Servern findet sich auf den Seite der Privacy Foundation e.V. oder auf wikileaks.org. Die Einträge müssen letztendlich so ähnlich aussehen.
options { [...] forward only; forwarders { 87.118.100.175 port 110; 62.141.58.13 port 110; 87.118.104.203 port 110; }; [...] };
Natürlich könnt Ihr einen Server Eurer Wahl verwenden. Die Portangabe ist bislang nur im UMTS-Netz von Vodafone nötig. Wer verhindern möchte, dass der DNS-Server von anderen Rechnern im lokalen Netzwerk angesprochen werden kann, der sollte noch die allow-query Option setzen.
options { [...] allow-query { localhost; }; [...] };
Dadurch ist bind9 vollständig eingerichtet, ein Neustart von bind9 mit sudo /etc/init.d/bind9 restart
liest die neue Konfiguration ein, so dass die gerade getroffenen Einstellungen aktiv werden.
Eigenen DNS-Server im System verankern
Nun muss nur noch verhindert werden, dass das System die vom Internetprovider vermittelten DNS-Server verwendet, sondern brav den eigenen DNS-Server benutzt.
Bei DSL und pppoeconf
Solltet Ihr einen eigenen Rechner als Router benutzen, der via pppoeconfig die DSL-Verbindung aufbaut, oder Euren Desktop-Rechner direkt an das DSL-Modem angeschlossen haben und ebenfalls pppoeconf nutzen, so würde ich die zu nutzenden DNS-Server über resolvconf bestimmen. Dazu installiert Ihr das benötigte Paket…
$ sudo apt-get install resolvconf
…und bearbeitet die Datei /etc/network/interfaces
.
$ sudo nano /etc/network/interfaces
Hier tragt Ihr die IP des eigenen DNS-Servers ein über die Option „dns-nameservers“ ein. Sollte der Einwahlrechner identisch mit dem DNS-Server sein, so reicht der Eintrag der IP des localhosts.
[...] auto dsl-provider iface dsl-provider inet ppp pre-up /sbin/ifconfig eth1 up # line maintained by pppoeconf provider dsl-provider dns-nameservers 127.0.0.1 [...]
Nach einem Neustart der Netzwerkeinstellungen über $ sudo /etc/init.d/networking restart
sollten die Einstellungen korrekt sein. In der Datei /etc/resolv.conf
wird der zu benutzende Nameserver stehen.
$ grep nameserver /etc/resolv.conf nameserver 127.0.0.1
Die DNS-Server Eures DSL-Anbieters dürfen hier nicht mehr gelistet werden.
Mit dem NetworkManager
Sollte man den NetworkManager zum Verbindungsaufbau benutzen, so würde ich persönlich nicht die /etc/network/interfaces
anpassen. Klickt ihr mit der rechten Maustaste auf das Icon des NetworkManagers im Panel, so seid Ihr in der Lage Eure Netzwerkeinstellungen zu konfigurieren. Dort könnt ihr auch die zu benutzenden DNS-Server einstellen. Wieder tragt ihr die IP eures DNS-Servers ein.
Wird der eigene DNS-Server auch benutzt?
Jetzt solltet Ihr noch überprüfen, ob der eigene Nameserver auch wirklich benutzt wird. Mittels dig könnt ihr die DNS-Einträge einer Domain bestimmen. Ihr bekommt auch gesagt von welchem DNS-Server diese stammen. In meinem Fall läuft der Nameserver auf dem eigenen Rechner, somit kommt die Antwort vom localhost.
$ dig linuxundich.de [...] ;; Query time: 4 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Mon Sep 28 13:19:53 2009 ;; MSG SIZE rcvd: 168
mmh die ganze Geschichte wird so aber schon deutlich umfangreicher als wenn man wie bisher nur den DNS Server wechseln muss. Nicht dass diese Möglichkeit am Schluss auch noch gesperrt wird. Ist dies DNS-technisch möglich? Auf anderen Ports DNS-Anfragen auch umzuleiten?
Technisch wäre das sicherlich möglich. Das Stichwort wäre Stateful Packet Inspection, damit könnte man überprüfen ob das was über Port X rausgeht auch wirklich über Port X raussollte. Für einen Provider, der Hundertausende von Kunden versorgt, wäre dies jedoch ein wahnsinniger Aufwand.
Hallo Cristoph,
¨…Das Stichwort wäre Stateful Packet Inspection,…¨. Aufwendig heißt eben nicht unmöglich.
Hop Host-Name IP Zeit 1
1 dom 192.168.3.254 0.716
1 dom 192.168.3.254 0.681
2 dom 192.168.3.254 0.668
2 10.121.83.101 10.121.83.101 31.313
3 10.121.83.178 10.121.83.178 30.302
4 mx-ll-110.164.0-157.static.3bb.co.th 110.164.0.157 58.432
5 mx-ll-110.164.0-156.static.3bb.co.th 110.164.0.156 45.906
6 mx-ll-110.164.1-173.static.3bb.co.th 110.164.1.173 42.947
7 mx-ll-110.164.1-167.static.3bb.co.th 110.164.1.167 42.668
8 mx-ll-110.164.1-123.static.3bb.co.th 110.164.1.123 45.939
9 mx-ll-110.164.0-121.static.3bb.co.th 110.164.0.121 245.359
10 decix-j1.inexio.net 80.81.192.137 262.069
11 inexio1.cr2.network.manitu.net 89.238.127.34 269.041
12 isc03.core.wnd.quarxconnect.org 89.238.77.23 271.737
13 www-adv03.wnd.quarxconnect.org 89.238.77.73 263.873
Habe mal eben Deine Domain abgefragt. 192.168.3.254 ist mein Router (Gateway hinter Modem). Die beiden lokalen IPs sind ein freundlicher Service vom Provider. Echt ärgerlich, das Tonbänder kein Standard mehr sind. Freut Euch, nach Jahren des Bastelns laufen die Dinger zu ca. 90% zuverlässig. . Es fällt also nur noch bei großen Updates, Authentifizierungsabläufen (meist PHP) und nicht erreichbaren Seiten auf. Ruft man diese häufig genug über alternative Wege auf, finden jene Seiten dann auch ihren Weg in das getürkte Konstrukt oder zum ¨Das ist nichts für Dich, Du bist ein Feind !!!!¨ (letzteres GLÜCKLICHERWEISE bisher nur Annahme)
Freut Euch, wenn es ganz unauffällig läuft, wird es exportiert (wenn es nicht schon überall Alltag ist).
Nennen wir es Abwehr von Terror. Für jeden Terroristen einen Proxy. Irgendwann sieht man die dann nicht mehr.
_________________________________________________
Normal ist das, woran man sich gewöhnt hat.
beste Grüße aus Thailand
Falkmar
Eine Alternative hierzu wäre auch ein VPN. Wenn man eh einen Rootserver rumlaufen hat kann man diesen auch prima als „Non-Censored-DNS-Server“ missbrauchen/verwenden.
Alternativ könnte man extra hierfür auch IPSec im Transport Mode verwenden…
Es gibt so viele Möglichkeiten der Zensursula zu entkommen, die Frage ist nur welche Seite langfristig den größeren Aufwand betreiben wird/will.
mfg Betz Stefan
„$ sudo nano /etc/init.d/bind9 restart“
Ist da „nano“ an der stelle ein copy-past Fehler ?
Hallo philipps, danke für den Hinweis. Das war ein Fehler.
Funktioniert dies denn auch wenn man sich über einen Router (z.B. Linksys BFSR41) einwählt. Ich vermute mal nein, oder???
Hallo Michael, das Ganze ist unabhängig vom Router. Du kannst auf deinem Rechner den DNS-Server aufsetzen und dein System so einstellen, dass es eben den lokal installierten DNS-Server abfrägt.
Besser wäre es natürlich, wenn du auf deinem System auf zusätzliche Dienste verzichten könntest und deinen Route dazu bringen könntest nichtzensierende DNS-Server über eineanderen Port abzurufen. Ich vermute dass dies nur mit OpenWRT und Co möglich wäre. Leider steht dein Router auf der Liste nicht Unterstützer Hardware…
Warum ist Alice in der Koalition der Willigen? Hat nicht Hansenet sogar dagegen geklagt (und verloren)?
Ja, Hansenet hat einen Prozess geführt, aber selbst die FTD reiht Hansenet in die Koalition der Willigen ein.
Das wird ja immer absurder. Nicht genug, dass mein Provider ohne mein Wissen Umleitungen zu irgendwelchen dämlichen Stoppschildern vornimmt, jetzt schreibt er mir auch noch vor welchen DNS ich zu benutzen habe.
Am besten werden die Pädophilen der Zensursula entkommen, in dem sie sich einfach eine 1TB Festplatte kaufen und die rumreichen. Das abscheuliche „Material“ wo dann da drauf ist wird dann wohl für lange Zeit reichen…
Wieviele Seiten werden eigentlich betroffen sein?
Es ist sicher nur eine Frage der Zeit, bis die Sachen wie L7-Filter (http://l7-filter.sourceforge.net/) benutzen, weil da ist der Port dann egal und man darf sich was aufwändigeres überlegen. 🙁
Tippfehler: da steht wo als Portnummer 59, statt 53.
Außerdem nett: tor-resolve (benötigt tor ;))
Kommentar zu Fabian bzw. L7-Filter: Theoretisch(!) ist es sogar möglich DNS durch HTTPS(=Verschlüsselt und daher nicht filterbar) zu tunneln – und HTTPS können sie uns nun wirklich nicht verbieten…
Wie ich feststellen musste ist es gar nicht so einfach DNS-Server zu finden die auf eine DNS-Anfrage auf Port 110 antworten.
Gibt es eine Liste solcher Server?
Ansonsten ist es recht einfach die wenigen die auf Anfragen auf Port 110 antworten auch noch „umzuleiten“.
Hallo Grek 336, einen x-beliebigen DNS-Server von einem völlig unbekannten Anbieter würde ich nicht verwenden. Es wäre ein leichtes Anfragen zu Homebanking und Co. auf Fishing-Server umzuleiten. Ich persönlich würde nur auf die GPF oder FoeBud setzen, siehe eben https://www.awxcnx.de/handbuch_21g.htm
Super Tutorial, besten Dank dafür!!
Hi Chris,
Super Anleitung erstmal. Ich habe noch zusätzlich in der named.conf.options die „listen-on { 127.0.0.1; };“ directive.
Außerdem kann man auch in der /etc/dhcp3/dhclient.conf die option: „prepend domain-name-servers 127.0.0.1;“ setzen wenn man einen DHCP server nutzt.
Kann ich sowas auch in der Tomato-Router-Firmware konfigurieren?
Hallo Lee Van Cleef, ja das müsste gehen. Ein weiterer Trick wäre es per iptables den Port umzubiegen. Du kannst dich via ssh ja auf einem „Tomato-Router“ einloggen. Angenommen du willst den DNS-Server 87.118.100.175 auf Port 110 nutzen, dann könntest du via
den Port umbiegen. Allerdings weiß ich nicht wie du das bei Tomato fest eintragen kannst. Beim nächsten Reboot, ist die iptable-Regel wieder weg. In /etc/ finde ich keine Runlevel, so dass man da ein Skript eintragen könnte.
@Frederik:
Ja, generell hilft da End-zu-end-Verschlüsselung weiter, aber gerade HTTPS ist ja alles andere als performant (SSL+HTTP+TCP). Aus meiner Sicht ist es ja eigentlich schon lange soweit, daß das alte und zentralistische DNS durch eine dezentrale z.B. DHT basierte Lösung (in Anlehnung an Freenet) ersetzt wird (natürlich mit Fallback Unterstützung). Ja, DNS ist die Geißel des dezentral konzipierten Internet Protokolls und zudem noch unsicher und veraltet.
Hi Christoph,
ich habe Deine Anleitung abgearbeitet, inklusive dem Eintrag allow-query { localhost; }; in der ‚/etc/bind/named.conf.options‘., aber der Befehl dig linuxundich.de gibt mir dieses aus:
DNS-Server ist 213.73.91.35 von dnscache.berlin.ccc.de, kann es sein dass du deinen DNS-Server noch direkt im System eingetragen hast?
Ich hab die /etc/bind/named.conf.options mit sudo gedit bearbeitet, weil ich das mit nano leider nicht verstanden habe, bzw. hinbekommen habe. Meine /etc/bind/named.conf.options sieht wie folgend aus.
Danach habe ich im NetworkManager unter IPv4-Einstellungen bei DNS Server auch die drei oben eingetragenen DNS Server eingegeben (213.73.91.35, 208.67.222.222, 208.67.220.220).
Habe ich da was falsch verstanden? Ich sollte erwähnen, das ich nur einen PC betreibe, und dieser direkt an einem Router hängt.
Sorry für die Mühen, ist es besser einen Thread im Ubuntuusers Forum zu eröffnen?!
[moderiert von Christoph: Kommentare aus named.conf.options entfernt.]
Dann hast du das „forward only;“ übersehen, oder?
Ich habe die /etc/bind/named.conf.options nun um das forward only ergänzt:
Dies hat aber keine Änderung bei der Ausgabe von dig linuxundich.de gebracht!?
P.S.: Leider kriege ich das hier nicht mit den Codeblöcken hin!?
Das ist einfaches html, du musst deine Konfiguration in <pre>…</pre> Tags packen. Hast du da wirklich überall die // gesetzt? Das bedeutet, dass du die Zeile auskommentierst.
forward only;
forwarders {
213.73.91.35;
208.67.222.222;
208.67.220.220;
allow-query { localhost; };
};
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
};
Nach einem sudo /etc/init.d/bind9 restart wird mir aber eine FAIL Fehlermeldung angezeigt!
Ich glaub du bringst du etwas die Syntax durcheinander, die Datei sollte in deinem Fall so…
ausehen.
Na nun funktioniert der bind9 Neustart,…aber wo genau trage ich nun das allow-query { localhost; }; ein? Oder ist das in meinem Single PC Netzwerk gar nicht nötig? Interessiern würds mich schon, wo man das einträgt, denn der Befehl dig linuxundich.de gibt immer noch nicht das aus, was Du oben nennst.
Einfach noch in die Options klatschen. Also bspw.
Habe nun in der /etc/bind/named.conf.option alles so eingetragen, wie Du es genannt hast, trotzdem zeigt mir dig linuxundich als Server: 213.73.91.35#53(213.73.91.35) an, und nicht wie bei Dir Server: 127.0.0.1#53(127.0.0.1) ?
Das ist momentan mein Verständnisproblem!
Was steht denn in deiner /etc/resolv.conf?
da steht drin:
nameserver 213.73.91.35
nameserver 208.67.222.222
nameserver 208.67.220.220
sudo nano /etc/bind/named.conf.option
Da fehlt wohl ein s am Ende, oder?
savalas, ok. Dann ist ds Problem eingegrentzt, du musst deinem System noch sagen, den lokalen DNS-Server zu benutzen. Was benutzt du denn für den Netzwerkzugang? Den NetworkManager?
Ich nutze den Gnome NetworkManager und bin verbunden mit einem D-Link Router.
savalas, hast du mit der rechten Maustaste auf das Icon des NetworkManagers geklickt, „Verbindungen bearbeiten“ gewählt, den „Auto eth0“ eintrag bearbeitet und dort unter „IPv$-Einstellungen auf „Automatisch (DHCP), nur Adressen“ deinen DNS-Server eingetragen? So ähnlich wie hier…
Im Grunde genauso,…
wie auf diesem Screenshot
http://www.ubuntu-pics.de/bild/26422/screenshot1_EGD2Aq.png
savalas, da ist das Problem. Du sagst an dieser Stelle welcher DNS-Server zu nutzen ist. Trage dort eben deinen lokalen DNS-Server und nicht die im Netz ein. Erst dann, wird dein lokaler DNS-Server benutzt.
Na endlich, was ne Geburt! Is halt so, wenn die Profis mit mit den Amteuren…!
Vielen Dank! Und hoffentlich beim nächsten mal mit weniger Begriffstutzigkeit!!
Bis denne und ein schönes WE wünscht savalas
P.S.: In Deinem NetworkManager sieht man IPv6 Einstellungen? Is das erst unter Karmic so?
Kein Problem 🙂 IPv6 ist eigentlich schon immer da. Ich vermute dass das vom Router abhängt.
O.K., dann nehme ich mir mal den Router zur Brust, aber nicht dieses WE,…;)
Nochmals vielen Dank!
Hallo Christoph,
Ich habe hier (eigentlich erst nur für den Gebrauch im privaten LAN gedacht) einen DNS-Proxy gebastelt, wo es reicht in der Konfigurationsdatei /etc/dnsproxy.conf so etwas einzutragen:
(…)
nameserver 87.118.100.175
port 110
(…)
…, dann braucht man kein ganzes Bind zu installieren und zu konfigurieren.
Unter folgender Adresse habe ich auch ein Deb-Paket (vorkonfiguriert) bereitgestellt. Es reicht, das zu installieren und den Server im Networkmanager auf 127.0.0.1 zu stellen.
http://freehal.org/other/dns-proxy/
Gruß
Tobias Schulz
Hi,
ich nochmal, hab da abschließend nochmal eine Frage,…dadurch, das ich mir auf meinem Rechner einen Server bind9 installiert habe, muß mir Gedanken machen über Sicherheit, offene Ports oder Sonstiges?
bin wie man oben lesen konnte doch reichlich unerfahren mit Serverdiensten.
Mit der Option „allow-query { localhost; };“ sagst du bind9 ja, dass nur der eigene Rechner auf den Dienst zugreifen darf. Von daher können anderen Rechner nicht auf den Dienst zugreifen.
Ahh,…O.K.! Das ist mir nur so eingefallen, weil auf einer Seite gelesen habe, das man prüfen soll, ob bind9 gefährdet ist.
Ich habe dann diesen Befehl ausgeführt:
dig +short @127.0.0.1 porttest.dns-oarc.net TXT
Als Anrwort wurde mir dann ausgegeben: porttest.y.x.w.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.pt.dns-oarc.net.
„208.69.35.13 is GREAT: 31 queries in 6.6 seconds from 31 ports with std dev 19632“
Erneut vielen Dank für die beruhigende Antwort.
Und was macht man, wenn die Provider die Sperren auf IP Ebene umsetzen? Sprich mittels Firewall blockieren?
Außerdem verstehe ich nicht ganz, wie man gegen Zensur sein kann und gleichzeitig fordert man das Löschen, ist das Löschen nicht auch eine Art der Zensur?
Natürlich könnten Provider DNS-Server sperren, doch dann würde man das wenigstens merken, das wäre dann aber ein Hase und Igel Spiel… Die einzig endgültige Lösung für Provider wäre Deep Packet Inspection, somit bliebe dann nur noch das Tunneln von DNS über SSH oder ein VPN.
Ähm, dir ist klar um welche Seiten es geht?
@Barkistan: Nein, weil das Löschen rechtsstaatlicher Kontrolle unterliegt. Die Netzsperren hingegen sind eine Black Box, die für Außenstehende nicht kontrollierbar ist.