Zugriff auf unterschiedliche Subnetz-IPs über zwei verschiedene Schnittstellen

Zugriff auf unterschiedliche Subnetz-IPs über zwei verschiedene Schnittstellen

Ich versuche, meinen Raspberry Pi so zu konfigurieren, dass ich auf Geräte zugreifen kann, die entweder über eth0 oder wlan1 verbunden sind.

Die gewünschte Funktion ist diese:

  • Der Benutzer stellt über WLAN1 eine Verbindung zum RPi-AP her und erhält eine IP (192.168.4.x).
  • Separates Gerät, das über eth0 eine Verbindung zu RPi herstellt und eine IP erhält (192.168.5.x)
  • Der Benutzer kann über die lokale IP-Adresse auf die Konfigurationsoberfläche des mit eth0 verbundenen Geräts zugreifen.

Ich habe dnsmasq verwendet, um die DHCP-Server auf jeder Schnittstelle einzurichten, und sie stellen ganz problemlos IPs bereit.

# dnsmasq.conf
interface=wlan1
dhcp-range=wlan1,192.168.4.2,192.168.4.99,24h

interface=eth0
dhcp-range=eth0,192.168.5.1,192.168.5.99,24h

listen-address=::1,127.0.0.1,192.168.5.1,192.168.4.1

Ich habe auch meine iptables aktualisiert, um den Datenverkehr zwischen den Schnittstellen weiterzuleiten.

sysctl -w net.ipv4.ip_forward=1
iptables -A FORWARD -i wlan1 -o eth0 -j ACCEPT
iptables -A FORWARD -i eth0 -o wlan1 -j ACCEPT

Ich bin jedoch immer noch etwas ratlos, wenn es darum geht, tatsächlich auf die verschiedenen IPs zuzugreifen. Ich glaube, ich muss einige Routen einrichten, aber ich habe Schwierigkeiten herauszufinden, wie ich das genau implementieren soll.

Pingen einer 192.168.4.x- und 192.168.5.x-IP über eine WLAN0-Verbindung: Bildbeschreibung hier eingeben

Und von einer ...4.x und ...5.x von eth0-Verbindung: Bildbeschreibung hier eingeben

iptables- und netstat-Ausgaben:

pi@rak-gateway:~ $ sudo iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
pi@rak-gateway:~ $ netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG        0 0          0 wlan0
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 wlan0
192.168.4.0     0.0.0.0         255.255.255.0   U         0 0          0 wlan1
192.168.5.0     0.0.0.0         255.255.255.0   U         0 0          0 eth0

Antwort1

Ich bin jedoch immer noch etwas ratlos, wenn es darum geht, tatsächlich auf die verschiedenen IPs zuzugreifen. Ich glaube, ich muss einige Routen einrichten, aber ich habe Schwierigkeiten herauszufinden, wie ich das genau implementieren soll.

Was Sie beim Routing beachten sollten, ist, dassjeder Computer auf der Routemuss wissen, wohin ein bestimmtes Paket gesendet werden soll.

Wenn sich also A als 192.168.4.x mit dem RaspPi verbindet und B als 192.168.5.y, dann

  • Ein Muss ist, dass Pakete an 192.168.5.*/24 an die Adresse 192.168.4.? des RaspPi gehen.
  • B muss, wenn er antwortet, wissen, dass Pakete an 192.168.4.*/24 an die Adresse 192.168.5.? des RaspPi gehen.

Sie erhalten dies kostenlos, wenn A und B nur mit dem RaspPi verbunden sind und die RasPi-IP-Adresse als Standard-Gateway festgelegt haben. Wenn dies nicht der Fall ist, beispielsweise weil A und B auch mit etwas anderem verbunden sind oder weil Sie nicht konfiguriert haben, dnsmasqdas Standard-Gateway bekannt zu geben, müssen Sie Routen festlegenauf A bzw. B.

Sie können dies entweder statisch direkt auf A oder B tun oder DHCP verwenden, um die Routen zu verteilen (erster Google-Link für eine AnleitungHier, googeln Sie für mehr).

In jedem Fall sollte das Debuggen Folgendes umfassen:Routen ansehensowohl auf A als auch auf B (unter Linux können Sie verwenden ip route get 1.2.3.4, wobei 1.2.3.4 die Zieladresse ist).

Antwort2

Danke für dein Update.

Als Erstes würde ich vorschlagen, dass Sie Ihren eth0DHCP-Bereich so festlegen, dass er bei beginnt. 192.168.5.2Aktuell scheint er bei zu beginnen 192.168.5.1.

Als Nächstes wird die Routing-Tabelle eines über verbundenen Geräts eth0und die Routing-Tabelle eines über verbundenen Geräts gepostet wlan1.

Stellen Sie sicher, dass beide Geräte DHCP erfolgreich ausgeführt haben und über Adressen in den erwarteten Subnetzen verfügen, bevor Sie ihre Routing-Tabellen abrufen.

verwandte Informationen