dhcp + hostname

Wünsche, Anträge, Fehlermeldungen
tom_22
Neugieriger
Neugieriger
Beiträge: 14
Registriert: Dienstag 6. Juli 2004, 12:51

dhcp + hostname

Beitrag von tom_22 »

Bezieht man die IP-Adresse der DBox (Neutrino) über DHCP, wird im DHCP-Server bzw. DNS-Server kein Hostname eingetragen.

entsprechende Diskussion/Thread:
http://forum.tuxbox-cvs.sourceforge.net ... hp?t=41809

... dieses kleine Feature noch, dann fuktioniert der DHCP-Client perfekt. :-)

tom_22
PizzaPicante
Interessierter
Interessierter
Beiträge: 28
Registriert: Mittwoch 12. Juli 2006, 05:02

Beitrag von PizzaPicante »

Hi,

das hat mit der DBox an sich überhaupt nichts zu tun.

Du kannst DHCP über die MAC eine fixe IP vergeben lassen, der wiederum einen DNS updatet.

Warum das dann allerdings nicht gleich in die hosts eintragen ?

CU
tom_22
Neugieriger
Neugieriger
Beiträge: 14
Registriert: Dienstag 6. Juli 2004, 12:51

Beitrag von tom_22 »

Hi PizzaPicante,

das hat schon was mit der DBox zu tun :-)

Ich gehe davon aus, daß die DBox den eigenen hostname bei der Anfrage am DHCP-Server nicht richtig übergibt (--> siehe Link auf entsprechenden Thread weiter oben).

Ein fester Eintrag im DHCP-Server bzw. in die hosts-Datei ist halt nur ein "workaround" (macht bei ca. 10 Rechnern im Intranet mit div. OSs auch nicht wirklich Spaß).

Bitte als freundlicher Hinweis auf ein "requested Feature" für den DHCP-Client verstehen :-)

Grüße
PizzaPicante
Interessierter
Interessierter
Beiträge: 28
Registriert: Mittwoch 12. Juli 2006, 05:02

Beitrag von PizzaPicante »

Hi,

jupp, Du meinst die send optionen in der conf für'n client - hatte das irgendwie andersrum verstanden.

CU
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Beitrag von Houdini »

check this:

Code: Alles auswählen

RCS file: /cvs/tuxbox/apps/misc/libs/libnet/network_interfaces.cpp,v
retrieving revision 1.6
diff -u -r1.6 network_interfaces.cpp
--- a/network_interfaces.cpp	20 Mar 2003 15:32:52 -0000	1.6
+++ b/network_interfaces.cpp	12 Jul 2006 19:57:48 -0000
@@ -369,5 +369,13 @@
 {
 	std::map<std::string, std::string> attribute;
 
+	std::string hostname = "";
+	std::ifstream in("/etc/hostname", std::ifstream::in);
+
+	if (in.is_open()) {
+		in >> hostname ;
+		if (hostname != "") attribute["hostname"] = hostname;
+	}
+
 	return write_interface("/etc/network/interfaces", name, automatic_start, "inet", "dhcp", attribute);
 }
usul1
Erleuchteter
Erleuchteter
Beiträge: 760
Registriert: Freitag 14. Januar 2005, 12:42

Beitrag von usul1 »

Nicht das mich das jetzt besonders stört. Aber weil ichs gerade gesehen habe.

Der Patch wird aber nicht funktionieren (sofern mein mittelmäßiges C Leservermögen hier nicht irrt) wenn man (z.B. in der start_neutrino) einen anderen Hosnamen setzt, oder?

Das wäre für Leute mit meheren Boxen ohne Schreibzugriff in /etc evtl. etwas ungünstig.

cu
usul
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Beitrag von Houdini »

Stimmt.
Hab gerade mal geschaut es gibt ja gethostname(), dann wirds ja noch einfacher.
Als Übung zum Selberprogrammieren: hier ist der Prototype:

Code: Alles auswählen

int gethostname(char *name, size_t len); 
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Beitrag von Houdini »

so könnte es aussehen :-)

Code: Alles auswählen

RCS file: /cvs/tuxbox/apps/misc/libs/libnet/network_interfaces.cpp,v
retrieving revision 1.6
diff -u -r1.6 network_interfaces.cpp
--- a/network_interfaces.cpp	20 Mar 2003 15:32:52 -0000	1.6
+++ b/network_interfaces.cpp	13 Jul 2006 19:58:07 -0000
@@ -368,6 +368,12 @@
 bool setDhcpAttributes(const std::string name, const bool automatic_start)
 {
 	std::map<std::string, std::string> attribute;
+	const size_t max_hostname_len = 128;
+	char hostname[max_hostname_len];
+	
+	if (gethostname(hostname, max_hostname_len) == 0) {
+		attribute["hostname"] = (std::string)hostname;
+	}
 
 	return write_interface("/etc/network/interfaces", name, automatic_start, "inet", "dhcp", attribute);
 }
