ubuntuusers.de

DHCP und hostname

Status: Ungelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |

gx-turbo

Anmeldungsdatum:
10. April 2008

Beiträge: Zähle...

Wohnort: Nürnberg

hallo allerseits,

kann mir jemand mit erklaerung oder links zu erklaerungen weiterhelfen bei folgenden Fragen:

ich habe ein kleines heimnetz mit mehreren Windows und Linux PCs, sowie einem QNAP server (linux fileserver mit samba) und einem zyxel DSL router, der auch als DHCP server arbeitet.
Die windows und die ubuntu rechner scheinen dem DHCP ihren hostnamen mitzuteilen, der QNAP server tut das nicht. Das kann man sehen wenn man die DHCP table im zyxel anschaut.
Ich hab schon gelesen, dass man
code: send host-name "<hostname>";
in eine config datei eintragen muss, ok.

Erstaunlich finde ich, dass die windows rechner den hostnamen des QNAP irgendwie auch so kennen. Wie machen die das ?

Auch wenn die hostnamen in der DHCP tabelle stehen, kann man von ubuntu aus die host nicht per namen erreichen, nur mit IP addresse. Weder mit ftp noch mit http.
Als DNS server ist die IP addresse des DHCP/routers eingetragen.
Mit windows gehts problemlos. Ueber welchen dienst/protokoll kennt windows die host namen ? kann das linux auch ?

hoffe dass meine frage nicht zu bloed ist und auch einigermassen verstaendlich formuliert.

G.

Blattlaus

Avatar von Blattlaus

Anmeldungsdatum:
29. März 2006

Beiträge: 1399

gx-turbo hat geschrieben:

Erstaunlich finde ich, dass die windows rechner den hostnamen des QNAP irgendwie auch so kennen. Wie machen die das ?

Über Samba und das damit verbundene Netbios. Darüber kann Windows Hostnamen auch ohne DNS-Server im Netzwerk auflösen.

gx-turbo

(Themenstarter)

Anmeldungsdatum:
10. April 2008

Beiträge: 14

Wohnort: Nürnberg

danke Blattlaus, jetzt wird so manches klarer ☺

aber wie geht das bei Linux ? Der zyxel router unterstuetzt lt Handbuch DNS. Die IP addresse des routers ist als DNS server bei den clients angegeben. Sollte das nicht zumindest prinzipiell so gehen ? Vielleicht noch ein config problem im Zyxel (P 650H-17).

UnixExplorer

Anmeldungsdatum:
2. Februar 2009

Beiträge: Zähle...

Hallo Leute!

Ich habe ein ganz ähnliches Problem: Ich möchte gern, dass mein Kubuntu(810)-Notebook andere Rechner im LAN per Hostnamen auflösen kann. Per Samba-Cient geht es findet er jeden Host (habe mal gelesen, dass unter SMB (Windows) NetBios dafür zuständig sei, scheinbar bringt auch der Samba-Client unter Linux NetBios mit), aber über Protokolle wie http, ftp, ssh oder fish findet er nicht einen Host in meinem LAN. Auf 2 weiteren Rechnern im LAN ist SuSE11.0 und beide erreichen einander über sämtliche Protokolle, sie erreichen sogar meine Dreambox per hostname und auch das Notebook. Per nslookup werden alle Hostnamen aufgelöst, nur das Kubuntu-Notebook hat per nslookup keinen Erfolg. In meiner Fritzbox sind alle Rechner mit Ihrem korrekten Hostnamen eingetragen. Ich habe gelesen, dass nscd einen DNS-Cache darstellt und versucht den unter Kubuntu neuzustarten, jedoch war dieser Daemon gar nicht installiert. Aber auch die Installation desselben hat nicht zum Erfolg beigetragen. Es sieht stark danach aus, als cache Kubuntu gar keine DNS, dabei sollte ein Rechner beim Auflösen von Hostnamen zuerst in die eigene hosts-Datei sehen, dann den DNS-Cache abfragen, und zu guter letzt den DNS-Server fragen. Wenn er den DNS-Server nicht fragt, wie ist es dann möglich Webadressen aufzulösen?

Jetzt habe ich gerade erneut einen Test gemacht, nachdem das Notebook eine Weile lief:

