ad-hoc Netz mit 4 RPi's

  • Hallo

    Ich versuche ein Ad-hoc Meshnetz mittels 4 Raspberry Pi's Model B aufzubauen. Hier sind die Hardware Eigenschaften:

    • 4x Raspberry Pi Model B ( Raspbian Debian Wheezy 3.18)
    • 4x Edimax EW-7811Un USB WiFi Adapter (RTL8188cus)
    • 1x Laptop mit Win 8.1 um auf die RPi's über SSH (PuTTY) zuzugreifen


    ich habe die RPi Netzwerkeinstellungen wie folgend konfiguriert:
    /etc/network/interfaces

    RPi1:

    RPi2:

    RPi3:

    RPi4:

    Laptop:

    Code
    IP: 192.168.1.20
    Subnet: 255.255.255.0
    Mode: Ad-hoc

    Das pingen vom Laptop --> RPi's funktioniert

    das Pingen vom RPi --> Laptop funktioniert auch

    Das Problem ist, dass ich von einem RPi zum anderen nicht direkt pingen kann.


    Hat jemand vielleicht eine Idee wie ich die RPi's mit einander zu kommunizieren bringen könnte? vielen dank im voraus


  • Ich finde es nicht auf die Schelle, aber Du musst noch allen Teilnehmern mitteilen, dass es ad hoc ist. In der interfaces gibt es da eine Methode für.

    Ist das nicht schon mit dem "wireless-mode ad-hoc" in /etc/network/interfaces passiert ???
    z.B.: RPi1:

    Code
    auto wlan0
    allow-hotplug wlan0
    iface wlan0 inet static
      address 192.168.1.21
      netmask 255.255.255.0
      wireless-channel 1
      wireless-essid RPiAdHocNetwork
      wireless-mode ad-hoc

    Einmal editiert, zuletzt von ForumR (14. Mai 2015 um 22:15)


  • ..., dass es ad hoc ist. In der interfaces gibt es da eine Methode für.

    Ja. Das hat er aber schon so eingetragen in der interfaces-Datei:

    Code
    wireless-mode ad-hoc


    Das Problem ist, dass ich von einem RPi zum anderen nicht direkt pingen kann.

    Versuch mal vor dem Pingen zwischen den PIs, auf jedem PI:

    Code
    sudo iwlist wlan0 scan

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

    Einmal editiert, zuletzt von rpi444 (14. Mai 2015 um 22:23)

  • 1. sudo iwlist wlan0 scan

    RPi1

    Code
    pi@rpi1 ~ $ sudo iwlist wlan0 scan
    wlan0     Scan completed :
              Cell 01 - Address: 02:11:87:26:94:FF
                        ESSID:"RPiAdHocNetwork"
                        Protocol:IEEE 802.11bg
                        Mode:Ad-Hoc
                        Frequency:2.412 GHz (Channel 1)
                        Encryption key:off
                        Bit Rates:54 Mb/s
                        Quality=100/100  Signal level=100/100

    RPi2

    Code
    pi@rpi2 ~ $ sudo iwlist wlan0 scan
    wlan0     Scan completed :
              Cell 01 - Address: 02:11:87:26:94:FF
                        ESSID:"RPiAdHocNetwork"
                        Protocol:IEEE 802.11bg
                        Mode:Ad-Hoc
                        Frequency:2.412 GHz (Channel 1)
                        Encryption key:off
                        Bit Rates:54 Mb/s
                        Quality=100/100  Signal level=95/100

    RPi3

    Code
    pi@rpi3 ~ $ sudo iwlist wlan0 scan
    wlan0     Scan completed :
              Cell 01 - Address: 02:11:87:26:94:FF
                        ESSID:"RPiAdHocNetwork"
                        Protocol:IEEE 802.11bg
                        Mode:Ad-Hoc
                        Frequency:2.412 GHz (Channel 1)
                        Encryption key:off
                        Bit Rates:54 Mb/s
                        Quality=100/100  Signal level=100/100

    RPi4

    Code
    pi@rpi4 ~ $ sudo iwlist wlan0 scan
    wlan0     Scan completed :
              Cell 01 - Address: 02:11:87:26:94:FF
                        ESSID:"RPiAdHocNetwork"
                        Protocol:IEEE 802.11bg
                        Mode:Ad-Hoc
                        Frequency:2.412 GHz (Channel 1)
                        Encryption key:off
                        Bit Rates:54 Mb/s
                        Quality=100/100  Signal level=100/100

    2. iwconfig

    RPi1

    RPi2

    RPi3

    RPi4

  • Code
    Cell 01 - Address: 02:11:87:26:94:FF

    Ist "02:11:87:26:94:FF" die richtige MAC-Adresse? Wenn ja, welches Gerät hat diese MAC-Adresse?

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • die Cell ID in iwconfig ist bei allen die gleiche "02:11:87:26:94:FF"
    die Mac Adressen in ifconfig sind bei mir unterschiedlich:
    1. 74: da:38:28:a9:39
    2. 74: da:38:28:a9:75
    3. 74: da:38:28:b0:3a
    4. 74: da:38:28:b0:4b

    sollte die Cell ID auch bei jedem RPi unterschiedlich sein ? kann der Fehler an den USB WiFi Adaptern liegen ?

    Einmal editiert, zuletzt von ForumR (15. Mai 2015 um 21:57)


  • die Cell ID ...

    Wie ist die Cell-ID beim Laptop (im ad-hoc mode)? Wie sind auf dem Laptop und auf den PIs, nach allen möglichen Pings, die Ausgaben von:

    Code
    arp -av
    ip neigh show
    route -n


    ?

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

    Einmal editiert, zuletzt von rpi444 (15. Mai 2015 um 22:16)

  • Zitat

    RPi1

    RPi2

    RPi3

    RPi4

    Laptop

    Einmal editiert, zuletzt von ForumR (15. Mai 2015 um 22:40)

  • Code
    pi@rpi1 / $ arp -a
    ? (192.168.1.20) auf 68:17:29:05:e3:2b [ether] auf wlan0

    Laptop

    Code
    C:\>arp -a
    
    
    Schnittstelle: 192.168.1.20 --- 0x2
      Internetadresse       Physische Adresse     Typ
      192.168.1.21          74-da-38-28-a9-39     dynamisch
      192.168.1.22          74-da-38-28-a9-75     dynamisch
      192.168.1.23          74-da-38-28-b0-3a     dynamisch
      192.168.1.24          74-da-38-28-b0-4b     dynamisch

    Versuch mal in jedem Pi, mit statischen arp cache-Eintragungen für die 3 anderen PIs.

    EDIT:

    Wie ist die Cell-ID beim Laptop (im ad-hoc mode)?

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

    Einmal editiert, zuletzt von rpi444 (15. Mai 2015 um 23:37)

  • Zitat

    Versuch mal in jedem Pi, mit statischen arp cache-Eintragungen für die 3 anderen PIs.

    :thumbs1:
    Endlich ! es hat geklappt und zwar genau wie du es vorgeschlagen hast. ich hab die IP Adressen und die HW Adressen in jedem Pi manuell eingetragen und damit konnte ich zwischen den Pi's direkt pingen. Super und danke vielmals für die Hilfe ! :danke_ATDE:


  • ... ich hab die IP Adressen und die HW Adressen in jedem Pi manuell eingetragen und damit konnte ich ...

    OK, ... aber statt nach jedem reboot diese Eintragungen manuell zu machen, könntest Du die arp-cache-Eintragungen z. B. auch von einem Script (... zum richtigen Zeitpunkt und von der richtigen Stelle aus) nach dem reboot machen lassen.

    EDIT:

    Beispiel für den PI mit der Ip 192.168.0.24:


    (oder gleichwertig mit ip statt mit arp).

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

    Einmal editiert, zuletzt von rpi444 (16. Mai 2015 um 00:17)

  • OK, ... aber statt nach jedem reboot diese Eintragungen manuell zu machen, könntest Du die arp-cache-Eintragungen z. B. auch von einem Script (... zum richtigen Zeitpunkt und von der richtigen Stelle aus) nach dem reboot machen lassen.

    Ich bin leider ein newbie in Rasberry Pi und Linux Welt. ich werde es im web nachschauen wie man am besten so ein skript schreiben könnte.


  • ... wie man am besten so ein skript schreiben könnte.

    Z. B. direkt auf dem PI, mit:

    Code
    cd /etc/network/if-up.d
    sudo nano arp_static
    Code
    sudo chmod 755 arp_static
    cd
    Code
    ls -la /etc/network/if-up.d/arp_static
    cat /etc/network/if-up.d/arp_static


    Nach dem reboot und einem ping/arping:

    Code
    arp -av


    BTW: Wenn Du mit deinen PIs mal wieder Internetzugang hast, dann installiere arping (wenn möglich) und wenn nicht möglich, dann iputils-arping. Wenn der Ping (icmp, network layer) nicht funktioniert, kann man mit arping (arp, data link layer) testen ob Verbindung zwischen den Geräten vorhanden ist.

    Spoiler anzeigen

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

    Einmal editiert, zuletzt von rpi444 (16. Mai 2015 um 08:06)

  • Hallo rpi444 ,

    Nachdem ich erfolgreich zwischen den Pi's kommunizieren kann, habe ich mir jetzt die verschiedenen Routingsprotokolle angeschaut und überlegt wie könnte ich so ein Protokoll auf den Pi installieren um ein adhoc meshnetz aufzubauen.

    Ich habe die folgenden Protokolle gefunden:
    - OLSR
    - B.A.T.M.A.N.
    - Babel

    hat jemand vielleicht einen Tip wie ich so ein Protokoll installieren kann?

    Einmal editiert, zuletzt von ForumR (2. Juni 2015 um 20:50)

  • [font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"]Hallo rpi444 , [/font]

    [font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"]Nachdem ich erfolgreich zwischen den Pi's kommunizieren kann, habe ich mir jetzt die verschiedenen Routingsprotokolle angeschaut und überlegt wie könnte ich so ein Protokoll auf den Pi installieren um ein adhoc meshnetz aufzubauen. [/font]

    [font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"]Ich habe die folgenden Protokolle gefunden:[/font]
    [font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"]- OLSR[/font]
    [font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"]- B.A.T.M.A.N.[/font]
    [font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"]- Babel[/font]

    [font="Source Sans Pro, Tahoma, Helvetica Neue, Arial, sans-serif"]hast du vielleicht einen Tip wie ich so ein Protokoll installieren kann?[/font]


    Z. B. direkt auf dem PI, mit:

    Code
    cd /etc/network/if-up.d
    sudo nano arp_static
    Code
    sudo chmod 755 arp_static
    cd
    Code
    ls -la /etc/network/if-up.d/arp_static
    cat /etc/network/if-up.d/arp_static


    Nach dem reboot und einem ping/arping:

    Code
    arp -av


    BTW: Wenn Du mit deinen PIs mal wieder Internetzugang hast, dann installiere arping (wenn möglich) und wenn nicht möglich, dann iputils-arping. Wenn der Ping (icmp, network layer) nicht funktioniert, kann man mit arping (arp, data link layer) testen ob Verbindung zwischen den Geräten vorhanden ist.

    Spoiler anzeigen

  • Ich habe die folgenden Protokolle gefunden:
    - OLSR
    - B.A.T.M.A.N.
    - Babel

    hat jemand vielleicht einen Tip wie ich so ein Protokoll installieren kann?

    OLSR gibt es für raspbian. Ich kann dir bei der Konfiguration aber nicht helfen, weil ich das nicht benutze:

    Spoiler anzeigen


    sudo apt-get install olsrd

    Spoiler anzeigen


    ~ $ apt-cache show olsrd
    Package: olsrd
    Version: 0.6.2-2.1
    Architecture: armhf
    Maintainer: Roland Stigge <stigge@antcom.de>
    Installed-Size: 478
    Depends: libc6 (>= 2.13-28)
    Recommends: olsrd-plugins
    Homepage: http://olsr.org/
    Priority: extra
    Section: net
    Filename: pool/main/o/olsrd/olsrd_0.6.2-2.1_armhf.deb
    Size: 226662
    SHA256: 8d5d615049b8a27791bf48d6c3b3fa1bd7d46058d635bee189929aa04e7c2d81
    SHA1: 32ed5b12fd7a1785a32e9dac8c6ff411a88b29d5
    MD5sum: 6cdda3e77aed8319a7bdde013fed3178
    Description: optimized link-state routing daemon (unik-olsrd)
    unik-olsrd is an implementation of the Optimized Link State Routing protocol
    for Mobile Ad-Hoc networks(MANET). The protocol is described in RFC3626. It
    is designed to be run as a standalone server process.
    .
    OLSR operates as a table driven, proactive protocol, i.e., it exchanges
    topology information with other nodes of the network regularly. It is
    developed to work independently from other protocols. Likewise, OLSR makes no
    assumptions about the underlying link-layer.

    The most popular websites without IPv6 in Germany.  IPv6-Ausreden

    Meine PIs

    PI4B/8GB (border device) OpenBSD 7.4 (64bit): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server

    PI3B+ FreeBSD 14.0-R-p3 (arm64): SSH-Serv., WireGuard-Serv., ircd-hybrid-Serv., stunnel-Proxy, Mumble-Serv., ddclient

    PI4B/4GB Bullseye-lite (64bit; modifiziert): SSH-Server, WireGuard-Server, ircd-hybrid-Server, stunnel-Proxy, Mumble-Server, botamusique, ample

  • gibt es einen Grund wieso die Pi's einander nicht sehen ? ich habe versucht das BATMAN Protokoll auf den Pi zu installieren ,hat aber leider nicht funktioniert.

    Einmal editiert, zuletzt von ForumR (3. Juni 2015 um 12:36)

Jetzt mitmachen!

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