Langsamer DNS-Lookup

Der_Da_93

Der_Da_93

irgendwie
Hi,
Schon wieder ich.
Also ich hab Archlinux, XServer, KdeMod installiert.
Netzwerk hab ich theoretisch auch konfiguriert.
pings auf den lokalen router und ins internet funktionieren
auch
Code:
ping google.de
funktioniert.

Nur der DNS-Lookup braucht sehr lange, es ist fast unmoeglich im internet zu surfen. da ich zuerst vermutetete dass es an konqueror liegt, hab ich mal mit wget eine x-beliebige datei runtergeladen; das Laden ging schnell, aber der Lookup brauchte auch wieder seine zeit.

Die relevanten Stellen in meiner rc.conf (Kommentar-bereinigt)
Code:
HOSTNAME="myhost"
eth0="dhcp"
INTERFACES=(eth0)

gateway="default gw 192.168.2.1"
ROUTES=(!gateway)

meine resolv.conf
Code:
# Generated by dhcpcd for interface eth0
search Speedport_W_700V
nameserver 192.168.2.1

Wo liegt das Problem *fragezeichen*

mfg
 
Der Eintrag
Code:
search Speedport_W_700V
in resolv.conf behindert deine Lookups. Der Resolver hängt jedem Lookup zuerst diese "Domain" an. Da dein Nameserver die Domain nicht kennt, startet er eine Anfrage an den DNS deines Providers. Dieser kennt die Domain auch nicht und startet so weitere Anfragen. Das ganze nimmt einige Zeit in Anspruch.

Konfiguriere deinen DHCP-Server so, dass er die korrekte Domain zurückliefert, sprich die Domain welche dein DNS-Server 192.168.2.1 verwaltet.
 
Zuletzt bearbeitet:
Ausserdem hat es sich als effektiver herausgestellt, wenn man nicht den Router als DNS nutzt, sondern direkt die DNS-Server des Providers einträgt. Der Router muss ja auch erstmal die Anfrage an die bei ihm eingetragenen DNS machen und somit hat man einen "Schritt" mehr für ein Lookup. Dann stört auch ein search-Eintrag nicht mehr.
 
Konfiguriere deinen DHCP-Server so, dass er die korrekte Domain zurückliefert, sprich die Domain welche dein DNS-Server 192.168.2.1 verwaltet.

Also der DHCP-Server ist doch mein Router, oder ?
Wie soll ich den konfigurieren ? Oder verstehe ich da etwas falsch ?

at Bitmuncher
Der Eintrag in die resolv.conf wird durch dhcpcd durchgefuehrt, es bringt also nichts wenn ich den eintrag auf die DTAG schreib.

*ein bisschen verwirrt*
 
Konqueror besitzt kein DNS-Cache. Das heißt für jedes Objekt der Webseite wird eine Anfrage an den DNS-Server aus der /etc/resolv.conf gesendet. Das kann bei Seiten mit vielen Objekten also etwas länger dauern.
Um das zu umgehen empfiehlt es sich, einen kleinen lokalen DNS-Server zu installieren wie z. B. dnsmasq, der für Konqueror zwischenspeichert (DNS-Caching).

Code:
# pacman -S dnsmasq

Code:
# cp /etc/resolv.conf /etc/resolv.conf.dnsmasq


editieren der "alten" resolv.conf
Code:
# nano /etc/resolv.conf

in die erste Zeile folgendes eintragen
Code:
nameserver 127.0.0.1

dnsmasq konfigurieren
Code:
# nano /etc/dnsmasq.conf

folgendes suchen
Code:
 # Change this line if you want dns to get its upstream servers from
# somewhere other that /etc/resolv.conf
# resolv-file

darunter folgendes eintragen
Code:
resolv-file=/etc/resolv.conf.dnsmasq

anschließend
Code:
# /etc/rc.d/dnsmasq restart


Eventuell könntest du noch in der /etc/enviroment das hier eintragen:
Code:
KDE_NO_IPV6=TRUE
 
Zuletzt bearbeitet:
@Der_Da_93:
Was für einen Router hast du denn? Falls es sich ein Fertigprodukt handelt ist der Vorschlag von defcon sicher die beste Lösung für dein Problem.
 
Ja, schon aber frueher mit Ubuntu oder Windows hats ja auch funktioniert.
at defcon:
Danke fuer den Tipp, aber dadurch behebe ich das problem ja auch nicht wirklich. Falls sich keine andere Moeglichkeit findet, werde ich es so machen.
 
