2016-03-23 5 views
0

Ich habe ein Netzwerkproblem, ich hoffe, hier einige Antworten zu bekommen. Also habe ich mehrere Himbeer-Pi, die alle WLAN-Konnektivität und Ethernet haben. Alle PIs sind über WLAN und Ethernet miteinander verbunden. Was ich brauche, ist dies: wenn eine Himbeere ein Problem mit dem WLAN (kein Signal oder SMS) hat, möchte ich das Paket über das Ethernet senden und eine andere Himbeere sollte das Paket auf Ethernet abholen und weiterleiten, dass es owm Wi-Fi-Schnittstelle weiter ist. Könnte mir jemand Hinweise geben, wie dies angegangen werden sollte? Jede Hilfe wäre sehr zu schätzen.Forward Ethernet-Pakete in anderen Netzwerk-und zurück

+0

werden Sie Fortschritte machen? –

+0

@BaroudiSafwene hat gestern geforscht, um ein vollständigeres Bild davon zu haben, jetzt fange ich an, es zu implementieren, werde Ihnen sagen, wie es geht –

Antwort

1

Sie müssen Routing in jedem Pi aktivieren, mit sysctl, dann aktivieren Sie dynamisches Routing auf jedem Pi, sei es OSPF oder RIP spielt in Ihrem Fall keine Rolle, aber Sie müssen bei Ihrer Wahl bleiben mit der andere pis, sonst müssen Sie komplexere Konfiguration vornehmen.
Ich schlage vor, dass Sie versuchen, es selbst einzurichten, indem Sie den Mann lesen, Sie werden ein Gefühl der Zufriedenheit bekommen, wenn Sie es tun, ich bin mir sicher.
edit 1: jedes pi wird ein router sein, mit 2 schnittstellen, 2 ethernet angeschlossene pis sollte natürlich zum selben subnetz gehören.
Edit 2: Wenn eine WLAN-Verbindung unterbrochen ist, wird eine Himbeere das Ethernet verwenden, die nächste Pi muss NAT verwenden, um die Pakete zu übersetzen, damit sie das öffentliche Netzwerk erreichen können.
Beispiel: wlan0 ist extern, eth1 ist intern

iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE 
iptables -A FORWARD -i eth1 -o wlan0 -j ACCEPT 

bearbeiten 3: Einrichten von OSPF
Zuerst installieren quagga auf jedem Router (pi)
edit/etc/quagga/Daemons und ersetzen nicht durch ja in den Linien Zebra und ospf
dann tun dies

cd /etc/quagga 
cp /usr/share/doc/quagga/examples/zebra.conf.sample . 
mv zebra.conf.sample zebra.conf 

das gleiche für ospfd.conf und vtysh.conf
l et kann der Spaß beginnen:
hier ist ein Beispiel, wie man es tun

vtysh 
conf t 
router ospf 
network 10.0.1.0/24 area 1 
network 192.168.1.0/24 area 1 
end 
+0

Dies ermöglicht Masquerading (dynamische Quelle NAT) auf einem Rpi. Es ist auch notwendig, die IPv4-Weiterleitung zu aktivieren oder NAT funktioniert nicht (sudo echo "1">/proc/sys/net/ipv4/ip_forward). Darüber hinaus sollte jeder Rpi (außer dem, der das NAT durchführt) als Standard-Gateway die Adresse des Rpi haben, der das NAT durchführt. –

+0

ich bevorzuge mit sysctl, um Kernel-Parameter zu konfigurieren, und einige Distributionen verbieten das Ändern von Dateien im/proc-Verzeichnis, zum Beispiel, mint. –

+0

@BaroudiSafwene Gibt es eine Lösung, um nicht jeder Himbeere eine statische IP zuzuweisen? Ich möchte Dhcp aktiviert haben, also jedes Mal, wenn ich eine neue Himbeere an das Netzwerk anschließe, erhält die eth Schnittstelle eine IP vom Netz. Könnte das Ausführen eines DHCP-Servers auf jeder Himbeere funktionieren? Könnte es keine Konflikte geben, wenn eine neue Himbeere an das Netzwerk angeschlossen wird? –