Verbinden Sie Linux gleichzeitig mit zwei Netzwerken


10

Ich möchte über Ethernet und eingebautes WLAN gleichzeitig eine Verbindung zu zwei Netzwerken oder zu zwei WLAN-Netzwerken herstellen, indem ich einen zusätzlichen WLAN-Adapter installiere.

Meine Anforderung: Ich habe zwei Sätze von Geräten (Gruppe A und Gruppe B), die miteinander kommunizieren müssen, aber nicht direkt. Es gibt kein Internet am Standort. Geräte der Gruppe A sind mit dem WLAN-Router A und Geräte der Gruppe B mit dem WLAN-Router B verbunden (es ist erforderlich, dass sie nicht mit demselben Router verbunden sind). Ich möchte, dass das Linux-Gerät eine Verbindung zu Router A und Router B herstellt und als Vermittler zwischen den beiden Gruppen fungiert. Das Linux-Gerät sollte Nachrichten von Gruppe A (über Router A) empfangen, die Informationen verarbeiten und eine Benachrichtigung über das Ergebnis an Gruppe B (über Router B) senden und umgekehrt.

Fragen:

  1. Wie richte ich Linux so ein, dass es gleichzeitig eine Verbindung zu zwei Netzwerken herstellt?
  2. Wie identifiziere ich, aus welchem ​​Netzwerk eine Nachricht stammt, und behandle diese Nachricht entsprechend?
  3. Wie gebe ich das Zielnetzwerk für meine Benachrichtigung an und sende es an dieses Netzwerk?

Antworten:


1

Stellen Sie sicher, dass jedes Netzwerk seinen eigenen Netzwerkbereich hat, z . B. wlan0ist 192.168.0.0/24und wlan1ist 192.168.1.0/24. Das beantwortet Ihre Fragen (2) und (3): Überprüfen Sie die Quelladresse der "Nachricht" (welches Format hat die Nachricht? UDP-Paket? Wie lesen Sie die Nachricht?), Um festzustellen, aus welchem ​​Netzwerk die Nachricht stammt und Sie Richten Sie ein Netzwerk über die IP-Adresse aus, an die Sie senden. Dies ist das grundlegende Netzwerk-Routing ...

Aktivieren Sie die IP-Weiterleitung ( echo 1 > /proc/sys/net/ipv4/ip_forward), damit Geräte in einem Netzwerk eine direkte Verbindung zu Geräten im anderen Netzwerk herstellen können. Legen Sie das Linux-System als (Standard-) Gateway auf diesen Geräten fest.

Wie Sie Linux so konfigurieren, dass es gleichzeitig eine Verbindung zu zwei Netzwerken herstellt: Dies hängt von Ihrer Distribution und den von Ihnen verwendeten Tools ab. Mit Debian ohne networkmanagerAusführung müssen Sie /etc/network/interfacesentsprechend konfigurieren ; Mit Red Hat müssen Sie die Dateien unter konfigurieren /etc/sysconfig/networking/.

BEARBEITEN: Deaktivieren Sie den DHCP-Server auf den WLAN-Routern, weisen Sie der LAN-Schnittstelle eine feste IP im richtigen Netzwerk zu, wie oben beschrieben (eine in 192.168.0.0/24, z. B. 192.168.0.2 und eine in 192.168.1.0/24, z. B. 192.168 .1.2). Geben Sie jedem Router seine eigene WLAN-ID (und natürlich jedem seinen eigenen Passwod).

Geben Sie den Schnittstellen in Linux die entsprechende Adresse, die jedoch mit .1 endet. (Wenn Sie ein neues System für Linux bestellt haben, stellen Sie sicher, dass es über zwei Schnittstellen verfügt. Möglicherweise müssen Sie dazu eine zusätzliche Netzwerkkarte (NIC) bestellen.) Verbinden Sie das Linux-System über einen LAN-Port mit den WLAN-Routern. Verwenden Sie nicht den WAN-Port, dh der WLAN-Router wird nur als Zugangspunkt verwendet und leitet nichts weiter. Wir überlassen das Routing Linux. (Es sollte nicht erforderlich sein, zu verwenden, iptablesda standardmäßig alles zulässig ist und NAT hier nicht erforderlich ist. Es kann jedoch nützlich sein, es iptableszu einem späteren Zeitpunkt zu verwenden, um den zulässigen Datenverkehr zu begrenzen.)

Installieren Sie einen DHCP-Server unter Linux und konfigurieren Sie ihn so, dass Adressen auf beiden Schnittstellen ausgegeben werden (dazu finden Sie zahlreiche Dokumentationen). Konfigurieren Sie den DHCP-Server so, dass die Linux-System-IP als Standard-Gateway angegeben wird.


Danke @wurtel. Ich bin neu im Networking und habe gute Linux-Kenntnisse. Aber ich bin bereit, alles zu versuchen, was nötig ist, damit dies funktioniert. Ich bin seit 6 Monaten in diesem Projekt und die Vernetzung der Geräte, wie in meinem ursprünglichen Beitrag beschrieben, ist mein nächster (erforderlicher) Schritt. Wenn Sie mir Hinweise geben könnten, werde ich mit ihnen arbeiten. Ich habe einen Linux-PC bestellt, mit dem ich arbeiten kann. Er wird Ende des Monats ausgeliefert. Ich kann Ihre Vorschläge zu Schritt 1 danach versuchen. Muss ich in Bezug auf 2 und 3 einen Server einrichten? Ich codiere in Python & Java, kann aber alles andere lernen, wenn es die Arbeit erledigt.
Sivakumar Natarajan

Ich muss noch herausfinden, wie Geräte in Gruppe A und B mit dem Linux-Gerät kommunizieren. Die Geräte in Gruppe A und B sind Tablets (iOS und Android). Gruppe A sind Studenten und Gruppe B sind Mitarbeiter. Die Geräte kommunizieren innerhalb der Gruppe miteinander, bilden jedoch eine Schnittstelle über das Linux-Gerät, um mit der anderen Gruppe zu interagieren.
Sivakumar Natarajan

Wenn der Kommentar das gewünschte Verhalten ist, ist es am besten, das Linux-Gerät als Brücke zu fungieren.
eyoung100

Erfordert auch iptables Konfiguration
Sandyp

Ich habe meine Antwort bearbeitet. Das Konfigurieren von Netzwerkschnittstellen geht meiner Meinung nach über den Rahmen dieser Frage hinaus (viele Informationen zu diesem Thema). Außerdem haben Sie immer noch nicht gesagt, welches Linux Sie verwenden. Wenn Sie sich noch nicht entschieden haben, empfehle ich Debian :-)
wurtel
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.