root213123
Anmeldungsdatum: 21. Januar 2014
Beiträge: 130
|
Hallo, ich habe zwei Interfaces (eth0, eth1) ohne zugewiesene IP-Adresse. Beide befinden sich in br-lan(192.168.1.1/24). Der arp-Befehl liefert: 192.168.1.100 br-lan Wie kann ich herausfinden, über welches Interface der Client verbunden ist? Dank im Voraus.
|
misterunknown
Ehemalige
Anmeldungsdatum: 28. Oktober 2009
Beiträge: 4403
Wohnort: Sachsen
|
root213123 schrieb: Wie kann ich herausfinden, über welches Interface der Client verbunden ist?
Die Brücke sendet alle Pakete an alle beteiligten Interfaces. Das ist ja der Sinn einer Netzwerkbrücke. Siehe auch. Wenn du wissen willst, über welches Interface die Antwortpakete reinkommen, kannst du tcpdump verwenden.
|
root213123
(Themenstarter)
Anmeldungsdatum: 21. Januar 2014
Beiträge: 130
|
Ich möchte einen Webservice betreiben, der auf mehreren Interfaces erreichbar ist und die Herkunft einer Anfrage ungefähr ermitteln kann. Geht das eventuell mit bond?
|
misterunknown
Ehemalige
Anmeldungsdatum: 28. Oktober 2009
Beiträge: 4403
Wohnort: Sachsen
|
root213123 schrieb: Ich möchte einen Webservice betreiben, der auf mehreren Interfaces erreichbar ist und die Herkunft einer Anfrage ungefähr ermitteln kann.
Dann brauchst du doch keine Bridge. Lass den Webservice einfach an allen Interfaces lauschen und werte dann die IP aus, auf welcher er angesprochen wird. Oder verstehe ich das falsch?
|
root213123
(Themenstarter)
Anmeldungsdatum: 21. Januar 2014
Beiträge: 130
|
Auf der Bridge läuft gleichzeitig ein DHCP, der auf beiden Interfaces Adressen vergibt. Ich müsste dann den Interfaces jeweils eine Adresse zuweisen. Außerdem sollen die Clients sich "unterhalten" können.
|
misterunknown
Ehemalige
Anmeldungsdatum: 28. Oktober 2009
Beiträge: 4403
Wohnort: Sachsen
|
root213123 schrieb: Auf der Bridge läuft gleichzeitig ein DHCP, der auf beiden Interfaces Adressen vergibt. Ich müsste dann den Interfaces jeweils eine Adresse zuweisen. Außerdem sollen die Clients sich "unterhalten" können.
Ok. Aber wenn das ganze sowieso nur ein großes Netz ist, warum musst du dann wissen, auf welchem Interface das Paket reingekommen ist? Versteh mich nicht falsch, es ist prinzipiell möglich das zu tracken, aber es ist IMHO ein größerer Aufwand. Du müsstest IMHO per iptables ein TCP-Flag setzen, welches du dann am Webservice wieder auslesen kannst. Aber vielleicht gibt es eine bessere™ Möglichkeit dein Ziel zu erreichen. Was ist also dein konkretes Ziel? Wozu brauchst du das eingehende Interface?
|
root213123
(Themenstarter)
Anmeldungsdatum: 21. Januar 2014
Beiträge: 130
|
Es handelt sich um eine Zugangskontrolle via Webservice. Die Interfaces entsprechen VLANs (eth0, eth1 war nur zur Vereinfachung). Die Benutzer sind an VLANs gebunden (Abteilung I, Abteilung II), somit muss ich feststellen können, woher die Anfrage kommt.
|
misterunknown
Ehemalige
Anmeldungsdatum: 28. Oktober 2009
Beiträge: 4403
Wohnort: Sachsen
|
root213123 schrieb: Es handelt sich um eine Zugangskontrolle via Webservice. Die Interfaces entsprechen VLANs (eth0, eth1 war nur zur Vereinfachung). Die Benutzer sind an VLANs gebunden (Abteilung I, Abteilung II), somit muss ich feststellen können, woher die Anfrage kommt.
Der VLAN-Layer wird vom Kernel meines Wissen ziemlich zeitig weggefrühstückt. Da wirst du wenig Chancen haben, im Nachhinein zu unterscheiden. Ist das Setup schon fix? Wenn nicht, würde ich die Brücke abreißen und den DHCP einfach an beiden Interfaces lauschen lassen (dazu brauchst du natürlich zwei separate IPs). Du kannst ja trotzdem nur ein einzelnes Netz per DHCP verteilen, aber so bekommst du über die Interfaces ein valides Unterscheidungsmerkmal, welches du auch in der Applikation noch auswerten kannst. Alternativ kannst du je nach Abteilung auch verschiedene IP-Ranges definieren und die Unterscheidung anhand der Absende-IP machen.
|
root213123
(Themenstarter)
Anmeldungsdatum: 21. Januar 2014
Beiträge: 130
|
Grundsätzlich gute Idee, nur wie können die Clients beider Interfaces miteinander kommunizieren? Kann man das irgendwie mit einem Forwarding ohne Bridge erreichen?
|
misterunknown
Ehemalige
Anmeldungsdatum: 28. Oktober 2009
Beiträge: 4403
Wohnort: Sachsen
|
Klar, dazu einfach das IP-Forwarding aktivieren. Zusätzlich hat das den Charme, dass du beide Bereiche problemlos firewallen kannst.
|
root213123
(Themenstarter)
Anmeldungsdatum: 21. Januar 2014
Beiträge: 130
|
Das verhindert dann aber Multicast, richtig? Hierzu ist eben eine Bridge notwendig.
|
misterunknown
Ehemalige
Anmeldungsdatum: 28. Oktober 2009
Beiträge: 4403
Wohnort: Sachsen
|
root213123 schrieb: Das verhindert dann aber Multicast, richtig? Hierzu ist eben eine Bridge notwendig.
Nicht unbedingt. Du kannst auch Multicast über beide Interfaces routen, allerdings hab ich da auch keine Erfahrung. Theoretisch müsstest du einfach Multicast-Forwarding aktivieren:
echo 1 > /proc/sys/net/ipv4/conf/all/mc_forwarding
Ich weiß ja nicht, inwiefern du dort bisschen testen und rumspielen kannst. Eine Alternative mit Bridge fällt mir nicht ein.
|