RPi in zwei Netzwerken

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo Miteinander!

    Ich bin seit zwei Wochen stolzer Besitzer eines Raspberry PI, Modell B mit 512 MB.

    Erst hatte ich Schwierigkeiten den Internet-Zugang via USB-WLAN-Stick zu meiner Alice-Box zum Laufen zu bringen. Nachdem das funktionierte, habe ich den Apache2 installiert und ein bisschen mit HTML und CGI-Skripten in Ruby experimentiert. Als nächstes habe ich auf der Alice-Box Port Forwarding für Port 80 aktiviert, damit ich auf diese Webseiten auch von außen zugreifen kann. Weiterhin habe ich mir bei noip.com DDNS eingerichtet (das gibt es da kostenlos), damit mein RPi unter einem festen Hostnamen erreichbar ist.

    Das funktioniert alles wunderbar.

    Nun will ich meinen RPi zusätzlich mit meinem MacBook Pro via Ethernet-Kabel verbinden.

    RPi und Mac können zwar schon per WLAN miteinander kommunizieren. Ich will es aber so einrichten, daß der Datenverkehr zwischen Mac und RPi nicht unbedingt über die Alice-Box gehen muß. D.h. ich will ein zweites Netzwerk haben, das über Ethernet läuft. An dieses zweite Netz will ich später dann noch einen PC anschließen, weswegen ich mir noch einen Switch zugelegt habe.

    Insgesamt hätte ich dann diese Struktur:

    BKjnZS6CQAA8AWI.jpg


    RPi und Mac sind nun also über Ethernet-Kabel und Switch verbunden, aber ich kann den Mac nicht anpingen ... :huh:

    Im WLAN hat der RPi 192.168.1.2 als IP-Adresse, die er über DHCP von der Alice-Box zugewiesen bekommt:

    So sieht meine /etc/network/interfaces derzeit aus:

    Die statische IP-Adresse 192.168.1.100 brauche ich (glaube ich), damit ich den RPi auf zwei Wegen erreichen kann: Als 192.168.1.2 über WLAN und als 192.168.1.100 über Ethernet.

    Wie muß ich das einrichten, damit es funktioniert? Brauche ich da vielleicht noch eine Netzadresse?

  • Hi,

    du hast keine IP-Adresse für eth0.
    Also ich für meinen Teil habe beide Interfaces per DHCP konfiguriert. Das funktioniert einwandfrei ...



    Allerdings glaube ich mich zu erinnern, dass ich in letzter Zeit öfter mal was von Problemen gelesen habe, wenn jemand versucht hat fixe Adressen zu vergeben.

    Versuchs einfach mal ...



    cu und viel Erfolg,
    -ds-

  • dreamshader

    Ich hatte dem eth0 schon eine IP-Adresse zugewiesen. Sie war nur eben falsch ...

    Wie es scheint, läuft mein Szenario jetzt:

    Ich kann mich — bei ausgeschaltetem WLAN(!) — vom Mac auf dem RPi mit ssh einloggen und von dieser Shell aus dann den Mac pingen. Das heißt die Ethernet-Verbindung funktioniert. Ebenso kann ich mich immer noch über WLAN vom Mac auf dem RPi einloggen und den Mac pingen.

    Ob ich über WLAN oder Ethernet gehe, unterscheide ich mittels der IP-Adresse. Über WLAN errreiche ich den RPi mit 192.168.1.2 (die bekommt er über DHCP von der Alice-Box), über Ethernet erreiche ich ihn mit 192.168.2.100.

    Hier das Bild mit den IP-Adressen:

    BKkXHIOCIAAllGV.jpg

    Meine /etc/network/interfaces auf dem RPi:

    Auf dem Mac habe ich unter Netzwerke bei Ethernet diese Einstellungen:

    IPv4 konfigurieren: manuell
    IP-Adresse: 192.168.2.101
    255.255.255.0

    Soweit ich das verstehe, sind das nun zwei Netzwerke.

    Das WLAN-Netzwerk ist 192.168.1.0, d.h. alle Hosts haben dort als IP-Adressen 192.168.1.x.

    Das Ethernet-Netzwerk ist 192.168.1.0, d.h. die Hosts haben IP-Adressen 192.168.2.x.

    Was so natürlich nicht geht, ist, daß Rechner, die nur im Ethernet-Netzwerk sind, das Internet verwenden können. In der deutschsprachigen RPi-Facebook-Gruppe hat man mir geraten den RPi als Bridge aufzusetzen. Ich sehe das aber als separaten Schritt an. Meine Frage sehe ich daher als beantwortet an.

  • Hi,

    na prima ...
    Aber einen hab ich noch - nachdem ich Deine Skizze betrachtet habe.
    Ohne routings auf dem/den PC(s) über den MAC bzw. den Pi (und bei denen mit entsprechendem Forwarding) kommst Du nicht mehr auf Deinen ALICE-Router. Es sei denn, der/die PC(s) hängen auch über WLAN dran. Dann aber erscheint mir Dein Konstrukt zwar funktionsfähig und verwirrend - lässt aber irgendwie den Sinn vermissen.
    Das zweite Netz brauchst Du nämlich gar nicht und Du machst Dir dadurch nur das Leben schwer ...

    Oder hab' ich da was übersehen?

    cu,
    -ds-


  • ...Was so natürlich nicht geht, ist, daß Rechner, die nur im Ethernet-Netzwerk sind, das Internet verwenden können. In der deutschsprachigen RPi-Facebook-Gruppe hat man mir geraten den RPi als Bridge aufzusetzen. Ich sehe das aber als separaten Schritt an. Meine Frage sehe ich daher als beantwortet an...

    Wenn Du die Pi mit einer Bridge aufsetzt musst Du das auch auf dem Mac machen :rolleyes: Ich wurde es so lassen mit dem zweiten Netzwerk.

    Der Punkt ist, dass Du dem PC (der ja aus dem zweiten Netz ins Internet kommen will) nur ein Default Gateway definieren musst was auf die Pi oder den Mac zeigt. Da diese als Router arbeiten wird dann von denen der Request korrekt an Deinen Internetrouter weitergeroutet werden.

    BTW: Deine graphische Darstellung Deines Netzes hilft sehr schnell Deine Umgebung zu verstehen ! Ich wuenschte das wuerden alle machen, die Netzwerkprobleme haben.


  • Hi,

    na prima ...
    Aber einen hab ich noch - nachdem ich Deine Skizze betrachtet habe.
    Ohne routings auf dem/den PC(s) über den MAC bzw. den Pi (und bei denen mit entsprechendem Forwarding) kommst Du nicht mehr auf Deinen ALICE-Router. Es sei denn, der/die PC(s) hängen auch über WLAN dran. Dann aber erscheint mir Dein Konstrukt zwar funktionsfähig und verwirrend - lässt aber irgendwie den Sinn vermissen.
    Das zweite Netz brauchst Du nämlich gar nicht und Du machst Dir dadurch nur das Leben schwer ...

    Oder hab' ich da was übersehen?

    cu,
    -ds-


    Stimmt natürich, daß ich mit dem PC so nicht auf den Alice-Router komme. Das ist aber nicht tragisch. Wenn ich mit dem PC ins WLAN kommen will, kann ich meinen USB-WLAN-Stick vom Raspberry in den PC umstöpseln. Genau das habe ich vor wenigen Minuten gemacht, um mir dort Cygwin auf Windows 8 zu installieren — quasi die erste Amtshandlung nachdem ich den heute erst gekauften PC in Betrieb genommen habe.

    Nun könnte ich mir noch einen zweiten WLAN-Stick kaufen, damit ich den Raspberry nicht vom Internet abklemmen muß, wenn ich mit dem PC mal online gehen will. Nur will ich den PC ja gar nicht als Desktop verwenden. Für Internet-Zugang habe ich den Mac und ich bin auch sehr zufrieden damit.

    Den PC hatte ich mir gekauft, weil ich einen Linux-PC brauche. Hintergrund ist, daß ich plane mir dieses Evaluation-Board mit uCLinux zu kaufen, um damit zu experimentieren. Als Hostsystem (d.h. zum Compilieren usw.) wird da nur ein Linux-PC unterstützt und Boot-Images kann man auch nur über Ethernet aufspielen — deswegen brauche ich Ethernet.

    Da hat sich mir dann natürlich die Frage gestellt, wie ich diesen PC in meine bestehende Umgebung integrieren kann. Eine Lösung, bei der ich nur vom PC auf dieses Board komme, macht irgendwie keinen Sinn.

    Mit der jetzigen Struktur wird das Board ein ganz normaler "gleichberechtigter" Teilnehmer in meinem Ethernet-Netzwerk sein. Ich könnte damit irgendeine Anwendung schreiben, bei der der RPi der Server und dieses Board der Client ist. Wenn es eine Möglichkeit gibt die Temperatur dieses Boards abzufragen, könnte bspw. der Client diese Temperatur regelmäßig dem Server auf dem RPi mitteilen und der RPi könnte diese Information auf einer Webseite veröffentlichen :D

    Einmal editiert, zuletzt von ah114088 (18. Mai 2013 um 23:02)

  • Mit der jetzigen Struktur wird das Board ein ganz normaler "gleichberechtigter" Teilnehmer in meinem Ethernet-Netzwerk sein. Ich könnte damit irgendeine Anwendung schreiben, bei der der RPi der Server und dieses Board der Client ist. Wenn es eine Möglichkeit gibt die Temperatur dieses Boards abzufragen, könnte bspw. der Client diese Temperatur regelmäßig dem Server auf dem RPi mitteilen und der RPi könnte diese Information auf einer Webseite veröffentlichen :D

    Hi ah114088,

    na, ich bin der Überzeugung dass Du das schon machen wirst, auch wenn ich nach wie vor glaube, dass Du da etwas unnötig verkomplizierst.
    Aber ich kann auch nicht in Deinen Kopf reingucken und will Dich auch zu nix überreden, denn irgendwas hast Du Dir dabei sicherlich gedacht.
    Und solange es so funktioniert, wie Du es Dir vorstellst ist eh alles im grünen Bereich.

    Viel Vergnügen noch mit Deinen weiteren Experimenten,
    -ds-


  • Wieso? Wenn das Defaultgateway Deines PCs auf die Pi zeigt und das Defaultgateway der Pi auf den Router zeigt kommst Du ohne Probleme vom PC ins Internet.

    Glaube ich nicht.

    Allerdings hat sich das Thema sowieso gerade erledigt. Habe festgestellt, daß mein PC doch einen eingebauten WLAN-Adapter hat. Der Verkäufer meinte, es wäre kein WLAN-Adapter drin. Ich brauche also gar nicht über den RPi gehen.

  • Jetzt bin ich baff. Ich habe doch keinen WLAN-Adapter im PC. Die Internetverbindung funktioniert aber trotzdem. Der MacBook fungiert als Bridge. Beweis: Wenn ich WLAN auf dem Mac ausschalte, hat der PC plötzlich kein Internet mehr.

    Man kann auf den Macs in der Systemsteuerung unter "Freigaben" auch "Internetfreigabe" anwählen und "Airport" (d.h. WLAN) für Computer über "Ethernet" freigeben. Das hatte ich vor ein Tagen mal eingeschaltet (ohne es eigentlich zu testen) und es dann erst mal vergessen ...

    Zum Browsen ist die Verbindung über den Mac allemal zu gebrauchen. Für Downloads aber eher nicht. Ist halt doch recht langsam.


  • Den PC hatte ich mir gekauft, weil ich einen Linux-PC brauche. Hintergrund ist, daß ich plane mir dieses Evaluation-Board mit uCLinux zu kaufen, um damit zu experimentieren.


    Das Board ist mittlerweile da und natürlich auch im Netz. Es ist noch einen Tick kleiner als der RPi. Basis für den Mikrokontroller ist eine Cortex-M3 CPU von ARM mit nur 120 MHz. Die restlichen Angaben zu Speicherausbau usw. hier. Der vielleicht wichtigste Unterschied zum RPi ist, daß das System keinen virtuellen Speicher (NO-MMU) hat. Deswegen kann auch nur μClinux darauf laufen.

    Hier das erste größere Projekt, das ich mir vorgenommen habe.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!