Routing wenn die Kommunikation nur innerhalb von einem Subnetz stattfindet [Gelöst]
Routing wenn die Kommunikation nur innerhalb von einem Subnetz stattfindet [Gelöst]
Hallo zusammen
Meine Anwort:
"i do not really understand why gateways are relevant if all connections between echo and ha-bridge will be done on the local subnet, that is little bit difficult to understand for me..."
Seine Anwort:
"Your routing table will always use eth0 for sending traffic out as the route table has duplicate entries for the same route. It will always pick the first explicit match."
Gerät B kommuniziert nur mir Gerät A und Gerät C innerhalb des gleichen Subnetz. Die Gerät A und C können aber auch nach aussen eine Verbindung aufbauen.
Weshalb muss dann Gerät B, welche nie "raus" geht und nur auf A und C, eine spezielle Routing-Konfiguration haben? Wieso könnte man dort nicht einfach nur die IP und die Subnetzmaske festlegen?
Ich meine man kann ja auch sämtliche Rechner auf ne fixe IP einstellen und die gleiche Subnetzmaske und KEIN Gateway und all die Kisten an einen "simplen" (besser gesagt: "normalem" ) Switch hängen welcher nicht etwa noch die Rolle eines DHCP-Servers spielt. (Z.B. ein "unmanaged", ohne Web-GUI und RS232-Anschluss) Dann gibt es ja keinen Gateway, und trotzdem können doch die Rechner untereinander kommunizieren?
Gateway ist ja die Router-Adresse (ob nun NAT oder ein "richtiger" Router spielt an dieser Stelle keine Rolle), und ein Netz muss nicht zwangsläufig geroutet sein.
Vielen Dank für die Feedbacks.
Meine Anwort:
"i do not really understand why gateways are relevant if all connections between echo and ha-bridge will be done on the local subnet, that is little bit difficult to understand for me..."
Seine Anwort:
"Your routing table will always use eth0 for sending traffic out as the route table has duplicate entries for the same route. It will always pick the first explicit match."
Gerät B kommuniziert nur mir Gerät A und Gerät C innerhalb des gleichen Subnetz. Die Gerät A und C können aber auch nach aussen eine Verbindung aufbauen.
Weshalb muss dann Gerät B, welche nie "raus" geht und nur auf A und C, eine spezielle Routing-Konfiguration haben? Wieso könnte man dort nicht einfach nur die IP und die Subnetzmaske festlegen?
Ich meine man kann ja auch sämtliche Rechner auf ne fixe IP einstellen und die gleiche Subnetzmaske und KEIN Gateway und all die Kisten an einen "simplen" (besser gesagt: "normalem" ) Switch hängen welcher nicht etwa noch die Rolle eines DHCP-Servers spielt. (Z.B. ein "unmanaged", ohne Web-GUI und RS232-Anschluss) Dann gibt es ja keinen Gateway, und trotzdem können doch die Rechner untereinander kommunizieren?
Gateway ist ja die Router-Adresse (ob nun NAT oder ein "richtiger" Router spielt an dieser Stelle keine Rolle), und ein Netz muss nicht zwangsläufig geroutet sein.
Vielen Dank für die Feedbacks.
Zuletzt geändert von jmar83 am 09.12.2019 16:31:59, insgesamt 1-mal geändert.
Freundliche Grüsse, Jan
Re: Routing wenn die Kommunikation nur innerhalb von einem Subnetz stattfindet
Natürlich kannst du auf B das Gateway komplett weglassen.jmar83 hat geschrieben:23.09.2019 21:13:22Weshalb muss dann Gerät B, welche nie "raus" geht und nur auf A und C, eine spezielle Routing-Konfiguration haben? Wieso könnte man dort nicht einfach nur die IP und die Subnetzmaske festlegen?
Die Geräte kommunizieren ja auch ohne Einschränkungen untereinander weiter, wenn du das Gateway-Gerät einfach abschaltest bzw. vom Netzwerk trennst.
Re: Routing wenn die Kommunikation nur innerhalb von einem Subnetz stattfindet
Danke für die Bestätigung meiner Vermutung!! 