tom_22
Neugieriger
Neugieriger
Beiträge: 14
Registriert: Dienstag 6. Juli 2004, 12:51

Beitrag von tom_22 »

Könnte jemand den Code ins CVS einpflegen bzw. ein Image bauen??

Gerne teste ich das ganze - bin halt nicht so der "Image-Builder" bzw. "Coder" :-)

tom_22
PT-1
Moderator english
Beiträge: 2458
Registriert: Donnerstag 20. Dezember 2001, 00:00

Beitrag von PT-1 »

THX Houdini for checking it in:

Code: Alles auswählen

houdini     06/07/28 23:27:57

  Modified:    misc/libs/libnet network_interfaces.cpp
  Log:
  Now sends its hostname with DHCP request, see
  http://forum.tuxbox.org/forum/viewtopic.php?p=305213#305213
  
  Revision  Changes    Path
  1.7       +7 -1      apps/misc/libs/libnet/network_interfaces.cpp
  
  file : http://cvs.tuxbox.org/tuxbox/apps/misc/libs/libnet/network_interfaces.cpp?rev=1.7&content-type=text/vnd.viewcvs-markup
  plain: http://cvs.tuxbox.org/tuxbox/apps/misc/libs/libnet/network_interfaces.cpp?rev=1.7&content-type=text/plain
  revision graph: http://cvs.tuxbox.org/tuxbox/apps/misc/libs/libnet/network_interfaces.cpp?graph=1.7
  diff : http://cvs.tuxbox.org/tuxbox/apps/misc/libs/libnet/network_interfaces.cpp.diff?r1=1.6&r2=1.7
  
  Index: network_interfaces.cpp
tom_22
Neugieriger
Neugieriger
Beiträge: 14
Registriert: Dienstag 6. Juli 2004, 12:51

Beitrag von tom_22 »

Es funktioniert!
DHCP- und DNS-Server haben nun einen Eintrag.

Danke an alle :-)
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Beitrag von Houdini »

gern geschehen :-)
petb
Erleuchteter
Erleuchteter
Beiträge: 785
Registriert: Samstag 6. August 2005, 03:39

Beitrag von petb »

HI,

habe heute das JTG V2.2 geflasht und da ist die Änderung anscheinend auch drinnen ?
Aber leider geht es bei mir nun garnicht mehr.
DHCP ging vorher einwandfrei und jetzt bekommt die Box nichts mehr.
Mein DHCP Server macht es auch jetzt noch mit JTG V2.1 vom 13.07.06 immer noch so das er anhand der MAC der Box die von mir festgelegte IP ausliefert.
Nur wie gesagt im neuen Image nicht mehr.

Könnte das was mit den Änderungen hier zu tun haben ?
Danke

Bye
PetB

Edit:
Fehler ist ruckizucki behoben worden.
Super, klasse, DANKE.
Edit:
1 x DBOX2 Phillips, 1 x DBOX2 Nokia, 1 x DBOX2 Sagem, 100er Gibertini (Astra / Hotbird), NFS Server
petb
Erleuchteter
Erleuchteter
Beiträge: 785
Registriert: Samstag 6. August 2005, 03:39

Beitrag von petb »

Hi,

wollte noch anmerken: (bitte berichtigen wenn was nicht stimmt, danke)

n der /etc/init.d/rcS wird der hostname gesetzt wie folgt
/bin/hostname -F /etc/hostname
So:
in /etc/hostname kann ich aber nicht schreiben oder ?
Nee habs grad nochmal versucht.
FTP meint zwar er überträgt, aber es tut nicht.
Der Bereich war doch noch nie beschreibbar ?!

Also denke ich im Moment, ich kann der hostnamen der Box nach wie vor nicht ändern.
Also nützt es mir auch nichts, wenn die box es nun aktuell meinem dhcp Server sagt und er das dem bind weitererzählt, da dort dann 6 mal dbox auftaucht.
Oder hab ich doch was übersehen und es geht doch ?

Wie wäre es denn mit if/then/else wie auch bei camd usw.
Wenn /var/tuxbox/config/hostname dann den, sonst den aus /etc/hostname

Nicht das ich total auf dem Schlauch stehe :gruebel:

Bye
PetB
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Beitrag von Houdini »

stimmt.
Abhilfe:
du rufst später nochmal irgendwo