1
2
3
4
5
6
7
8
9
sascha@CentrinoDuo:~$ sudo ifconfig
wlan0     Link encap:Ethernet  Hardware Adresse 00:16:ea:74:da:1e
          inet Adresse:192.168.178.26  Bcast:192.168.178.255  Maske:255.255.255.0
          inet6-Adresse: fe80::216:eaff:fe74:da1e/64 Gültigkeitsbereich:Verbindung
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1
          RX packets:2502 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3163 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:1000
          RX bytes:1407776 (1.4 MB)  TX bytes:566406 (566.4 KB)
1
2
3
4
5
sascha@CentrinoDuo:~$ nslookup fritz.box
Server:         192.168.178.1
Address:        192.168.178.1#53
Name:   fritz.box
Address: 192.168.178.1
1
2
3
4
5
sascha@CentrinoDuo:~$ nslookup xeon3000mhz
Server:         192.168.178.1
Address:        192.168.178.1#53
Name:   Xeon3000MHz
Address: 192.168.178.20
1
2
3
4
5
sascha@CentrinoDuo:~$ nslookup dreambox
Server:         192.168.178.1
Address:        192.168.178.1#53
Name:   dreambox
Address: 192.168.178.21
1
2
3
4
5
sascha@CentrinoDuo:~$ nslookup athlonxp2400mhz
Server:         192.168.178.1
Address:        192.168.178.1#53
Name:   AthlonXP2400MHz
Address: 192.168.178.22

Wie man sieht, können alle Hostnamen aufgelöst werden und trotzdem sind die Rechner nicht per Hostnamen ansprechbar:

1
2
sascha@CentrinoDuo:~$ ssh dreambox
ssh: Could not resolve hostname dreambox: Name or service not known
1
2
sascha@CentrinoDuo:~$ ssh xeon3000mhz
ssh: Could not resolve hostname xeon3000mhz: Name or service not known
1
2
sascha@CentrinoDuo:~$ ssh athlonxp2400mhz
ssh: Could not resolve hostname athlonxp2400mhz: Name or service not known

Per IP geht es:

