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.

DNS-Einstellungen des NetworkManagers
DNS-Einstellungen des NetworkManagers

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
guest
74 Kommentare
Inline Feedbacks
Zeige alle Kommentare
matthias

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?

Falkmar

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

Betz Stefan

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

philipps

„$ sudo nano /etc/init.d/bind9 restart“

Ist da „nano“ an der stelle ein copy-past Fehler ?

Michael

Funktioniert dies denn auch wenn man sich über einen Router (z.B. Linksys BFSR41) einwählt. Ich vermute mal nein, oder???

adun

Warum ist Alice in der Koalition der Willigen? Hat nicht Hansenet sogar dagegen geklagt (und verloren)?

FERNmann

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…

BT90

Wieviele Seiten werden eigentlich betroffen sein?

Fabian

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. 🙁

Frederik

Tippfehler: da steht wo als Portnummer 59, statt 53.

Außerdem nett: tor-resolve (benötigt tor ;))

Frederik

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…

Grek 336

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“.

produnis

Super Tutorial, besten Dank dafür!!

XRay

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.

Lee Van Cleef

Kann ich sowas auch in der Tomato-Router-Firmware konfigurieren?

Fabian

@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.

savalas

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:

; <> DiG 9.5.1-P2 <> linuxundich.de
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48553
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;linuxundich.de.			IN	A

;; ANSWER SECTION:
linuxundich.de.		3600	IN	A	89.238.77.11

;; Query time: 264 msec
;; SERVER: 213.73.91.35#53(213.73.91.35)
;; WHEN: Thu Oct  1 23:08:27 2009
;; MSG SIZE  rcvd: 48
savalas

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.

options {
	directory "/var/cache/bind";
	auth-nxdomain no; 
	listen-on-v6 { any; };
};

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.]

savalas

Ich habe die /etc/bind/named.conf.options nun um das forward only ergänzt:

        // forward only;
	// forwarders {
	// 	213.73.91.35;
        //      208.67.222.222;
        //      208.67.220.220;
        //      allow-query { localhost; };     
	// };

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!?

savalas

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!

savalas

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.

savalas

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!

savalas

da steht drin:

nameserver 213.73.91.35
nameserver 208.67.222.222
nameserver 208.67.220.220

Hans

sudo nano /etc/bind/named.conf.option

Da fehlt wohl ein s am Ende, oder?

savalas

Ich nutze den Gnome NetworkManager und bin verbunden mit einem D-Link Router.

savalas

Im Grunde genauso,…

wie auf diesem Screenshot

http://www.ubuntu-pics.de/bild/26422/screenshot1_EGD2Aq.png

savalas

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?

savalas

O.K., dann nehme ich mir mal den Router zur Brust, aber nicht dieses WE,…;)

Nochmals vielen Dank!

Tobias Schulz

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

savalas

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.

savalas

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.

Barristan

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?

FERNmann

@Barkistan: Nein, weil das Löschen rechtsstaatlicher Kontrolle unterliegt. Die Netzsperren hingegen sind eine Black Box, die für Außenstehende nicht kontrollierbar ist.