Forum: Mikrocontroller und Digitale Elektronik Zwei ESP32 Server in einem Wlan ?


von Thorsten M. (cortex_user)


Lesenswert?

Moin,

nur ganz kurz: Geht das überhaupt? Einen habe ich mit 3 Clients für die 
Solaranlage. Jetzt soll noch einer dazu kommen für eine Handy-Relais 
Steuerung.

Die Adresse des esp32 ist http://<cryptofolge>fritz.net/Fkt1/.....

Auf Port 80 nach außen verbunden als http Weiterleitung.

Wie würde denn ein zweier Server, der ja genaus die gleiche Crypto 
Adresse der Firma Fritz hat unterschieden werden können?

Gruss,
Thorsten

von Monk (roehrmond)


Lesenswert?

Jeder Host braucht einen anderen Hostnamen. Du kannst nicht mehrere 
ESP32 unter einem Namen ansprechen. Dein Router wird alle Anfragen nur 
zu einem der beiden Routen.

von Rahul D. (rahul)


Lesenswert?

Thorsten M. schrieb:
> ie würde denn ein zweier Server, der ja genaus die gleiche Crypto
> Adresse der Firma Fritz hat unterschieden werden können?

"Crypto Adresse"?
Bei http ist gar nichts verschlüsselt.

Ansonsten: der eine ESP bekommt die eine Portnummer nach draußen und die 
anderen eine andere. So arbeiten alle Router.

von Rahul D. (rahul)


Lesenswert?

Steve van de Grens schrieb:
> Jeder Host braucht einen anderen Hostnamen. Du kannst nicht mehrere
> ESP32 unter einem Namen ansprechen. Dein Router wird alle Anfragen nur
> zu einem der beiden Routen.

Von außen sieht man nur den Router. Der wird i.d.R. per Dyndns-URL 
angesprochen. Wenn mehrere ESP von außen erreichbar sein sollen, muss 
deren Port auf jeweils einen eigenen der dyndns-URL geroutet werden.

von Monk (roehrmond)


Lesenswert?

Man kann unterschiedliche Ports verwenden.

Du könntest von deiner Fritz Box den Port 80 auf den ersten ESP weiter 
leiten, und den Port 81 auf den zweiten ESP.

Fritzbox:80 -> ESP1:80
Fritzbox:81 -> ESP1:80

von Thorsten M. (cortex_user)


Lesenswert?

Rahul D. schrieb:
> Von außen sieht man nur den Router. Der wird i.d.R. per Dyndns-URL
> angesprochen. Wenn mehrere ESP von außen erreichbar sein sollen, muss
> deren Port auf jeweils einen eigenen der dyndns-URL geroutet werden.

Ich versuche es mal, bin da kein Fachmann:

ESP1 ist auf Port 80 mit http://<dnydns>.fritz.net geroutet. Ich rufe 
mit dem Handy die Url auf und habe dann meine Daten und Buttons.

So ein Aufruf sieht so aus 
http://<dyndns>fritz.net:80/Callback_1/Parameter1/....

Aufrufe wie http://<dnydns>.fritz.net:70 sind nicht möglich! (:80 hinter 
die url geschrieben klappt, mit und ohne). Da kommt ein Fehlercode. ESP2 
also auf 70 zu legen haut nicht hin, das 80 steht da unsichtbar immer 
mit drin. http scheint an 80 gebunden zu sein.

Du hast nur eine dyndns frei bei Fritz, mehrere geht nicht. Du kannst 
aber den hinterlegten Dienst ändern auf http, https, ftp, usw. https 
versuche ich zu vermeiden, das bläht den Code auf, Zertifikat besorgen 
usw.

: Bearbeitet durch User
von Rahul D. (rahul)


Lesenswert?

https://de.wikipedia.org/wiki/Liste_der_standardisierten_Ports

meistens verwendet man 8080-Ports (8080, 8081...).
Die muss man halt im Freigabemenu setzen.
Intern werden die alle Port 80 (http), aber unterschiedliche (lokale) 
IP-Adressen, haben.

von Thorsten M. (cortex_user)


Lesenswert?

Rahul D. schrieb:
> meistens verwendet man 8080-Ports (8080, 8081...).
> Die muss man halt im Freigabemenu setzen.
> Intern werden die alle Port 80 (http), aber unterschiedliche (lokale)
> IP-Adressen, haben.

