'

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

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

Schön, dass du hier bist!

Doch leider kommst du ein wenig zu spät, da ich, Janek, meinen 2009 gestarteten Blog im Jahr 2011 nach 46 Beiträgen mit insgesamt 721 Kommentaren eingestellt habe.

Ich schrieb v.a. über Ubuntu und GNU/Linux, sowie vereinzelt über WordPress und sonstigen Themen des Internets.

Die Kommentarfunktion steht nur noch für ausgewählte Beiträge zur Verfügung.

Durch zahllose Updates des zugrundeliegendes Blogsystems in den vergangen Jahren, kann es an der ein oder anderen Stelle zu kleineren Fehlern kommen.

Twitter Identi.ca

Google+

Beliebte Beiträge

Shell-Button

Panel Applets Button

EncFS-Button

Lucid-Button

Grafiken erstellt mit GIMP

  • Lukas Heier: Hallo Janek, hi @all, ich bekomme immer folgende Fehlermeldung in meinem Skript: rsync: link_ [...]
  • Linux – Shell-Befehlsübersicht für Linux Einsteiger › loggn.de: […] hat auf seinem Blog 321tux.de eine Shell-Befehlsübersicht für Linux Einsteiger v [...]
  • Angela: Schön das in der Linuxwelt, die Dateimanager, so langsam mal erweitert werden! Langsam aber sicher [...]
  • Reinhold: Hallo, mein Fall ist leider etwas komplizierter und funktioniert (wahrscheinlich deswegen) nicht. M [...]
  • Janek: Zitat Michel Tank [...]