Forum: PC-Programmierung lwIP Hostname (DNS)


von Kilian K. (kellermaaan)


Lesenswert?

Hallo,

auf meinem Mikrocontroller läuft momentan der lwIP Stack mit einem HTTP 
Server sowie DHCP.
Jetzt möchte ich diesen mit einem Hostname ansprechen und nicht mehr 
über die IP. Doch irgendwie werde ich aus der Doku etc. nicht schlau...

Wäre echt nett wenn mir hier einer helfen könnte! Vielleicht hat ja 
jemand ein Beispiel oder könnt mir erklären was ich machen muss und wie 
es funktioniert???

MfG KK

von dev_null (Gast)


Lesenswert?

Kilian K. schrieb:
> Jetzt möchte ich diesen mit einem Hostname ansprechen und nicht mehr
> über die IP.

Dann stell einen A record bei deinem DNS für die IP ein.

von Peter II (Gast)


Lesenswert?

Kilian K. schrieb:
> auf meinem Mikrocontroller läuft momentan der lwIP Stack mit einem HTTP
> Server sowie DHCP.
> Jetzt möchte ich diesen mit einem Hostname ansprechen und nicht mehr
> über die IP. Doch irgendwie werde ich aus der Doku etc. nicht schlau...

kommt auf deine Umgebung an. Wenn im DHCP Request der Hostname an den 
DHCP-Server gesickt wird, dann kann dieser den Eintrag im DNS vornehmem.

Wenn du eine Fritz-box hast, kannst du dann einfach mit 
[hostname].Fritz.box darauf zugreifen.

von Kilian K. (kellermaaan)


Lesenswert?

Peter II schrieb:
> kommt auf deine Umgebung an. Wenn im DHCP Request der Hostname an den
> DHCP-Server gesickt wird, dann kann dieser den Eintrag im DNS vornehmem.

muss ich das bei dem Stack extra einstellen oder macht der das von 
alleine???

von Peter II (Gast)


Lesenswert?

Kilian K. schrieb:
> muss ich das bei dem Stack extra einstellen oder macht der das von
> alleine???

ob man da etwas einstellen kann, weiß ich nicht. Aber der Hostname ist 
im DHCP optional.

von Noch einer (Gast)


Lesenswert?

Normalerweise stellt man das nur im DNS-Server/DSL-Router/Fritz-Box ein. 
Nicht im Mikrocontroller.

Ist ja gerade der Sinn des DHCP, dass du auf den Geräten nichts 
konfigurieren musst.

(Wenn du Windows installierst, trägst du einen Namen für die alten 
Windows-Netze ein. Damit dieser Name auch im TCP/IP erscheint, kann der 
PC den Namen im DHCP-Request mitsenden).

von Peter II (Gast)


Lesenswert?

Noch einer schrieb:
> Normalerweise stellt man das nur im DNS-Server/DSL-Router/Fritz-Box ein.
> Nicht im Mikrocontroller.

woher soll denn der DNS Server den namen bekommen? Der Client muss ihn 
schon mitsenden, wenn er will das er ins DNS eingetragen wird.

Es geht auch andersrum, man kann im DHCP den Hostnamen eintragen der den 
Gerät zugeordnet wird, das ist aber kaum üblich.

> Ist ja gerade der Sinn des DHCP, dass du auf den Geräten nichts
> konfigurieren musst.
einen Namem brauchen die Geräte aber immer noch.

> (Wenn du Windows installierst, trägst du einen Namen für die alten
> Windows-Netze ein. Damit dieser Name auch im TCP/IP erscheint, kann der
> PC den Namen im DHCP-Request mitsenden).
da bringst du einiges durcheinander. Windows zeigt die benachbarten 
Computer anhand von Broadcast Nachrichten an. Das hat nicht mit DHCP 
oder DNS zu tun.

Es gibt auch noch andere Möglichkeiten wie Bonjour bei Apple Geräten.

von Peter D (Gast)


Lesenswert?

Lies mal da 
http://stm32f4-discovery.com/2015/02/library-52-ethernet-peripheral-on-stm32f4xx/
Dort ist ein Beispiel mit Code und Library für die Verwendung des lwIP 
1.4.1 mit DNS.

von Peter II (Gast)


Lesenswert?

Peter D schrieb:
> Lies mal da
> 
http://stm32f4-discovery.com/2015/02/library-52-ethernet-peripheral-on-stm32f4xx/

das müsste es doch sein

/* Device name which will be seen in router when requesting IP via DHCP 
*/
#define ETHERNET_HOSTNAME_DHCP     "F4-Discovery"

wenn der router es kann.

von Noch einer (Gast)


Lesenswert?

> das ist aber kaum üblich

Kommt drauf an.

Normalerweise hat ein Server mehrere Namen. mail.firma.de, 
wiki.firma.de, zeiterfassung.firma.de ... Geht nur, wenn du die Namen im 
DNS-Server einträgst.

