Skript: DNS-Server ändern

In: GNU/Linux

14

Okt

2009

Habe gerade beim Stöbern in meinen Dateien ein kleines Skript wieder entdeckt, welches den verwendeten DNS-Server unter Ubuntu dauerhaft ändert.

Mit einem alternativen DNS-Server lassen sich unter anderem die von der Bundesregierung geplanten Netzsperren (offiziell: Zugangserschwerungsgesetz) oder die mit Werbung aufgeblähten 404-Suchseiten von Telekom und Hansenet umgehen.

Im Skript lassen sich 3 Server eintragen; funktioniert der erste nicht, wird der nächste verwendet. Sollte es wider Erwarten zu einem Fehler kommen, wird ein zuvor angelegtes Backup der Konfigurationsdatei automatisch zurück gespielt.

Weitere unzensierte und freie DNS-Server findet ihr unter anderem auf folgenden Internetseiten:

Wer noch einen Schritt weiter gehen möchte, kann den DNS-Server abseits von Port 53 abfragen (was imho momentan noch nicht unbedingt notwendig ist).

Die DNS-Server beeinflussen übrigens auch die Surfgeschwindigkeit – teilweise sind sie schneller, als die des Providers, oft leider aber auch langsamer. Bei OpenNIC kam mir die Geschwindigkeit rein subjektiv sehr schnell vor.

#!/bin/bash
# Change the DNS server on Ubuntu
# v1.1 by JaiBee, 2009
 
DNS1="217.79.186.148"		# OpenNIC (NRW, keine Logs)
DNS2="81.89.98.6"		# OpenNIC (Bayern, Logs anonymisiert)
DNS3="94.75.228.29"		# German Privacy Foundation e.V.
 
# weitere:
# DNSx="208.67.220.220"		# OpenDNS
# DNSx="85.214.73.63"		# FoeBuD e.V.
# DNSx="213.73.91.35"		# Chaos Computer Club Berlin
 
# # # # # # # # # # # # #
 
echo "- Lege Backup an"
sudo cp /etc/dhcp3/dhclient.conf /etc/dhcp3/dhclient.conf.bak
 
echo "- Trage DNS-Server in \"/etc/dhcp3/dhclient.conf\" ein"
sudo sed -i "/prepend domain-name-servers/c\prepend domain-name-servers $DNS1,$DNS2,$DNS3;" /etc/dhcp3/dhclient.conf
sudo sed -i 's/domain-name-servers, //' /etc/dhcp3/dhclient.conf
 
echo "- Starte Dienste neu:"
sudo /etc/init.d/NetworkManager restart
sudo /etc/init.d/networking restart
# sudo restart -q network-manager	# ab Ubuntu 9.10
 
echo "- Kontrolliere Einstellungen"
for i in $(seq 1 3)
do
	USED=$(nslookup www.google.com | grep Server | cut -f3)
 
	if [ "$USED" == $DNS1 -o "$USED" == $DNS2 -o "$USED" == $DNS3 ]; then
	  echo "=> KONFIGURATION ERFOLGREICH"
	  echo "   verwende $USED"
	  exit
	fi
done
 
echo "=> KONFIGURATION FEHLGESCHLAGEN"
echo "  Spiele Backup zurück"
sudo mv /etc/dhcp3/dhclient.conf.bak /etc/dhcp3/dhclient.conf

Update:

Ab Ubuntu Karmic Koala (9.10) müssen die Zeilen

sudo /etc/init.d/NetworkManager restart
sudo /etc/init.d/networking restart

durch die folgende ersetzt werden:

sudo restart -q network-manager

Wie man vorgehen muss, um den DNS-Server ohne das Skript zu ändern zeigt folgendes YouTube-Video:

YouTube-Player

Werbung:

4 Kommentare zu Skript: DNS-Server ändern

» Kommentar schreiben

Avatar

Torge

17. Februar 2011 um 15:41

Krass dass das mit einem ich sag mal noch relativ kleinem script machbar ist. Habe es sogar ohne Problem hinbekommen, obwohl ich eigentlich kaum Ahnung davon habe.

Hat mir sehr geholfen Danke Danke

Diesen Beitrag zitieren

Avatar

Klaus

3. März 2011 um 07:24

Können man das Script noch so erweitern, dass die Geschwindigkeit der DNS-Server berücksichtigt wird? Das heißt, wenn ein DNS-Server zu langsam ist wird herausgenommen aus der Liste. So dass man am Ende wirklich brauchbare verwendet. Das wäre genial.

Diesen Beitrag zitieren

Avatar

Janek

3. März 2011 um 15:02

Klaus, um den jeweils schnellsten DNS-Server zu finden, kannst du das Tool namebench verwenden.

Gruß Janek

Diesen Beitrag zitieren

Avatar

Kerbie

6. März 2011 um 11:30

Hallo,

mmhhh…. ich fuinde das ansich ja mal ne gute Sache. Finde aber auch, dass ma ndas Script noc ein wenig erweitern sollte. Würde mal behaupten, dass die Geschwindigkeit eher rückläufiger ist. Du hast zwar gesagt, Dein subjektives Empfinden sioeht das eher anders, aber ich wage das mal zu bezweifeln. Ich meine natürlich nicht Dein Empfinden, neiun ich meine die Geschwindigkeit.

Ansonstenfinde ich das ne gute Sache. Aber grenzt das nicht schon wieder ein wenig an “Darf man das eigentlich?”??

Gruß

Bearbeitet von Janek am 6. März 2011: Hallo Kerbie, als SEO hast du vermutlich nur wegen des Backlinks einen Kommentar gepostet. Da du dir dabei nicht sonderlich viel Mühe gegeben hast, habe ich den Link entfernt. Ich bitte um Verständnis.

PS: Dein anderer Kommentar bleibt unangetastet ;-) .

Diesen Beitrag zitieren

Kommentar schreiben

Erlaubte Tags:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">

Die nofollow-freien Links richten sich in erster Linie an Blogger und Betreiber von privaten Homepages. Beiträge, die im Feld "Homepage" eine kommerziellen Internetseite enthalten, werden daher meist als Spam eingestuft, da davon ausgegangen werden muss, dass diese nur dem Linkaufbau dienen sollen.

Abonnieren ohne einen Kommentar abzugeben

Über 321tux.de

Hier bloggt Janek (19 Jahre, Schüler) aka JaiBee v.a. über Themen rund um Ubuntu und GNU/Linux, sowie vereinzelt auch über WordPress und sonstigen Themen des Internets.

Twitter Identi.ca Identi.ca

Google+

Beliebte Beiträge

Shell-Button

Panel Applets Button

EncFS-Button

Lucid-Button

Grafiken erstellt mit GIMP