Danke, ich probiere das mal aus! Nochmal danke!

von Thorsten M. (cortex_user)


Lesenswert?

Bard sagt dazu:

Frage: Ich möchte zwei esp32 server in einem einzigen wlan laufen 
lassen. sie sollen über eine DynDNS erreichbar sein. welche ports kann 
ich verwenden damit sie von außen aufgerufen werden können von einem 
browser?

Um zwei ESP32 Server in einem einzigen WLAN über eine DynDNS erreichbar 
zu machen, müssen Sie für jeden Server einen Port verwenden, der nicht 
von einem anderen Server verwendet wird. Die Standardports für HTTP und 
HTTPS sind 80 und 443. Sie können diese Ports verwenden, wenn Sie 
sicherstellen, dass die beiden Server nicht gleichzeitig auf diesen 
Ports ausgeführt werden.

Wenn Sie sicherstellen möchten, dass die beiden Server nicht 
gleichzeitig auf denselben Port ausgeführt werden, können Sie einen Port 
für jeden Server verwenden, der außerhalb des Standardbereichs liegt. 
Zum Beispiel können Sie Port 8080 für den ersten Server und Port 8081 
für den zweiten Server verwenden.

Wenn Sie die beiden Server von einem anderen Netzwerk aus aufrufen 
möchten, müssen Sie den Port für jeden Server in der Firewall Ihres 
Routers freigeben.

Hier sind einige Beispiele für Ports, die Sie für zwei ESP32 Server 
verwenden können:

Server 1: Port 80
Server 2: Port 8080
Server 1: Port 443
Server 2: Port 8443
Server 1: Port 8080

: Bearbeitet durch User
von Rüdiger B. (rbruns)


Lesenswert?

Aus sicherheitsgründen empfehle ich dir DRINGEND ein VPN zu benutzen. 
Damit ist dein Rechner/Handy im eigenen Lokalen Netz.

von Thomas F. (thf)


Lesenswert?

Dass das IT-sicherheitstechnisch sehr gefährlich ist, was Du da machst, 
ist Dir hoffentlich bewusst? Es muss nur jemand von außen Deinen ESP 
übernehmen und hat damit Zugriff auf Dein Heimnetz. Nimm lieber einen 
VPN, dann musst Du auch keine Portfreigaben oder Routen einrichten. 
Wireguard z.B. ist schlank und einfach einzurichten.

: Bearbeitet durch User
von Rolf (rolf22)


Lesenswert?

Thorsten M. schrieb:
> Du hast nur eine dyndns frei bei Fritz, mehrere geht nicht.

Die Portnummer ist aber nicht Teil des Domainnamens.
Du kannst beliebig viele Portnummern gleichzeitig nutzen.

Damit der gewünschte Server von draußen erreicht werden kann, muss die 
Fritzbox wissen, welcher Server es jeweils ist, an den sie die Anfrage 
weiterleiten soll. Dazu legst du in der FB eine Port-Weiterleitung 
("Internet/Freigaben/Portfreigaben") zum jeweiligen Server an, wobei du 
den im LAN gültigen Servernamen benutzt.

Dabei musst du zwischen den im Internet benutzten Portnummern ("extern") 
und den in deinem LAN benutzen ("intern") unterscheiden.

Beispiel mit 2 Port-Weiterleitungen:

Port extern 80 --> Port intern 80, Rechnername im LAN ESP1
Aufruf also mit http://<dnydns>.fritz.net:80

Port extern 70 --> Port intern 80, Rechnername im LAN ESP2
Aufruf also mit http://<dnydns>.fritz.net:70

Intern muss der Port in beiden Fällen 80 sein, wenn du - nehme ich an - 
auf den ESPs je einen Webserver laufen hast, und der lauscht eben per 
default auf 80.

Bedenke aber, dass du mit solchen Weiterleitungen zwei Löcher in die 
Firewall der FB bohrst.

von Thorsten M. (cortex_user)


Lesenswert?

Danke Dir, ich probiere es heute abend mal schnell aus. Aufruf dann 
vermutlich mit ....:70 dahinter aus dem Browser. Wobei 70 nicht geht, 
nur die erlaubten Ports.