Linux schickt den Hostnamen beim DHCP-Request nicht mit. In der 
Fritz-Box eintragen geht einfacher, als Linux umbauen.

Bei einem MC, der kein Konfigurationstool hat, gehts im DNS-Server auf 
jeden Fall einfacher. Wenn du das selbe Programm in 3 MCs brennst, musst 
du vorher jedes mal Namen ändern und neu kompilieren.

Eigentlich ist es nur bei reinen Windows Heimnetzen üblich.

> Das hat nicht mit DHCP oder DNS zu tun.

Jein. Man möchte halt, dass der Netbios Name automatisch im TCP/IP 
erscheint.

von Peter II (Gast)


Lesenswert?

Noch einer schrieb:
> Linux schickt den Hostnamen beim DHCP-Request nicht mit. In der
> Fritz-Box eintragen geht einfacher, als Linux umbauen.

kommt ja wohl auf die Konfig an, bei mir wird es mit geschickt.

> Normalerweise hat ein Server mehrere Namen. mail.firma.de,
> wiki.firma.de, zeiterfassung.firma.de ... Geht nur, wenn du die Namen im
> DNS-Server einträgst.
mailserver werden kaum über DHCP ihre IP bekommen.

> Jein. Man möchte halt, dass der Netbios Name automatisch im TCP/IP
> erscheint.
im TCP/IP kann nicht "erscheinen" man kann nur abfragen wie die IP für 
ein Host ist.

von Noch einer (Gast)


Lesenswert?

> mailserver werden kaum über DHCP ihre IP bekommen.

Aber sicher doch. Als allererstes kreuzt du "Dieser MAC immer die 
gleiche IP-Adresse zuweisen." an. Das vergisst du nur ein mal.

> im TCP/IP kann nicht "erscheinen"

Stimmt, man möchte, dass der Netbios Name automatisch im DNS-Server 
eingetragen wird. Aber alle in diesem Forum wissen doch, was gemeint 
war.

von Kilian K. (kellermaaan)


Lesenswert?

Hallo, ich wollte hier das Thema nochmal neu auffassen.

Momentan sieht es so aus, dass mein MC mit lwip über DHCP eine IP 
bezieht und währenddessen der Hostname im DNS eingetragen wird. Jetzt 
möchte ich aber die Netzwerkkonfigurationen über eine Webseite, die auf 
dem MC läuft, ändern können. Bis jetzt kann ich dort entscheiden, ob ich 
die IP-Adresse weiterhin über DHCP beziehen möchte oder eine statische 
IP-Adresse haben möchte. Das funtkioniert auch. Jetzt möchte ich aber 
auch den Hostname ändern können. Da weiß ich aber leider nicht, wie ich 
mit dem lwip-Stack einer statischen IP einen Hostname zuweise und 
desweiteren ich bei DHCP den Hostname erneuern/ändern kann.

Ich hoffe, dass mir jemand dabei helfen kann!

Mfg Kilian

von Peter II (Gast)


Lesenswert?

Kilian K. schrieb:
> Da weiß ich aber leider nicht, wie ich
> mit dem lwip-Stack einer statischen IP einen Hostname zuweise und
> desweiteren ich bei DHCP den Hostname erneuern/ändern kann.

das geht nicht. Wenn man statischen IPs will, dann muss man auch den 
Hostname von Hand im DNS eintragen. (Es gibt auch DNS-Server die ein 
update der Date erlauben, aber dann brauchst du dafür Zugangsdaten)

von Kilian K. (kellermaaan)


Lesenswert?

Peter II schrieb:
> das geht nicht. Wenn man statischen IPs will, dann muss man auch den
> Hostname von Hand im DNS eintragen. (Es gibt auch DNS-Server die ein
> update der Date erlauben, aber dann brauchst du dafür Zugangsdaten)

Wäre es denn möglich über DHCP den Hostname zu ändern?

von Peter II (Gast)


Lesenswert?

Kilian K. schrieb:
> Wäre es denn möglich über DHCP den Hostname zu ändern?

einfach den neuen namen im nächsten DHCP request mitgeben, würde ich 
sagen.

von Planlos (Gast)


Lesenswert?

Peter II schrieb:
> einfach den neuen namen im nächsten DHCP request mitgeben, würde ich
> sagen.

Aber er will doch eine Statische IP.


Kilian K. schrieb:
> eine statische
> IP-Adresse haben möchte.


Ich glaube da fehlt ein gewisses Grundverständnis
"was ist DHCP"
vs.
"was ist DNS"


Ich versuch's mal:

DHCP verteilt Dynamisch IP-Adressen an Netzwerk-Teilnehmer.
DNS dient dazu, Hostnamen in IP-Adressen aufzulösen.

Bei dir laufen DHCP und DNS auf derselben Hardware, deinem Router.

Dein DHCP-Server hat ein Zusatz-Feature, bei frisch vergebenen IPs den 
Hostnamen, so er denn bekannt ist, in den DNS-Server zu kopieren.
Dies ist ein rein Optionales Feature, und weder für den Betrieb des DNS 
noch für den Betrien des DHCP-Servers an sich nötig.