Freundliche Grüsse, Jan
Re: Routing wenn die Kommunikation nur innerhalb von einem Subnetz stattfindet
Ursprünglich ging es darum: Dass es vielleicht nicht "ideal" ist, mit 2 Netzwerkkarten (also mit 2 Kabeln) oder auch mit einer VM und 2 virtuellen Netzwerkadaptern 2x die gleiche Verbindung (=gleiches Subnetz) innerhalb von 1 Betriebssystem einzurichten, erscheint mir "einigermassen" klar. (Eine weitere Möglichkeit wäre, z.B. einen virt. Netzwerkadapter, z.B. vom Typ `macvlan` als Bridge auf eth0 aufzusetzen)
Aber da kann man doch ein wenig mit der Gateway-Metrik spielen, und dann sollte dem System dann klar sein was davon priorisiert wird. (Windows$ z.b. bevorzugt wenn die Metrik auf automatisch ist meines Wissens immer LAN- vor WLAN-Adaptern)
In der Rolle als Server konnte ich damit auch keine Probleme feststellen, zumindest nicht im gleichen Subnetz - beide IPs sind grundsätzlich immer erreichbar. (War ja das ursprüngliche Thema in diesem Thread...) Anders würde es z.B. bei NAT-Port-Forwards aussehen: Wenn ein Client im "privaten" Bereich, welcher "nach aussen" als Server erreichbar sein soll die Gateway-Daten falsch hinterlegt hat, dann klapp z.B. ein solcher Port-Forward nicht. Soweit klar!
...aber mir ist völlig unklar, was die Leute von der HA-Bridge-Entwicklung damit meinen.
Gegeben sei diese Konstellation, konkret sieht es so aus:
- A.) Amazon Echo Gerät ("Alexa")
- B.) HA-Bridge, welche "Philips Hue" emuliert (das kann Alexa "nativ" abarbeiten, ohne spez. installierte "Philips Hue"-Skills)
- C.) Das Gerät mit der SmartHome-Lösung
(Hinweis: "Gerät" kann einfach ne IP sein, Client oder Server!!)
Gerät `B` ist die HA-Bridge. Diese erhält vom Echo-Gerät `A` den Befehl zum schalten. Anschliessend ruft die HA-Bridge das Gerät mit der SmartHome-Lösung `C` auf.
Also ist es doch "so lang wie breit" wie fehlerhaft, unvollständig, was auch immer die Gateway-Informationen ("Routing table") auf Gerät B sind. (???)
Gerät `B`, also die HA-Bridge, ist eben diese 2. IP auf dem gleichen Betriebssystem, welche dazu noch das gleiche Subnetz nutzt wie die IP auf eth0. (Auf der IP von eth0 läuft dann eben das GUI der SmartHome-Lösung) Und die HA-Bridge-Leute wollen mir sagen die Routing-Einstellungen auf der HA-Bridge-IP seien in dieser Konstellation ein Problem, und der Grund dass es nicht läuft?
Es läuft zwar schon, habe inzwischen ne Lösung gefunden, bin aber immer noch relativ verwirrt. Eigentlich wollte ich nur einen (vermeintlichen??) Bug melden, ein Request auf http://HA_BRIDGE_IP/description.xml hatte nicht die HA-Bridge IP drin, sondern die IP von eth0 was ein Problem zu sein scheint... und am Schluss wird mir was von Routing erzählt...?
Vielleicht verstehe ich schlicht einfach zu wenig davon, wie das Routing unter Debian funktioniert - gut möglich.
(Die Github-Issue möche ich euch nicht unbedingt antun - falls es jemanden interessiert kann ich den Link aber liefern... ist aber auch einfach selbst zu finden!
)
Aber da kann man doch ein wenig mit der Gateway-Metrik spielen, und dann sollte dem System dann klar sein was davon priorisiert wird. (Windows$ z.b. bevorzugt wenn die Metrik auf automatisch ist meines Wissens immer LAN- vor WLAN-Adaptern)
In der Rolle als Server konnte ich damit auch keine Probleme feststellen, zumindest nicht im gleichen Subnetz - beide IPs sind grundsätzlich immer erreichbar. (War ja das ursprüngliche Thema in diesem Thread...) Anders würde es z.B. bei NAT-Port-Forwards aussehen: Wenn ein Client im "privaten" Bereich, welcher "nach aussen" als Server erreichbar sein soll die Gateway-Daten falsch hinterlegt hat, dann klapp z.B. ein solcher Port-Forward nicht. Soweit klar!
...aber mir ist völlig unklar, was die Leute von der HA-Bridge-Entwicklung damit meinen.
Gegeben sei diese Konstellation, konkret sieht es so aus:
- A.) Amazon Echo Gerät ("Alexa")
- B.) HA-Bridge, welche "Philips Hue" emuliert (das kann Alexa "nativ" abarbeiten, ohne spez. installierte "Philips Hue"-Skills)
- C.) Das Gerät mit der SmartHome-Lösung
(Hinweis: "Gerät" kann einfach ne IP sein, Client oder Server!!)
Gerät `B` ist die HA-Bridge. Diese erhält vom Echo-Gerät `A` den Befehl zum schalten. Anschliessend ruft die HA-Bridge das Gerät mit der SmartHome-Lösung `C` auf.
Also ist es doch "so lang wie breit" wie fehlerhaft, unvollständig, was auch immer die Gateway-Informationen ("Routing table") auf Gerät B sind. (???)
Gerät `B`, also die HA-Bridge, ist eben diese 2. IP auf dem gleichen Betriebssystem, welche dazu noch das gleiche Subnetz nutzt wie die IP auf eth0. (Auf der IP von eth0 läuft dann eben das GUI der SmartHome-Lösung) Und die HA-Bridge-Leute wollen mir sagen die Routing-Einstellungen auf der HA-Bridge-IP seien in dieser Konstellation ein Problem, und der Grund dass es nicht läuft?
Es läuft zwar schon, habe inzwischen ne Lösung gefunden, bin aber immer noch relativ verwirrt. Eigentlich wollte ich nur einen (vermeintlichen??) Bug melden, ein Request auf http://HA_BRIDGE_IP/description.xml hatte nicht die HA-Bridge IP drin, sondern die IP von eth0 was ein Problem zu sein scheint... und am Schluss wird mir was von Routing erzählt...?
Vielleicht verstehe ich schlicht einfach zu wenig davon, wie das Routing unter Debian funktioniert - gut möglich.
(Die Github-Issue möche ich euch nicht unbedingt antun - falls es jemanden interessiert kann ich den Link aber liefern... ist aber auch einfach selbst zu finden!

Freundliche Grüsse, Jan
Re: Routing wenn die Kommunikation nur innerhalb von einem Subnetz stattfindet
Linux und damit auch Debian unterstützt per default das sog. "weak host model", was bedeutet,
dass es die IPs nicht per Interface sieht, sondern für den ganzen host.
Dies ist insbesondere dann problematisch, wenn man zwei interfaces in einem subnet hat,
da es vorkommt, dass das eine Interface für das zweite reagiert.
Der einfachste workaround ohne viel sysctl-rumgefummel ist, die beiden interfaces
in getrennte subnetze zu stecken, was aber dann für einen third-party bedeutet,
dass es ein default-gateway braucht, um das interface im anderen subnetz zu erreichen.
dass es die IPs nicht per Interface sieht, sondern für den ganzen host.
Dies ist insbesondere dann problematisch, wenn man zwei interfaces in einem subnet hat,
da es vorkommt, dass das eine Interface für das zweite reagiert.
Der einfachste workaround ohne viel sysctl-rumgefummel ist, die beiden interfaces
in getrennte subnetze zu stecken, was aber dann für einen third-party bedeutet,
dass es ein default-gateway braucht, um das interface im anderen subnetz zu erreichen.
Re: Routing wenn die Kommunikation nur innerhalb von einem Subnetz stattfindet
Anhand deiner Erklärung wird mir noch nicht mal klar, warum du zwei Netzwerkkarten benutzt oder benötigst.
Du kannst pro Interface beliebig viele IP-Adressen konfigurieren über Alias (eth0:0).
Du kannst pro Interface beliebig viele IP-Adressen konfigurieren über Alias (eth0:0).
Re: Routing wenn die Kommunikation nur innerhalb von einem Subnetz stattfindet
Danke für die Feedbacks!! 

...das ist aktuell auch nicht sooo wichtig (wie gesagt hat sich nun eine Lösung ergeben), da es eher um eine Linux-Grundsatzfrage geht."Anhand deiner Erklärung wird mir noch nicht mal klar, warum du zwei Netzwerkkarten benutzt oder benötigst."
Freundliche Grüsse, Jan
Re: Routing wenn die Kommunikation nur innerhalb von einem Subnetz stattfindet
...und dies obwohl die HA-Bridge-Leute gesagt haben dass das nicht geht (nein ich habe nicht 2 Subnetze und auch nix in /etc/systemctl.conf angepasst) und am Schluss noch Consulting-Dienstleistungen anbieten wollten. (Gut, ich nehme es eigentlich niemandem übel, wenn er Kohle machen will... aber die HA-Bridge ist Opensource, und der Preis, den ich für die Opensource zahle ist dass ich dabei mithelfe Verbesserungen und Bugs zu finden, neue Features vorschlage etc. Opensource ist somit nicht wirklich kostenlos, sondern bedarf oft ein Maximum an Recherche und Abklärungen...)"wie gesagt hat sich nun eine Lösung ergeben"
So long...
Freundliche Grüsse, Jan
- DynaBlaster
- Beiträge: 958
- Registriert: 25.03.2004 18:18:57
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: DF0://dynablaster.adf
Re: Routing wenn die Kommunikation nur innerhalb von einem Subnetz stattfindet
Ne Routing-Tabelle gibts natürlich trotzdem, auch wenn es keinen Default-Gateway-Eintrag gibt.
Das Problem bei 2 Netzwerkkarten mit 2 IP-Adressen im gleichen Subnetz kann halt sein, das Pakete aus/in dieses Subnetz mal von der einen und mal von der anderen IP-Adresse/Netzwerkkarte behandelt werden.
Da die Routing-Tabelle von oben nach unten abgearbeitet wird, dürfte das in den meisten Fällen gut gehen. Es ist aber durchaus möglich, das da Pakete von anderen Netzwerkteilnehmern bspw. auf der 2. IP/Netzwerkkarte (sprich auf unteren/2. Routing-Eintrag für das Subnetz) eintrudeln und dann das Antwortpaket über die 1. IP/Netzwerkarte (da 1. expliziter Treffer in der Routing-Tabelle) rausgehen.
Das wiederum findet dann der andere Netzwerkteilnehmer, der die Verbindung ursprünglich initiiert hat, u.U. nicht so gut und die Kommunikation scheitert.
Ich kenne das Problem hauptsächlich von Firewalls/Gateways mit mehreren Default-Gateways ins Internet. Da kann man dann hiermit http://man7.org/linux/man-pages/man8/ip-rule.8.html arbeiten und bspw. Pakete nach bestimmten Kriterien über Leitung A oder eben Leitung B routen.
Das Problem bei 2 Netzwerkkarten mit 2 IP-Adressen im gleichen Subnetz kann halt sein, das Pakete aus/in dieses Subnetz mal von der einen und mal von der anderen IP-Adresse/Netzwerkkarte behandelt werden.
Da die Routing-Tabelle von oben nach unten abgearbeitet wird, dürfte das in den meisten Fällen gut gehen. Es ist aber durchaus möglich, das da Pakete von anderen Netzwerkteilnehmern bspw. auf der 2. IP/Netzwerkkarte (sprich auf unteren/2. Routing-Eintrag für das Subnetz) eintrudeln und dann das Antwortpaket über die 1. IP/Netzwerkarte (da 1. expliziter Treffer in der Routing-Tabelle) rausgehen.
Das wiederum findet dann der andere Netzwerkteilnehmer, der die Verbindung ursprünglich initiiert hat, u.U. nicht so gut und die Kommunikation scheitert.
Ich kenne das Problem hauptsächlich von Firewalls/Gateways mit mehreren Default-Gateways ins Internet. Da kann man dann hiermit http://man7.org/linux/man-pages/man8/ip-rule.8.html arbeiten und bspw. Pakete nach bestimmten Kriterien über Leitung A oder eben Leitung B routen.
Re: Routing wenn die Kommunikation nur innerhalb von einem Subnetz stattfindet
Hallo DynaBlaster
Vielen Dank für die wertvollen Informationen!!
Vielen Dank für die wertvollen Informationen!!
Freundliche Grüsse, Jan