Da werd ich jetzt wohl die Idee von bitmuncher nehmen.
Also ich würd's jetzt mit nem kleinen script beim start machen:
Code:
#!/bin/bash
cp /etc/resolv.conf.real /etc/resolv.conf
#in der .real befindet sich der Eintrag für den "richtigen" nameserver

Ähm, weiss jemand grad, wo ich dieses script hinpacken soll ?
 
wieso Script?
Trag doch einfach den neuen DNS in die /etc/resolv.conf ein.
 
hm,also bei mir nicht. Mein Eintrag steht genauso drin wie ichs zu Anfangs eingetragen hatte.
 
Am Einfachsten ist es, wenn du deinen DHCP-Server so konfigurierst, dass die korrekte DNS-IP ausgeliefert wird. I. d. R. ist dies auch auf 08/15-Routern von [beliebiger Hersteller] möglich.
 
1. http://wiki.archlinux.org/index.php/Netcfg

2.
/etc/network.d/examples/complete.example schrieb:
# DNS Settings (optional)
DOMAIN=localdomain
DNS1=192.168.0.1
DNS2=
SEARCH=

3.
Code:
#
# Network Profile
#
CONNECTION="ethernet"
DESCRIPTION="LAN with DHCP and static DNS-Servers"
# Network Settings
INTERFACE="eth0"
HOSTNAME="[B]GEHT_EUCH_NEN_FEUCHTEN_KEHRICHT_AN[/B]"
# Interface Settings
IP="dhcp"
IFOPTS="dhcp"
DHCP_TIMEOUT="60"
# DNS Settings (optional)
DOMAIN=localdomain
DNS1=[B]Mein_erster_bevorzugter_DNS-Server[/B]
DNS2=[B]Mein_zweiter_bevorzugter_DNS-Server[/B]
SEARCH=site

Works for me ™
 
Am Einfachsten ist es, wenn du deinen DHCP-Server so konfigurierst, dass die korrekte DNS-IP ausgeliefert wird. I. d. R. ist dies auch auf 08/15-Routern von [beliebiger Hersteller] möglich.

Ja schon, aber auf anderen PC's im selben Netzwerk funktioniert DHCP ja. btw: In der WebGUI des "Speedports W700V" finde ich absolut keine Einstellungen bezüglich DNS-Server.
.
.
.
EDIT (autom. Beitragszusammenführung) :
.

1. http://wiki.archlinux.org/index.php/Netcfg

2.

3.
Code:
#
# Network Profile
#
CONNECTION="ethernet"
DESCRIPTION="LAN with DHCP and static DNS-Servers"
# Network Settings
INTERFACE="eth0"
HOSTNAME="[B]GEHT_EUCH_NEN_FEUCHTEN_KEHRICHT_AN[/B]"
# Interface Settings
IP="dhcp"
IFOPTS="dhcp"
DHCP_TIMEOUT="60"
# DNS Settings (optional)
DOMAIN=localdomain
DNS1=[B]Mein_erster_bevorzugter_DNS-Server[/B]
DNS2=[B]Mein_zweiter_bevorzugter_DNS-Server[/B]
SEARCH=site

Works for me ™

Danke, ich werd's mir morgen anschauen, wobei ich noch überlege ob es nicht einfacher wäre, einfach mit einem kl. script die resolv.conf zu ändern.
 
Zuletzt bearbeitet:
Warum selber ein Script schreiben wenn dir diese Lösung die Arbeit abnimmt? :think:
 
Warum selber ein Script schreiben wenn dir diese Lösung die Arbeit abnimmt? :think:

Weil mein Script nur eine einzige Zeile hätte.
Die Lösung mit netcfg, aber um einiges mehr :-)

Ne eigentlich nur deswegen, weil ich dazu noch ein Packet mehr installieren muss.

Aber ich habs jetzt mit netcfg gemacht, und es funktioniert.
Ein großes Dank an Rain_Maker und alle die sich hier bemüht haben:thumbsup:

Noch eine ganz kleine Frage:
Falls ich es mit einem "Script" hätte lösen wollen, wo hätte ich es dann hinschreiben müssen ?
 

Ähnliche Themen

Debian Gateway

Namensauflösung sehr langsam

Keine Internetverbindung unter Arch

Routing Problematik

eth0: found link beat

Zurück
Oben