=> Du willst den DHCP-Server nicht mehr verwenden
==> Der DHCP-Server kann keine Konfigurations-Änderung in den DNS-Server 
schieben
===> Du musst alles selber machen, also Feste IP und DNS-Eintrag von 
Hand konfigurieren.


tl;dr: Der DNS wird auf dem Router konfiguriert. nicht im LwIP.

von Kilian K. (kellermaaan)


Lesenswert?

Planlos schrieb:
> Aber er will doch eine Statische IP.

Ich möchte gerne beides können. Einmal eine feste IP + Hostname, wo ich 
später den Hostname ändern kann und DHCP mit Hostname, wo ich ebenfalls 
später den Hostame noch ändern kann.

von Planlos (Gast)


Lesenswert?

Kilian K. schrieb:
> Ich möchte gerne beides können. Einmal eine feste IP + Hostname, wo ich
> später den Hostname ändern kann und DHCP mit Hostname, wo ich ebenfalls
> später den Hostame noch ändern kann.

Ok, Verständnisproblem:

Der Hostname WIRD NICHT von deinem µC festgelegt.
Weder bei statischer noch bei dynamischer Konfiguration.

Das Ändern des Hostnamens muss immer im DNS-Server erfolgen.

Es gibt manchmal den Sonderfall, dass der DHCP-Server automatisch 
einen Eintrag im DNS veranlasst, wie bei dir.

DAS IST EIN SONDERFALL! Das funktioniert so nicht immer oder überall.

von Peter II (Gast)


Lesenswert?

Planlos schrieb:
> DAS IST EIN SONDERFALL!

diese Sonderfall kommt sehr häufig vor! Wird in großen Windows netzten 
bis zu jeder kleine Fritz-box gemacht.

Warum sollte ein PC (oder µC) nicht selber seinen Hostnamen festlegen 
sollen?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Peter II schrieb:
> Warum sollte ein PC (oder µC) nicht selber seinen Hostnamen festlegen
> sollen?

Denk mal drüber nach.

Was passiert, wenn jemand in ein Netzwerk einen Rechner einschleust, der 
sich qua selbstfestgelegtem Hostnamen als irgendein im Netzwerk bereits 
vorhandener Rechner ausgibt?

In einem typischen Heimnetzwerk führt das nur zu Verwirrung, aber in 
jedem ernsthafter genutzen Netzwerk kann das auch massive 
Sicherheitsprobleme verursachen.

von Peter II (Gast)


Lesenswert?

Rufus Τ. F. schrieb:
> Was passiert, wenn jemand in ein Netzwerk einen Rechner einschleust, der
> sich qua selbstfestgelegtem Hostnamen als irgendein im Netzwerk bereits
> vorhandener Rechner ausgibt?

auch DNS bietet keine Sicherheit. Ich kann auch ohne Probleme eine 
2.DHCP Server einrichten um ein netzt zu stören oder einfach über ARP 
mit IP-Adresse klauen.

> In einem typischen Heimnetzwerk führt das nur zu Verwirrung, aber in
> jedem ernsthafter genutzen Netzwerk kann das auch massive
> Sicherheitsprobleme verursachen.

das gleiche Problem hast du mit festen IP-Adresse, was ist wenn die mal 
vergeben wird?

von Daniel A. (daniel-a)


Lesenswert?

Peter II schrieb:
> auch DNS bietet keine Sicherheit. Ich kann auch ohne Probleme eine
> 2.DHCP Server einrichten um ein netzt zu stören oder einfach über ARP
> mit IP-Adresse klauen.

Aber du must schneller sein als der "richtige".

> Problem hast du mit festen IP-Adresse, was ist wenn die mal
> vergeben wird?

Desshalb liegen statische  IPs ausserhalb des dhcp-range (idealerweise).

von Planlos (Gast)


Lesenswert?

Peter II schrieb:
> Planlos schrieb:
>> DAS IST EIN SONDERFALL!
>
> diese Sonderfall kommt sehr häufig vor!

Na und?
Es ist trotzdem ein Sonderfall in der Hinsicht, dass weder die DNS noch 
die DHCP Spec dieses Verhalten fordern.

Der TE ist netzwerktechnisch blutiger Anfänger.
Ihm ist m.M.n. mehr geholfen, wenn er die Zusammenhänge versteht.

Also: Verstehen wie die Aufgabenteilung zwischen DHCP und DNS-Server 
ist, was das mit der Statischen IP auf seinem µC zu tun hat, was 
eigentlich passiert wenn er in seinen webbroser 
http://meinname.fritz.box/ eingibt usw.

Danach kann er sich gerne auf die "magischen Selbstkonfigurationskräfte" 
seiner Fritzbox verlassen. Wenn er im Hinterkopf behält, dass nicht 
jedes Netzwerk mit einer solchen gesegnet ist.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.