1
2
3
4
5
sascha@CentrinoDuo:~$ ssh 192.168.178.20
Password:
Last login: Sat Feb  7 12:38:49 2009 from athlonxp2400mhz
Have a lot of fun...
sascha@Xeon3000MHz:~>
1
2
3
4
5
sascha@CentrinoDuo:~$ ssh root@192.168.178.21
root@192.168.178.21's password:
BusyBox v1.2.2 (2007.01.28-22:43+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.
root@dreambox:~>
1
2
3
4
5
sascha@CentrinoDuo:~$ ssh 192.168.178.22
Password:
Last login: Sat Feb  7 12:15:51 2009 from centrinoduo
Have a lot of fun...
sascha@AthlonXP2400MHz:~>

Trotzdem nslookup dreambox von Kubuntu aus erfolgreich ist, erreiche ich das WebInterface der Dreambox nicht über http://dreambox, was von den anderen Rechnern aus kein Problem ist.

Über dolphin per smb://xeon3000mhz erreiche ich den Host, per fish://xeon3000mhz erreiche ich ihn nicht. Per IP (fish://192.168.178.20) geht es natürlich auch vom Notebook aus, aber ich möchte ja das Problem mit der Auflösung von Hostnamen lösen ☺ und vielleicht darauf aufmerksam machen, falls das ein generelles Problem von Kubuntu810 ist.

Ich hoffe ich habe alle nötigen Daten, um sich vom Problem ein Bild machen zu können, verraten. Über jeden kompetenten Tip von Euch würde ich mich freuen.

Viele Grüße

Sascha

UnixExplorer

Anmeldungsdatum:
2. Februar 2009

Beiträge: 4

Traurig traurig, Leute, ich dachte hier sind auch ein paar Profis. Selbst nach einem Upgrade zu Jaunty hat sich nichts geändert.

Blattlaus

Avatar von Blattlaus

Anmeldungsdatum:
29. März 2006

Beiträge: 1399

Mach halt einen eigenen Thread auf und kaper nicht einfach fremde.

UnixExplorer

Anmeldungsdatum:
2. Februar 2009

Beiträge: 4

Blattlaus schrieb:

Mach halt einen eigenen Thread auf und kaper nicht einfach fremde.

was hat denn das mit "kapern" zu tun? In diesem Thread geht es um das selbe Problem und in allen anderen Foren, die ich kenne, ist es genauso erwünscht, dass ähnliche oder verwandte Probleme in einem Thread gebündelt werden.

joede

Avatar von joede

Anmeldungsdatum:
27. Oktober 2004

Beiträge: 207

Wohnort: Gründau (Nähe Frankfurt/Main)

Der Thread ist zwar schon etwas älter, aber vielleicht bringt es ja noch was.

Hosts mit fester IP teilen ihren Hostnamen nicht den DNS-Server mit, warum auch. Laufen also NAS oder Notebook mit statischen IPs, kann der Router sie nicht auflösen. Bei Netbios (Samba) ist das etwas anders. Hier wird der Netbios-Name im Netz bekanntgegeben, sodass dass das DNS-Gegenstück genau weiß, welche PCs im Netzt sind. Wenn man Glück hat, kann man vielleicht den Router so konfigurieren, dass der DNS-Server im Router eine feste externe IP "beigebracht" bekommen kann.

Normale Linux-Server nutzen DNS-Server (wie z.B. dnsmasq), die einfach die lokale /etc/hosts einlesen. Dort kann man dann die (feste) IP eines anderen Rechners im Netz hinterlegen.

Anders sieht es mit DHCP aus. Hier wird jeder ordentliche Linuxclient (wie z.B. ein Notebook mit Ubuntu) den Hostnamen an den DHCP-Server übermitteln. Dieser steht dann in der Lease-Datei, von wo aus dann der DNS-Server die dynamischen IPs rausfischen kann. Das muss man konfigurieren. Einfacher geht es mit dnsmasq. Hier ist DNS und DHCP in einem Programm vereint. Da funktioniert das automatisch.

Bei machen NAS oder allgemeiner "embedded linux" Systemen wird ein DHCP-Client verwendet, der keinen Namen überträgt. Oder es ist einfach kein Hostname definiert (nicht verwechseln mit dem Netbios-Namen!). Dann kommt man nur weiter, wenn man den DHCP-Client so konfigurieren kann, dass dieser einfach einen Hostnamen vorgibt. Soll heißen, das NAS meldet sich ohne Name an. Der DHCP-Server (wie z.B. wieder dnsmasq) erkennt den Host anhand der MAC-Adresse (muss konfiguriert werden) und verwendet dann den vorgegebenen Namen und ev. auch gleich eine feste IP (muss auch konfiguriert werden). Jetzt stellt sich nur die Frage, ob die DHCP-Server im Router das erlauben. Die gängigen Teile wie Speedport usw. können es definitiv nicht.

So, ich hoffe diese Info hilft...

encbladexp Team-Icon

Ehemaliger
Avatar von encbladexp

Anmeldungsdatum:
16. Februar 2007

Beiträge: 17521

Sehr schön erklärt joede.

mfg Betz Stefan

joede

Avatar von joede

Anmeldungsdatum:
27. Oktober 2004

Beiträge: 207

Wohnort: Gründau (Nähe Frankfurt/Main)

gern gesehen. 😉

UnixExplorer

Anmeldungsdatum:
2. Februar 2009

Beiträge: 4

Hallo Joede, danke für die Mühe erstmal!

joede schrieb:

Der Thread ist zwar schon etwas älter, aber vielleicht bringt es ja noch was.

Ja, hätte es, wenn Du etwas konkreter geworden wärst^^

Hosts mit fester IP teilen ihren Hostnamen nicht den DNS-Server mit, warum auch. Laufen also NAS oder Notebook mit statischen IPs, kann der Router sie nicht auflösen. Bei Netbios (Samba) ist das etwas anders. Hier wird der Netbios-Name im Netz bekanntgegeben, sodass dass das DNS-Gegenstück genau weiß, welche PCs im Netzt sind.

wie ich bereits schrieb

Wenn man Glück hat, kann man vielleicht den Router so konfigurieren, dass der DNS-Server im Router eine feste externe IP "beigebracht" bekommen kann.

Nein, es geht nicht um Rechner mit statischer IP, sondern um DHCP, schließlich ist das die Standarteinstellung bei der Fritzbox und ich wüsste auch nicht warum ich den DHCP deaktivieren sollte.

Normale Linux-Server nutzen DNS-Server (wie z.B. dnsmasq), die einfach die lokale /etc/hosts einlesen. Dort kann man dann die (feste) IP eines anderen Rechners im Netz hinterlegen.

Das weiß ich, ich wollte aber keine statische Konfiguration.

Anders sieht es mit DHCP aus. Hier wird jeder ordentliche Linuxclient (wie z.B. ein Notebook mit Ubuntu) den Hostnamen an den DHCP-Server übermitteln. Dieser steht dann in der Lease-Datei, von wo aus dann der DNS-Server die dynamischen IPs rausfischen kann.

Das ist ja genau mein Reden.

Das muss man konfigurieren. Einfacher geht es mit dnsmasq. Hier ist DNS und DHCP in einem Programm vereint. Da funktioniert das automatisch.

Laut der Paket-Beschreibnung ist dnsmasq ein DNS- und DHCP-Server, ich verstehe nicht wie mir das weiterhelfen soll, schließlich ist doch in der Fritzbox ein DNS- und DHCP-Server, die beiden DHCP würden sich außerdem in die Haare bekommen. Was ich außerdem nicht verstehe, ist dass Internetadressen ja aufgelöst werden können, aber LAN-Adressen nur von den anderen Rechnern in meinem LAN, aber nicht von Kubuntu. meiner Logik nach fehlt Kubuntu ein DNS-Client für LAN-Adressen und nichts anderes.

Bei machen NAS oder allgemeiner "embedded linux" Systemen wird ein DHCP-Client verwendet, der keinen Namen überträgt. Oder es ist einfach kein Hostname definiert (nicht verwechseln mit dem Netbios-Namen!). Dann kommt man nur weiter, wenn man den DHCP-Client so konfigurieren kann, dass dieser einfach einen Hostnamen vorgibt. Soll heißen, das NAS meldet sich ohne Name an. Der DHCP-Server (wie z.B. wieder dnsmasq) erkennt den Host anhand der MAC-Adresse (muss konfiguriert werden) und verwendet dann den vorgegebenen Namen und ev. auch gleich eine feste IP (muss auch konfiguriert werden). Jetzt stellt sich nur die Frage, ob die DHCP-Server im Router das erlauben. Die gängigen Teile wie Speedport usw. können es definitiv nicht.

naja, von embedded war ja nicht die Rede. Inzwischen habe ich auch Jaunti auf dem Notebook, aber keinerlei Besserung. Per LAN kann er keinen einzigen Hostnamen auflösen, dabei können es die anderen PCs im LAN (mit Hilfe des bereits erwähnten Fritz-DHCP- und DNS-Servers).

So, ich hoffe diese Info hilft...

Nein, leider kein Stück, eigentlich hast Du nur geschreieben was ich schon wusste und wiederholt was ich bereits schrieb^^

MfG Sascha

otzenpunk Team-Icon

Avatar von otzenpunk

Anmeldungsdatum:
17. Oktober 2005

Beiträge: 8691

Wohnort: Hamburg-Altona

Hast du zufällig .local als lokale Domain gewählt? Dann kommt es zu Konflikten mit Avahi.

joede

Avatar von joede

Anmeldungsdatum:
27. Oktober 2004

Beiträge: 207

Wohnort: Gründau (Nähe Frankfurt/Main)

UnixExplorer schrieb:

Ja, hätte es, wenn Du etwas konkreter geworden wärst^^

Sorry, ich dachte das wäre ich gewesen. 😉

Hosts mit fester IP teilen ihren Hostnamen nicht den DNS-Server mit, warum auch. Laufen also NAS oder Notebook mit statischen IPs, kann der Router sie nicht auflösen. Bei Netbios (Samba) ist das etwas anders. Hier wird der Netbios-Name im Netz bekannt gegeben, sodass dass das DNS-Gegenstück genau weiß, welche PCs im Netzt sind.

Das ist wahrscheinlich das, was Deine Windows-PCs benutzen. Auf der Fritzbox (den Besseren) läuft ja auch ein Samba, damit man damit eine USB-Platte im Netz nutzen kann. Samba teilt allen Teilnehmern den Hostnamen und die IP per Broadcast mit. Dann braucht es keinen DNS, es wird einfach das Netbios-Gegenstück benutzt.

Das muss man konfigurieren. Einfacher geht es mit dnsmasq. Hier ist DNS und DHCP in einem Programm vereint. Da funktioniert das automatisch.

Normalerweise liest der DNS-Server nicht die DHCP-Leases-Datei ein. Das muss man explizit angeben. Soweit ich weiß hat die Fritzbox-Firmware aber auf Telnet. Du solltest Dich einloggen können um dann die Änderungen von Hand vornehmen zu können, wenn es die Weboberfläche nicht bietet. Das ist aber etwas Trickreich und erfordert, dass die Partition in der /etc liegt kurzzeitig R/W gemountet werden kann (Stichwort remount).

Laut der Paket-Beschreibnung ist dnsmasq ein DNS- und DHCP-Server, ich verstehe nicht wie mir das weiterhelfen soll, schließlich ist doch in der Fritzbox ein DNS- und DHCP-Server, die beiden DHCP würden sich außerdem in die Haare bekommen.

Der DNS-Server muss die DHCP-Leases lesen. Das muss man ihm sagen. Bei dnsmasq geht das automatisch. Wenn man googlet, dann findet man Hinweise zum Thema "dnsmasq + fritzbox". Ich hatte eine schöne Seite gefunden, die ich jetzt aber nicht mehr sehe....

Wenn man dnsmasq installiert, dann muss man dns + dhcp deaktivieren. Das stand alles im Posting. Dumm, ich hätte den Link gleich mit posten sollen. Ärgerlich.

Was ich außerdem nicht verstehe, ist dass Internetadressen ja aufgelöst werden können, aber LAN-Adressen nur von den anderen Rechnern in meinem LAN, aber nicht von Kubuntu. meiner Logik nach fehlt Kubuntu ein DNS-Client für LAN-Adressen und nichts anderes.

Der DNS-Server bekommt den Peer-DNS mitgeteilt (bei der Einwahl in Internet). Und deswegen kann er Hostnamen auflösen. Nur den DHCP-Server befragt er nicht. Kubuntu macht alles richtig.

naja, von embedded war ja nicht die Rede. Inzwischen habe ich auch Jaunti auf dem Notebook, aber keinerlei Besserung. Per LAN kann er keinen einzigen Hostnamen auflösen, dabei können es die anderen PCs im LAN (mit Hilfe des bereits erwähnten Fritz-DHCP- und DNS-Servers).

Wenn es Windows-PCs sind, dann benutzen sie kein DNS sondern Netbios. Aus Benutzersicht ist das egal, aber netzwerktechnisch ein Unterschied.

So, und nun zu den (unschönen) Lösungsmöglichkeiten:

(1) Du gehst über telnet in die Fritzbox und hängt die Konfiguration zum Lesen der dhcp-leases mit an. Letztere finden sich irgendwo unter /var/spool oder /var/lib/misc.

(2) Du suchst eine Anleitung und installierst dnsmasq. dns und dhcp musst Du dann aus /etc/init.d rausnehmen.

(3) ich erinnere mich, das mein DSL-Router von der Telekom (Speedport W700V) ein Menü hatte, bei dem alle DHCP-Einträge aufgelistet wurden. Statt einem Namen wurde nur die MAC-Adresse angegeben. Allerdings konnte ich in diesem Menü einen Namen vergeben. Ich glaube, der wurde dann auch im DNS sichtbar. Vielleicht hat die Fritzbox das auch. Beim Speedport war das etwas versteckt im Menü für die Filter und Zugangsbeschränkungen.

Ich weiß, besonders prickelnd sind diese Lösungen nicht, aber besser als nichts. Ich habe den DHCP-Kram beim Speedport abgeschaltet und mir eine NSLU2 gekauft. Dieses NAS hat jetzt Debian drauf und kommt als Server mit 2W aus. Hier kann man dann dnsmasq, Samba, ... installieren.

Ich frage morgen im Büro nochmal einen Kollegen, der die Fritzbox intensiver nutzt. Vielleicht hat er noch eine Idee.

joede

Avatar von joede

Anmeldungsdatum:
27. Oktober 2004

Beiträge: 207

Wohnort: Gründau (Nähe Frankfurt/Main)

Ich habe nochmal mit meinem Kollegen gesprochen. Er meint, dass die Fritzboxen keinen DNS-Server zum auflösen lokaler Hostnamen haben. Sie verwenden nur einen DNS-Relay.

Es gibt aber eine erweiterte Firmware (http://www.freetz.org/), bei der dann auch dnsmasq zur Verfügung steht.

Vielleicht wäre das der Weg...

encbladexp Team-Icon

Ehemaliger
Avatar von encbladexp

Anmeldungsdatum:
16. Februar 2007

Beiträge: 17521

Beim Austauschen der Router-Firmware ist natürlich in der Regel auch die Garantie weg...

Und in der Regel haben viele "Homerouter" wirklich nur ein Relay für DNS, was in sehr vielen fällen hinderlich ist wie ich finde...

mfg Betz Stefan

Antworten |