WiFi-Routing und Gateway verstehen

WiFi-Routing und Gateway verstehen

Die Lösungwird erklärtHier

Das Problem

Ich habe 3 Schnittstellen eth0, wlan0, wlan1 (2 WLAN-USB-Dongles) auf meinem Raspberry Pi.

  • wlan1 wird verwendet, um über SSDP eine Verbindung zu einer WLAN-Kamera herzustellen.
  • wlan0 wird verwendet, um eine TCP-Verbindung zu einem Server herzustellen (IP/Domänenname bekannt). Ich weiß nichts über das WLAN, mit dem wlan0 über DHCP verbunden ist. Es könnte sich von Zeit zu Zeit ändern. Insbesondere das Gateway ist nicht bekannt.
  • eth0 wird zum Debuggen des SSH-Zugriffs verwendet, beispielsweise über den Verbindungsfreigabedienst meines MacBook Air.

Tatsächlich funktionieren alle diese Schnittstellen. Hier ist die ifconfig-Ausgabe (wlan1 und eth0 sind im selben Netzwerk, aber das wird in Zukunft nicht mehr der Fall sein):

eth0      Link encap:Ethernet  HWaddr b8:27:eb:8c:e2:10  
          inet addr:192.168.0.19  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1174 errors:0 dropped:0 overruns:0 frame:0
          TX packets:141 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:93616 (91.4 KiB)  TX bytes:12342 (12.0 KiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

wlan0     Link encap:Ethernet  HWaddr c0:4a:00:2a:ab:6c  
          inet addr:192.168.43.44  Bcast:192.168.43.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:5 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1142 (1.1 KiB)  TX bytes:1145 (1.1 KiB)

wlan1     Link encap:Ethernet  HWaddr 74:da:38:0c:c6:f0  
          inet addr:192.168.0.14  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1480 errors:0 dropped:0 overruns:0 frame:0
          TX packets:155 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:222449 (217.2 KiB)  TX bytes:29711 (29.0 KiB)

Und hier ist die Ausgabe von sudo route -n:

0.0.0.0         192.168.0.254   0.0.0.0         UG    0      0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 wlan1
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.43.0    0.0.0.0         255.255.255.0   U     0      0        0 wlan0

Wenn ich richtig verstehe, was ich in den letzten 24 Stunden gelesen habe, muss ich Routing-Sachen machen. Aber ich verstehe nicht, was und wie. Musste ich die Standardroute ändern? Wenn ja, wie kann ich das schaffen, da ich das WLAN0- oder WLAN1-Gateway nicht kenne, bevor ich mich mit dem Netzwerk verbinde? Ist das ein unmögliches Problem?

Bearbeiten: /etc/network/interfaces hinzufügen

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp
        post-up route del default dev wlan0

auto wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
        wpa-ssid "wifi1"
        wpa-psk "psw1"

auto wlan1
allow-hotplug wlan1
iface wlan1 inet dhcp
        wpa-ssid "wifi2"
        wpa-psk "pwd2"

Antwort1

Sie können in Ihrer Datei unter /etc/network/interfaces nachsehen, um das Standard-Gateway zu finden. Es ist wahrscheinlich 192.168.0.1, aber ich bin mir nicht sicher. Das Gateway ist einfach die Adresse Ihres Routers.

Geben Sie „cat /etc/network/interfaces“ ein, um die Informationen anzuzeigen. Bearbeiten Sie mit Root-Rechten (sudo), wenn Sie sie ändern möchten.

Versuche dies:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
    # post-up route del default dev wlan0
    address 192.168.0.19
    netmask 255.255.255.0
    gateway 192.168.0.1

auto wlan0
allow-hotplug wlan0
iface wlan0 inet static
    wpa-ssid "wifi1"
    wpa-psk "psw1"
    address 192.168.43.44
    netmask 255.255.255.0
    gateway 192.168.0.1

auto wlan1
allow-hotplug wlan1
iface wlan1 inet static
    wpa-ssid "wifi2"
    wpa-psk "pwd2"
    address 192.168.0.14
    netmask 255.255.255.0
    gateway 192.168.0.1

Sichern Sie Ihre ursprüngliche Datei /etc/network/interfaces und versuchen Sie stattdessen diese. Dadurch wird alles auf statisch (unveränderlich) gesetzt. Sie müssen Ihre Schnittstellen mit ifdown/ifup neu starten oder einfach den Computer neu starten.

Antwort2

Wenn ich gut verstehe, was ich in den letzten 24 Stunden gelesen habe, muss ich Routing-Sachen machen.

Nicht, es sei denn, Sie möchten Ihr System als Router einrichten.

Das Standard-Gateway ist die IP, an die Linux Datenverkehr sendet, wenn das Ziel nicht im Bereich der Subnetzmasken einer Netzwerkschnittstelle liegt. Normalerweise handelt es sich dabei um Datenverkehr, der für das „Internet“ bestimmt ist.

Wenn es für Sie nicht wichtig ist, dass dieses System über einen Internetzugang verfügt, brauchen Sie keinen, aber wahrscheinlich brauchen Sie ihn, damit es Updates usw. erhalten kann.

DHCP vergibt normalerweise sowohl ein Standard-Gateway als auch eine IP-Adresse. Wenn also wlan0eine IP von DHCP bezogen wird, wird wahrscheinlich auch ein Standard-Gateway bezogen. (Oder das sollte so sein. Überprüfen Sie vielleicht Ihren DHCP-Server, wenn er keins vergibt.) Der Internetverkehr wird also über diese Schnittstelle geleitet.

Wenn Sie DHCP nicht verwenden oder kein Standard-Gateway über DHCP vergeben möchten, können Sie es manuell angeben. Es sollte die IP-Adresse eines Routers sein, der zum/vom Internet weiterleiten kann.

Am reibungslosesten läuft es, wenn Sie nur ein Standard-Gateway haben. Stellen Sie daher sicher, dass Ihre anderen Schnittstellen auf statische IPs eingestellt sind und dass nur eine Schnittstelle etwas über DHCP erhält.

Antwort3

Diese Frage habe ich mir nach stundenlangem Testen selbst beantwortet ...

Es ist zu erklärenHier

verwandte Informationen