Linux 15.069 Themen, 107.534 Beiträge

DNS Client ? ? Bin Ratlos.

Synthetic_codes / 3 Antworten / Baumansicht Nickles

Moin.

Mal wieder sitze ich vor meinem Router, distro ist OpenWRT.
Folgende Konfiguration:

Der Router wählt sich über mein Huawei E510 ins internet ein. Da pppd die /etc/resolv.conf nicht updatet, habe ich statisch die ips von OpenDNS eingesetzt.

Siehe meine /etc:resolv.conf


root@OpenWrt:~# cat /etc/resolv.conf
nameserver 208.67.222.222
nameserver 208.67.220.220


Nun verwendet der Router dnsmasq als DHCP Server und als Caching DNS Server. Will heissen, wenn ich mich mit dem Router verbinde kriege ich von dem meine IP, Gateway und DNS. Als DNS gibt mir dnsmasq die IP des routers(da dnsmasq auf dem Router ja als caching DNS Server fungiert)

nun zum Problem...

Auf dem Computer funktioniert alles so wies soll. Sprich: Computer an, IP wird verteilt, Internetzugriff klappt ohne probleme

Jetzt wollte ich auf dem Router curl installieren, dies mit dem aufruf opkg install curl

das ganze dauerte dann ca 2 min, bis mir opkg mitteilte, dass es über keine internetverbindung verfüge. (Internetverbindung steht nach wie vor, internetzugriff vom PC keine probleme). daraufhin versuchte ich ein ping google.de .

ping quittierte nach ca 30 sec mit der Meldung: "Bad Address 'google.de'"
ich probierte ping nickles.de, wieder das gleiche. daraufhin startete ich vom windows PC aus einen ping auf google, notierte die IP und pingte die IP von google an:


root@OpenWrt:~# ping google.de
ping: bad address 'google.de'
root@OpenWrt:~# ping 66.249.93.104
PING 66.249.93.104 (66.249.93.104): 56 data bytes
64 bytes from 66.249.93.104: seq=0 ttl=241 time=153.760 ms
64 bytes from 66.249.93.104: seq=1 ttl=241 time=97.659 ms
64 bytes from 66.249.93.104: seq=2 ttl=241 time=97.655 ms

--- 66.249.93.104 ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 97.655/116.358/153.760 ms


soderle. nun steht fest: Es handelt sich um ein DNS Problem.

daraufhin versuchte ich:


root@OpenWrt:~# nslookup google.de
Server: 208.67.222.222
Address 1: 208.67.222.222

nslookup: can't resolve 'google.de': Name or service not known


jetzt wurde ich langsam ärgerlich.
mit logread | grep DNS fischte ich den von Vodafone vergebenen DNS Server, den OpenWRT bei der einwahl nicht übernimmt raus. der sollte ja definitiv gehen.


root@OpenWrt:~# logread | grep DNS
Jan 1 00:00:43 OpenWrt daemon.notice pppd[797]: primary DNS address 139.7.30.125
Jan 1 00:00:43 OpenWrt daemon.notice pppd[797]: secondary DNS address 139.7.30.126

nun versuchte ich diese beiden DNS Server konkret anzugeben:

root@OpenWrt:~# nslookup google.de 139.7.30.125
Server: 139.7.30.125
Address 1: 139.7.30.125

nslookup: can't resolve 'google.de': Name or service not known


jetzt komme ich aber nicht mehr weiter. Wie kann es sein, dass der Router selbst keine DNS Anfragen bearbeitet, aber sie (via dnsmasq) an den an den router angeschlossenen client ohne probleme weiterleitet?

Was kann ich da tun?


Kleines Note: Ich habe das ganze gerade mit meiner O2 Sim-karte versucht. Bei dieser funktioniert das system einwandfrei.

'); DROP TABLE users;--
bei Antwort benachrichtigen
the_mic Synthetic_codes „DNS Client ? ? Bin Ratlos.“
Optionen

OpenWRT nutzt doch so eine abgespeckte c-Bibliothek (uClibc vermutlich). Eventuell musst du da die DNS-Bibliotheken von Hand nachinstallieren.

cat /dev/brain > /dev/null
bei Antwort benachrichtigen
Synthetic_codes the_mic „OpenWRT nutzt doch so eine abgespeckte c-Bibliothek uClibc vermutlich ....“
Optionen

die libs für DNS sollten installiert sein. dnsmasq verwendet die ja auch, ausserdem funzt das ganze bei O2 ja. das ist eben das was mich so wundert

'); DROP TABLE users;--
bei Antwort benachrichtigen
KarstenW Synthetic_codes „DNS Client ? ? Bin Ratlos.“
Optionen

Ich habe nur mal gegoogelt und das hier gefunden:

http://linuxwiki.de/dnsmasq

Wenn man will, dass auch der Server, der dnsmasq hostet den dnsmasq zur Auflösung benutzt (z.B. um vom Caching und DynamicDNS zu profitieren), der sollte folgendes tun:

*

Seinen pppd darauf hinweisen, dass es nicht die /etc/resolv.conf ändern sondern z.B. die /etc/resolv.conf.dnsmasq (Bitte eine Kurzanleitung, oder den Link mit Inhalt füllen.)
*

dnsmasq darauf hinweisen, dass es nicht in der /etc/resolv.conf nach anderen DNS-Servern sucht, sondern in der /etc/resolv.conf.dnsmasq.
*

"nameserver 127.0.0.1" in die /etc/resolv.conf aufnehmen.
* Damit wird nun gewährleistet, dass lokale DNS-Abfragen an 127.0.0.1 gestellt werden, wo der dnsmasq lauscht. Dnsmasq selber holt sich seine Forwarder-DNS-Server aus der /etc/resolv.conf.dnsmasq


Dein Router ist doch der Host welcher dnsmasq zur Adressauflösung nutzt.

Ich würde erstmal das versuchen:

"nameserver 127.0.0.1" in die /etc/resolv.conf aufnehmen.





Debian GNU/Linux https://www.debian.org/index.de.html
bei Antwort benachrichtigen