Code: Alles auswählen

/bin/hostname blah
auf
oder /etc/hostname wird ein link auf var/etc/hostname
petb
Erleuchteter
Erleuchteter
Beiträge: 785
Registriert: Samstag 6. August 2005, 03:39

Beitrag von petb »

Houdini hat geschrieben:stimmt.
Abhilfe:
du rufst später nochmal irgendwo

Code: Alles auswählen

/bin/hostname blah
auf
oder /etc/hostname wird ein link auf var/etc/hostname
Jo,
aber das später aufrufen bringt dann dem dhcp server nichts mehr.
Der verpasst das dann beim Starten und bekommt es erst mit wenn die lease abläuft, denke ich mal,
da ich nicht weis ob entweder der befehl hostname mit dem dhcp kommuniziert un ein eneue lease anfordert oder die bestehende,..... wie auch immer....
oder ob denn überhaupt beim erneuern das genau gleich abläuft wie beim ersten dhcpdiscover usw. ????
.
Bye
PetB
1 x DBOX2 Phillips, 1 x DBOX2 Nokia, 1 x DBOX2 Sagem, 100er Gibertini (Astra / Hotbird), NFS Server
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Beitrag von Houdini »

aber das später aufrufen bringt dann dem dhcp server nichts mehr.
stimmt.
Also wenn du in Neutrino da was änderst holt sich neutrino den hostnamen aus dem system, schreibt dann die /etc/network/interfaces und macht ein ifdown/ifup.
Beim Systemstart erfolgt das ifup in den Startskripten.
Vorher muss der richtige hostname gesetzt werden (z.B.: mit hostname blah)
PT-1
Moderator english
Beiträge: 2458
Registriert: Donnerstag 20. Dezember 2001, 00:00

Re: dhcp + hostname

Beitrag von PT-1 »

Hi,

wie kann ich denn meine Dboxen im Netz mit Namen anzeigen lassen..?

Ich kann meine Windows PC's sehen und meine Linkstations (Linux) aber nicht meine Dboxen... :gruebel:

habe schon via /bin/hostname blah einen namen eingetragen aber der Router bekommt davon nichts mit. Ist auch nicht via DHCP die IP sondern fest

Bild
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: dhcp + hostname

Beitrag von rhabarber1848 »

PT-1 hat geschrieben:aber der Router bekommt davon nichts mit.
Auf dem Router müsste ein DNS-Server laufen, dort musst Du
die Zuordnung zwischen der Dbox-IP und deren IP machen.
PT-1
Moderator english
Beiträge: 2458
Registriert: Donnerstag 20. Dezember 2001, 00:00

Re: dhcp + hostname

Beitrag von PT-1 »

Laeuft dann auf meinen Linkstations & Windows PC's ein DNS Server der die "Namen" an den Router uebergibt :gruebel:
alex12555
Interessierter
Interessierter
Beiträge: 99
Registriert: Dienstag 18. Oktober 2005, 07:56

Re: dhcp + hostname

Beitrag von alex12555 »

Hi,
wie kann ich denn meine Dboxen im Netz mit Namen anzeigen lassen..?
gar nicht solange du nicht auf der Dbox2 Samba installierst. Nur ein Sambaserver ist unter Linux in der Lage sich unter Windows Netzwerkumgebungen anzeigen zu lassen. Gibt es aber für die Dbox nicht :( wozu auch? Wenn du wiklich willst, dann kommste um die Dream nicht rum 8)
Alex
dietmarw
Contributor
Beiträge: 1833
Registriert: Mittwoch 10. April 2002, 15:39

Re: dhcp + hostname

Beitrag von dietmarw »

alex12555 hat geschrieben:...Nur ein Sambaserver ist unter Linux in der Lage sich unter Windows Netzwerkumgebungen anzeigen zu lassen. Gibt es aber für die Dbox nicht ...
das kann man so nicht stehenlassen..

--enable-sambaserver
(enable the dBox samba server)
PT-1
Moderator english
Beiträge: 2458
Registriert: Donnerstag 20. Dezember 2001, 00:00

Re: dhcp + hostname

Beitrag von PT-1 »

Ahh, und ich habe ja eine HDD in meiner einen Box und die kann mit dem JTG Image Samba...muss ich mal spielen ;-)
alex12555
Interessierter
Interessierter
Beiträge: 99
Registriert: Dienstag 18. Oktober 2005, 07:56

Re: dhcp + hostname

Beitrag von alex12555 »

das kann man so nicht stehenlassen..--enable-sambaserver
*patsch hatte ich ja ganz vergessen :oops:
Alex