PS:Ö Selbst auf einem esp32 wird nach einigen Tagen "gebohrt", die blaue 
LED die jeden Zugriff anzeigt spielt dann verrückt, wenn die ihre 
Passworte probieren. Der Ping klappt ja. Ich habe die CallBack Methoden 
16stellig ZufallsgeneratorStrings genomen, damit die zuminest nicht 
erraten werden können für die Steuurung der Anlage. Aber natürlich 
abgehört bei plain text verbindung http.

: Bearbeitet durch User
von Oliver R. (orb)


Lesenswert?

Thorsten M. schrieb:
> Wobei 70 nicht geht, nur die erlaubten Ports.

wer hat die 70 denn verboten?

von Monk (roehrmond)


Lesenswert?

Thorsten M. schrieb:
> http scheint an 80 gebunden zu sein.

Wenn du eine URL ohne Portnummer eingibst, dann verwendte der Browser 
automatisch
- Port 80 für http://
- Port 443 für https://

Theoretisch müsstest du jede beliebige Portnummer angeben können.

Allerdings sind auf Unix Systemen die Port Nummern < 1024 für 
Standard-Dienste reserviert und können von "normalen" Usern wie dir und 
mir nicht genutzt werden. Also wenn ich ein Terminalfenster auf mache 
und darin einen Web Server starte, dann muss der auf einer hohen 
Portnummer laufen. Zum Beispiel 8080.

Jetzt hänge ich mich mal ganz weit aus dem Fenster: Eventuell erlaubt 
dein Internet Provider im Bereich < 1024 nicht jede beliebige 
Portnummer, sondern nur bestimmte die in irgendeiner Whiteliste stehen.

Deswegen probiere einfach mal 8080 und 8081 für die beiden ESP. Dann 
müsste es eigentlich gehen.

Thorsten M. schrieb:
> die blaue LED die jeden Zugriff anzeigt spielt dann verrückt

Ja, es gibt jede menge Bots die das Internet ständig nach erreichbaren 
IP-Adressen und Ports abscannen. Und wenn sie dann einen Kandidaten 
gefunden haben, klopfen sie ihn auf bekannte Sicherheitslücken und 
triviale Passwörter ab.

Deswegen halte ich es generell für keine gute Idee, einen 
Mikrocontroller von "außen" erreichbar zu machen. Diese kleinen Dinger 
können niemals das Sicherheitsniveau bieten, wie ein ausgewachsener 
Webserver. Außerdem lassen sie sich oft leicht überlasten, so dass sie 
ihre Hauptaufgabe nicht mehr wahrnehmen.

Besser wäre, z.B. einen Apache Webserver mit PHP von außen erreichbar zu 
machen, und das PHP Script kommuniziert mit dem ESP.

: Bearbeitet durch User
von Thorsten M. (cortex_user)


Lesenswert?

Thomas F. schrieb:
> Es muss nur jemand von außen Deinen ESP
> übernehmen und hat damit Zugriff auf Dein Heimnetz.

Nein, das geht nicht mit "übernehmen". Es ist nicht möglich den 
umzuprogrammieren und er läuft am Gast Zugang. Und da ist sonst nichts 
dran, keinerlei Freigaben von Platten usw. Du kriegst die Dinger zum 
Absturz mit Pufferüberlauf, das ist aber auch alles. Im schlimmsten Fall 
wird er zugemüllt.

Einen offenen Raspi mit passwort admin und login default für root ssh 
bist Du schneller los :-)

: Bearbeitet durch User
von Thomas F. (thf)


Lesenswert?

>> Es ist nicht möglich den umzuprogrammieren
Wie kannst Du das ausschließen? "Code Injection" kann man nicht per se 
ausschließen.

>> er läuft am Gast Zugang
Erlaubt die FritzBox eine Portfreigabe ins Gästenetz?

von Mario M. (thelonging)


Lesenswert?

Steve van de Grens schrieb:
> Besser wäre, z.B. einen Apache Webserver mit PHP von außen erreichbar zu
> machen, und das PHP Script kommuniziert mit dem ESP.

Dann lieber einen nginx als Proxy und die beiden ESPs auf verschiedene 
Unterverzeichnisse weiterleiten.

von Rüdiger B. (rbruns)


Lesenswert?

Thomas F. schrieb:
>>> er läuft am Gast Zugang
> Erlaubt die FritzBox eine Portfreigabe ins Gästenetz?

Nein.

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.