Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. IoBroker unter Docker auf der Synology DiskStation?

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    IoBroker unter Docker auf der Synology DiskStation?

    This topic has been deleted. Only users with topic management privileges can see it.
    • Stuebi
      Stuebi last edited by

      @rrr:

      Hallo tstueben,

      vielen Dank für deinen sehr hilfreichen Beitrag! Danke, es hat mir geholfen die Einrichtung gut durchzuführen.

      Du hast in deinem Beitrag geschrieben:
      @tstueben:

      Ich habe mir ein kleines sh Skript erstellt, welches bei jedem Start der NAS über den Synology Aufgabenplaner ausgeführt wird. `

      Kannst du mir kurz erklären, wie ein solches Skript anlegen kann, bzw. welcher Code da rein muss?

      @tstueben:

      Somit ist der Docker ioBroker Container nun auch von der NAS aus ansprechbar. Aus dem Docker Container ist die NAS über die zusätzliche IP Adresse 192.168.20.80 zu erreichen. `
      Darüber hinaus gelingt es mir nicht, den MySQL Server auf der DiskStation zu erreichen. Ich konnte zwar den entsprechenden Netzwerkadapter anlegen und die DS taucht in meiner FritzBox mit einer zweiten IP auf - aber über das Termin im ioBroker konnte ich die DS nicht anpingen.

      Wenn ich im Terminal-Adapter````
      arp -a

      
      Kann das was mit der aktuellen Version des DiskStation Manager zu tun haben? Ich habe da was gelesen. Leider erst nachdem ich das aktuelle Update eingespielt habe.
      
      Kannst du da einen Tipp geben?
      
      Danke für die Rückmeldung.
      
      Gruß, rrr `  
      

      Hallo 3R,

      ich habe immer die neuste DSM Version installiert. Momentan die Version "DSM 6.2-23739 Update 2". Auch die Docker Version ist auf dem neusten Stand.

      Ich habe mir folgendes Skript erstellt und rufe das im Systemsteuerung -> Aufgabenplaner alle 5 Minuten als Benutzer root auf:

      #!/bin/sh
      
      if ip link | grep "mac1@eth0" > /dev/null; then
      
       echo "Device mac1 existiert"
      
      else
      
       echo "Device mac1 anlegen"
       ip link del mac1
       ip link add mac1 link eth0 type macvlan mode bridge
       ip addr add 192.168.20.80/32 dev mac1
       ip link set mac1 up
       ip route add 192.168.20.80/28 dev mac1
      
      fi
      
      

      Die IP-Adresse 192.168.20.80 musst Du durch Deine aus der dem MACVLAN ersetzen. Bei mir ist es die der NAS.

      Also die NAS ist aus dem Docker Container mit MACVLAN Adresse nicht mehr über die "Standard" IP-Adresse der NAS zu erreichen. Du musst daher den SQL Server und alle anderen Dienste auf der NAS über die MACVLAN Adresse aus dem Docker Container aufrufen.

      Bsp. Dein Docker Conntainer hat die IP-Adresse 192.168.20.81 (macvlan), Die NAS 192.168.20.2 und 192.168.20.80 (macvlan IP-Adresse der NAS). Dann musst Du die Adresse 192.168.20.80 statt 192.168.20.2 für den Aufruf der NAS aus dem Docker Container angeben. Das gilt auch bei einem Ping.

      Ich hoffe ich konnte helfen, sonst jederzeit melden

      VG

      Stübi

      1 Reply Last reply Reply Quote 1
      • R
        rrr last edited by

        Hi Stübi,

        danke für deine Antwort.

        Hab ich mir dann auch gleich eingerichtet, das Skript. Danke! Funzt leider noch nicht ganz.

        Zum Überblick:

        xxx.xxx.xxx.1 ist mein Router

        xxx.xxx.xxx.21 ist meine DS

        xxx.xxx.xxx.161 ist der ioBroker (ab 160 ist im Router im DHCP auch ausgeschlossen)

        xxx.xxx.xxx.160 ist die zweite IP der DS

        Den von dir geposteten Code für die mac0-Netzwerkschnittstelle habe ich, wie folgt angepasst, verwendet:

        docker network create -d macvlan --subnet=xxx.xxx.xxx.0/24 --gateway=xxx.xxx.xxx.1 --ip-range=xxx.xxx.xxx.160/28  --aux-address 'host=xxx.xxx.xxx.160' -o parent=ovs_bond0 mac0
        

        (Ich nutze zwei der vier Ethernet-Ports in einem Bond. OVS wegen Virtual Machine Manager.)

        Hab also in deinem Skript die 160 verwendet. Geht leider nicht.

        Die zusätzliche Netzwerkschnittstelle habe ich eingerichtet und wird im DSM unter Docker angezeigt.

        ping xxx.xxx.xxx.160
        92 bytes from iobroker (xxx.xxx.xxx.161): Destination Host Unreachable
        

        Bekomme ich leider immer als Ergebnis.

        Eine Idee?

        1 Reply Last reply Reply Quote 0
        • Stuebi
          Stuebi last edited by

          hmm, kannst du Deine Fritzbox mit xxx.xxx.xxx.1 aus dem Docker Container anpingen und kannst Du z.B. von einem PC (nicht NAS) den Docker Container mit ping xxx.xxx.xxx.161 (kann statt 161 auch 162 bis 175 sein) erreichen?

          Ist die Subnetmask Deines Bonds ovs_bond0 auf der NAS 24 (255.255.255.0)?

          Und in Deinem Überblick sind xxx.xxx.xxx immer gleich, d.h. z.B. immer 192.168.1. ?

          1 Reply Last reply Reply Quote 0
          • R
            rrr last edited by

            @tstueben:

            hmm, kannst du Deine Fritzbox mit xxx.xxx.xxx.1 aus dem Docker Container anpingen `
            Ja, das klappt, wie es soll.

            @tstueben:

            kannst Du z.B. von einem PC (nicht NAS) den Docker Container mit ping xxx.xxx.xxx.161 (kann statt 161 auch 162 bis 175 sein) erreichen? `
            Ja, ping xxx.xxx.xxx.161 funktioniert auch.

            @tstueben:

            Ist die Subnetmask Deines Bonds ovs_bond0 auf der NAS 24 (255.255.255.0)? `
            Ja, die Subnetzmaske ist 255.255.255.0 - eben noch mal auf der DS überprüft.

            @tstueben:

            Und in Deinem Überblick sind xxx.xxx.xxx immer gleich, d.h. z.B. immer 192.168.1. ? `
            Ja, richtig.

            Nachtrag, 22:13 Uhr:

            Wenn ich in ioBroker im Terminal den Befehl````
            arp -a

            ? (xxx.xxx.xxx.21) auf <unvollständig> auf eth1
            ? (xxx.xxx.xxx.32) auf 78:0f:77:17:fd:4b [ether] auf eth1
            ? (xxx.xxx.xxx.1) auf 24:65:11:5a:d6:33 [ether] auf eth1
            ? (xxx.xxx.xxx.100) auf a0:04:60:15:08:2d [ether] auf eth1
            ? (xxx.xxx.xxx.110) auf 0c:47:c9:04:92:15 [ether] auf eth1
            ? (xxx.xxx.xxx.160) auf <unvollständig> auf eth1
            ? (xxx.xxx.xxx.22) auf d4:9a:20:d8:ba:b2 [ether] auf eth1
            ? (xxx.xxx.xxx.30) auf 00:c0:ee:96:b3:be [ether] auf eth1
            ? (xxx.xxx.xxx.103) auf 98:9e:63:3d:0e:98 [ether] auf eth1
            ? (xxx.xxx.xxx.107) auf 28:6a:ba:ae:87:7b [ether] auf eth1</unvollständig></unvollständig>

            Hilft das weiter? Die 160 taucht zwar auch, wie auch die 21 - beide lassen sich aber nicht anpingen (unreachable).
            
            Seltsam ist, dass die 21 und 160 auch als IPv6 "unvollständig" dargestellt werden. Hm…
            1 Reply Last reply Reply Quote 0
            • Stuebi
              Stuebi last edited by

              und Du hast folgendes auf der NAS im Terminalfenster mit dem Netzwerkadapter ovs_bond0 statt eth0 aufgerufen?

              # Virtuelles Netzwerk Device mac1 anlegen
              ip link add mac1 link ovs_bond0 type macvlan mode bridge
              ip addr add xxx.xxx.xxx.160/32 dev mac1
              ip link set mac1 up
              ip route add xxx.xxx.xxx.160/28 dev mac1
              
              

              Ich hätte gedacht wenn Du mit dem Netzwerk ovs_bond0 arbeitest, wird beim Befehl arp -a nicht eth1 sondern ovs_bond0 angezeigt. Ich kann das leider nicht nachstellen, da ich mit einem Netzwerkadater kein Bond aufbauen kann.

              Kannst du einmal den Befehl ifconfig mac1 auf der NAS aufrufen. Du müsstest denn so etwas sehen:

              mac1      Link encap:Ethernet  HWaddr 06:53:85:57:4D:E5  
                        inet addr:192.168.20.80  Bcast:0.0.0.0  Mask:255.255.255.255
                        inet6 addr: aaaa::bbb:ccff:fddd:4de5/64 Scope:Link
                        UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
                        RX packets:8119539 errors:0 dropped:0 overruns:0 frame:0
                        TX packets:4786899 errors:0 dropped:0 overruns:0 carrier:0
                        collisions:0 txqueuelen:0 
                        RX bytes:1314284250 (1.2 GiB)  TX bytes:1112319842 (1.0 GiB)
              
              

              und dann nochmals den Befehl netstat -rn auf der NAS ausführen. Was siehst Du da für das Device mac1?

              Kernel IP routing table
              Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
              192.168.20.80   0.0.0.0         255.255.255.240 U         0 0          0 mac1
              
              
              1 Reply Last reply Reply Quote 0
              • R
                rrr last edited by

                Danke, dass du dir die Zeit nimmst, mir zu helfen!

                @tstueben:

                und Du hast folgendes auf der NAS im Terminalfenster mit dem Netzwerkadapter ovs_bond0 statt eth0 aufgerufen?

                # Virtuelles Netzwerk Device mac1 anlegen
                ip link add mac1 link ovs_bond0 type macvlan mode bridge
                ip addr add xxx.xxx.xxx.160/32 dev mac1
                ip link set mac1 up
                ip route add xxx.xxx.xxx.160/28 dev mac1
                
                

                Ich hätte gedacht wenn Du mit dem Netzwerk ovs_bond0 arbeitest, wird beim Befehl arp -a nicht eth1 sondern ovs_bond0 angezeigt. Ich kann das leider nicht nachstellen, da ich mit einem Netzwerkadater kein Bond aufbauen kann. `
                Naja, nicht auf dem NAS im Terminal. Habe SSH temporär aktiviert, mich per SSH mit dem NAS verbunden und es im Terminal von meinem Rechner aus gemacht.

                @tstueben:

                Kannst du einmal den Befehl ifconfig mac1 auf der NAS aufrufen. `

                ifconfig mac1
                mac1      Link encap:Ethernet  HWaddr EA:AA:8F:E6:0A:17  
                          inet addr:192.168.20.80  Bcast:0.0.0.0  Mask:255.255.255.255
                          inet6 addr: 2002:5477:60a4:0:e8aa:8fff:fee6:a17/64 Scope:Global
                          inet6 addr: fe80::e8aa:8fff:fee6:a17/64 Scope:Link
                          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
                          RX packets:407650 errors:0 dropped:0 overruns:0 frame:0
                          TX packets:304434 errors:0 dropped:0 overruns:0 carrier:0
                          collisions:0 txqueuelen:0 
                          RX bytes:301739518 (287.7 MiB)  TX bytes:51057880 (48.6 MiB)
                

                Ich sehe, da passt die IP nicht. Das müsste ja meine IP xxx.xxx.xxx.160 sein - die zweite IP meiner NAS, richtig?

                Hab ich wahrscheinlich beim ersten eingeben nicht sauber editiert. Weißt du, wie ich das ändern kann? Oder alles neu setzen kann?

                @tstueben:

                und dann nochmals den Befehl netstat -rn auf der NAS ausführen. Was siehst Du da für das Device mac1? `

                netstat -rn
                Kernel IP routing table
                Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
                0.0.0.0         xxx.xxx.xxx.1   0.0.0.0         UG        0 0          0 ovs_bond0
                172.17.0.0      0.0.0.0         255.255.0.0     U         0 0          0 docker0
                192.168.20.80   0.0.0.0         255.255.255.240 U         0 0          0 mac1
                192.168.20.160  0.0.0.0         255.255.255.240 U         0 0          0 mac1
                xxx.xxx.xxx.0   0.0.0.0         255.255.255.0   U         0 0          0 ovs_bond0
                xxx.xxx.xxx.160 0.0.0.0         255.255.255.240 U         0 0          0 mac1
                
                

                Ich glaub auch hier müsste ich das irgendwie "geradeziehen" - hast du eine Idee, wie ich das sauber editieren kann?

                Da hab ich wohl zu viel rumprobiert. 😞

                1 Reply Last reply Reply Quote 0
                • Stuebi
                  Stuebi last edited by

                  Hallo,

                  das sieht ja etwas wild aus 🙂 Probiere es mal mit:

                   ip link del mac1
                  
                  

                  wenn Du dann ifconfig mac1 und ip link show mac1 aufrufst, solltest Du einen Fehler bekommen, da das Device gelöscht wurde. Mit netstat -rn sollte es auch nicht mehr zu sehen sein.

                  Anschließend einmal folgendes ausführen:

                  # Virtuelles Netzwerk Device mac1 anlegen
                  ip link add mac1 link ovs_bond0 type macvlan mode bridge
                  ip addr add xxx.xxx.xxx.160/32 dev mac1
                  ip link set mac1 up
                  ip route add xxx.xxx.xxx.160/28 dev mac1
                  
                  

                  ich hoffe danach geht es und Du bekommst den Ping durch?

                  1 Reply Last reply Reply Quote 0
                  • R
                    rrr last edited by

                    Klasse - also der Ping geht durch. Danke!

                    Allerdings ist mein ursprüngliches Problem noch nicht ganz gelöst.

                    SQL funzt nun, aber nicht der Adapter Backitup.

                    Da bekomme ich immer folgende Fehlermeldung:

                    [DEBUG] --- Mount Backup-Path on CIFS ---
                    
                    [ERROR] mount: //xxx.xxx.xxx.160/iobroker/backup/ is write-protected, mounting read-only
                    
                    [ERROR] mount: cannot mount //xxx.xxx.xxx.160/iobroker/backup/ read-only
                    
                    [ERROR] mount: //xxx.xxx.xxx.160/iobroker/backup/ is write-protected, mounting read-only
                            mount: cannot mount //xxx.xxx.xxx.160/iobroker/backup/ read-only
                    

                    Du hast mir schon so weit geholfen… Irgendeine Idee?

                    Von meinem Rechner kann ich xxx.xxx.xxx.160 anpingen, mich aber auch nicht zur Freigabe verbinden. Muss ich da seitens der DS noch irgendwas einstellen? Oder Ports frei geben?

                    1 Reply Last reply Reply Quote 0
                    • Stuebi
                      Stuebi last edited by

                      @rrr:

                      Klasse - also der Ping geht durch. Danke!

                      Allerdings ist mein ursprüngliches Problem noch nicht ganz gelöst.

                      SQL funzt nun, aber nicht der Adapter Backitup.

                      Da bekomme ich immer folgende Fehlermeldung:

                      [DEBUG] --- Mount Backup-Path on CIFS ---
                      
                      [ERROR] mount: //xxx.xxx.xxx.160/iobroker/backup/ is write-protected, mounting read-only
                      
                      [ERROR] mount: cannot mount //xxx.xxx.xxx.160/iobroker/backup/ read-only
                      
                      [ERROR] mount: //xxx.xxx.xxx.160/iobroker/backup/ is write-protected, mounting read-only
                              mount: cannot mount //xxx.xxx.xxx.160/iobroker/backup/ read-only
                      

                      Du hast mir schon so weit geholfen… Irgendeine Idee?

                      Von meinem Rechner kann ich xxx.xxx.xxx.160 anpingen, mich aber auch nicht zur Freigabe verbinden. Muss ich da seitens der DS noch irgendwas einstellen? Oder Ports frei geben? `

                      Für mich hört sich das nach einem Berechtigungsproblem an. Du kannst testweise einmal versuchen das freigegebene Verzeichnis /iobroker/backup/ Jedermann (all) Lese und Schreibrechte zu geben.

                      Ich selber nutze den Adapter backupit nicht. Ich führe das Backup täglich mit Synology Hypber Backup durch. Wenn Du in dem ioBroker Docker Container unter Volume das /opt/iobroker/ mit einem Verzeichnis auf der NAS gemounted hast (das solltest Du umbedingt so machen), dann musst Du nur mit Hyper Backup dieses Verzeichnis sichern und Du hast Deine Datensicherung.

                      Wenn ich mal einen größeren Umbau oder Test mit ioBroker durchführe, melde ich mit ssh auf der NAS an und erstelle ein tar File von dem iobroker Verzeichnis. Falls etwas schief läuft, geht die Rücksicherung dann schneller als mit Hyper Backup.

                      Hier das Skript zum Erstellen des tar Files

                      #!/bin/bash
                      
                      datum=$(date +%Y%m%d)
                      filename="iobroker-${datum}.tgz"
                      backupdir="/volume1/backup"
                      iobrokerdir="/volume1/docker/iobroker"
                      
                      cd ${iobrokerdir}
                      tar cvfz ${backupdir}/${filename} ./opt ./etc
                      
                      
                      1 Reply Last reply Reply Quote 0
                      • R
                        rrr last edited by

                        Hey, danke dir.

                        Das mit den manuellen Backups hatte ich auch schon versucht. Da gibts ja eine direkte Funktion für, was ein tar erstellt.

                        sudo iobroker backup
                        

                        erstellt unter /opt/iobroker/backups ein Backup in der Form 2018_08_03-19_17_36_backupiobroker.tar.gz.

                        Das mit dem Hyper Backup ist eine gute Idee. Finde ich auch besser.

                        8326_bildschirmfoto_2018-08-12_um_22.58.51.jpg
                        So ist es bei mir in DSM eingestellt. Aber irgendwie bleibt der Ordner leer. Ich müsste doch den Inhalt sehen, oder?

                        Nachtrag:

                        Mittlerweile hat sich der Ordner gefüllt…

                        1 Reply Last reply Reply Quote 0
                        • Stuebi
                          Stuebi last edited by

                          @rrr:

                          Hey, danke dir.

                          Das mit den manuellen Backups hatte ich auch schon versucht. Da gibts ja eine direkte Funktion für, was ein tar erstellt.

                          sudo iobroker backup
                          

                          erstellt unter /opt/iobroker/backups ein Backup in der Form 2018_08_03-19_17_36_backupiobroker.tar.gz.

                          Das mit dem Hyper Backup ist eine gute Idee. Finde ich auch besser.

                          Bildschirmfoto 2018-08-12 um 22.58.51.JPG

                          So ist es bei mir in DSM eingestellt. Aber irgendwie bleibt der Ordner leer. Ich müsste doch den Inhalt sehen, oder?

                          Nachtrag:

                          Mittlerweile hat sich der Ordner gefüllt… `

                          Hallo,

                          Das Verzeichnis iobroker/backup auf der NAS sollte nicht leer sein. Melde Dich mal im Docker Container an (z.B. über den Punkt Terminal im ioBroker Docker Container) und schaue Dir einmal das Verz. /opt/iobroker an. Ist das gefüllt? Dann führe einmal den Befehl mount im Docker Container an. Ist das Verzeichnis /opt/iobroker mit iobroker/backup gemounted ?

                          1 Reply Last reply Reply Quote 0
                          • C
                            cyberdott last edited by

                            Habe es nun auch entsprechend umgesetzt, da die Home-APP den Homekit-Controller nicht finden wollte. Dabei bin ich auf folgende Probleme gestoßen:

                            1. Die Einrichtung des Adapters habe ich wie folgt vorgenommen:

                            docker network create -d macvlan –subnet=192.168.50.0/24 --gateway=192.168.50.1 --ip-range=192.168.50.101/28 --aux-address 'host=192.168.50.101' -o parent=ovs_eth1 mac0

                            Das hat auch wunderbar funktioniert. Mein IOBrocker-Docker bekommt die IP 192.168.50.96 und ist auch von außen ansprechbar. Leider bekomme ich keine Verbindung zum NAS und meinem MQQT-Broker. Daher habe ich diese Befehle auf dem NAS eingegeben:

                            ip link add mac1 link ovs_eth1 type macvlan mode bridge

                            ip addr add 192.168.50.101/32 dev mac1

                            ip link set mac1 up

                            ip route add 192.168.50.101/32 dev mac1

                            Die IP kann ich von außen anpingen, intern aus dem Docker leider nicht 😞 Die IP´s sind auch frei und nicht in Benutzung.

                            2. Mein internes DNS-problem konnte ich selber lösen

                            Homekit funktioniert nun dank dieser Anleitung. Nur das Problem mit der internen Verbindung zum NAS schmälert aktuell das Resultat.

                            Hier die Routen:

                            Kernel IP routing table

                            Destination Gateway Genmask Flags Metric Ref Use Iface

                            default fritz.box 0.0.0.0 UG 0 0 0 ovs_eth1

                            172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0

                            192.168.50.0 0.0.0.0 255.255.255.0 U 0 0 0 ovs_eth1

                            192.168.50.101 0.0.0.0 255.255.255.255 UH 0 0 0 mac1

                            1 Reply Last reply Reply Quote 0
                            • Stuebi
                              Stuebi last edited by

                              @cyberdott:

                              Habe es nun auch entsprechend umgesetzt, da die Home-APP den Homekit-Controller nicht finden wollte. Dabei bin ich auf folgende Probleme gestoßen:

                              1. Die Einrichtung des Adapters habe ich wie folgt vorgenommen:

                              docker network create -d macvlan –subnet=192.168.50.0/24 --gateway=192.168.50.1 --ip-range=192.168.50.101/28 --aux-address 'host=192.168.50.101' -o parent=ovs_eth1 mac0

                              Das hat auch wunderbar funktioniert. Mein IOBrocker-Docker bekommt die IP 192.168.50.96 und ist auch von außen ansprechbar. Leider bekomme ich keine Verbindung zum NAS und meinem MQQT-Broker. Daher habe ich diese Befehle auf dem NAS eingegeben:

                              ip link add mac1 link ovs_eth1 type macvlan mode bridge

                              ip addr add 192.168.50.101/32 dev mac1

                              ip link set mac1 up

                              ip route add 192.168.50.101/32 dev mac1

                              Die IP kann ich von außen anpingen, intern aus dem Docker leider nicht 😞 Die IP´s sind auch frei und nicht in Benutzung.

                              2. Mein internes DNS-problem konnte ich selber lösen

                              Homekit funktioniert nun dank dieser Anleitung. Nur das Problem mit der internen Verbindung zum NAS schmälert aktuell das Resultat. `

                              da ist ein kleiner Tippfehler (28 statt 32) bei den ip link Befehlen auf der NAS. Probiere mal folgendes:

                               ip link del mac1
                               ip link add mac1 link ovs_eth1 type macvlan mode bridge
                               ip addr add 192.168.50.101/32 dev mac1
                               ip link set mac1 up
                               ip route add 1192.168.50.101/28 dev mac1
                              
                              

                              Funktioniert es jetzt?

                              Nachtrag: Wichtig, die Adresse 192.168.50.101 war vorher nicht vergeben, d.h. das ist nicht die NAS Adresse am Device ovs_eth1

                              1 Reply Last reply Reply Quote 0
                              • C
                                cyberdott last edited by

                                Das hat leider nicht funktioniert…

                                ash-4.3# ip route add 192.168.50.101/28 dev mac1

                                RTNETLINK answers: Invalid argument

                                Die Adresse ist vorher nicht vergeben worden, nun aber natürlich in Benutzung.

                                1 Reply Last reply Reply Quote 0
                                • Stuebi
                                  Stuebi last edited by

                                  @cyberdott:

                                  Das hat leider nicht funktioniert…

                                  ash-4.3# ip route add 192.168.50.101/28 dev mac1

                                  RTNETLINK answers: Invalid argument

                                  Die Adresse ist vorher nicht vergeben worden, nun aber natürlich in Benutzung. `

                                  Also bei bei Mask Bit 28 stehen Dir bei 192.168.50.101/28 folgende IP Adressen zur Verfügung 192.168.50.96 - 192.168.50.111. D.h Dein Docker Container im MAC0 Netzt sollten eine IP Adresse von 192.168.50.97 bis 192.168.50.111 haben (http://www.subnet-calculator.com). Diese IP Adressen dürfen durch Deine NAS (DHCP) nicht vergeben werden!

                                  Fahre einmal alle Docker Container runter die das MAC0 Netz nutzen. Nun folgendes Skript auf der NAS ausführen. Den Befehl ip link del mac1 nicht vergessen! Damit alles alte gelöscht wird!

                                  ip link del mac1
                                  ip link add mac1 link ovs_eth1 type macvlan mode bridge
                                  ip addr add 192.168.50.96/32 dev mac1
                                  ip link set mac1 up
                                  ip route add 1192.168.50.101/28 dev mac1
                                  
                                  

                                  Nun fahre Deine Docker Container wieder hoch und versuche aus dem Docker Container die IP-Adresse 192.168.50.96 zu erreichen. Es kann sein, dass Du das MAC0 Netz nochmals anlegen musst um die aux-address auf 192.168.50.96 zu legen. Dann Docker Container aus dem MAC0 Netz runterfahren. Dann änderst Du in den Container das Netzwerkdevice ohne hochzufahren. Anschliessend löscht Du das MAC0 in Docker und legst es neu an und weißt das neue MAC0 Netz den Docker Containern wieder zu.

                                  docker network create -d macvlan --subnet=192.168.50.0/24 --gateway=192.168.50.1 --ip-range=192.168.50.101/28 --aux-address 'host=192.168.50.96' -o parent=ovs_eth1 mac0
                                  
                                  

                                  Ich habe bei mir das 192.168.50.80/28 gewählt, da es übersichtlicher ist. Da gehen die IP-Adressen von 192.168.50.80 - 192.168.50.95. Und da ist keine Adresse kleiner 192.168.50.80, sondern immer größer als 192.168.50.80

                                  1 Reply Last reply Reply Quote 0
                                  • C
                                    cyberdott last edited by

                                    Leider immer noch der selbe Fehler…

                                    ash-4.3# ip route add 192.168.50.97/28 dev mac1

                                    RTNETLINK answers: Invalid argument

                                    Ich habe als erstes den Container heruntergefahren und das Netzwerk MAC0 gelöscht. Danach habe ich den Befehl

                                    docker network create -d macvlan --subnet=192.168.50.0/24 --gateway=192.168.50.1 --ip-range=192.168.50.101/28 --aux-address 'host=192.168.50.96' -o parent=ovs_eth1 mac0

                                    eingegeben und den Container wieder zugeordnet und dann gestartet. Dieser hat nun die Adresse 192.168.50.97

                                    1: lo: <loopback,up,lower_up>mtu 65536 qdisc noqueue state UNKNOWN group default

                                    inet 127.0.0.1/8 scope host lo

                                    valid_lft forever preferred_lft forever

                                    50: eth0@if9: <broadcast,multicast,up,lower_up>mtu 9000 qdisc noqueue state UNKNOWN group default

                                    inet 192.168.50.97/24 scope global eth0

                                    valid_lft forever preferred_lft forever

                                    Nun hab ich wieder folgende Befehle auf dem NAS eingeben bei eingeschaltetem Container

                                    ip link del mac1

                                    ip link add mac1 link ovs_eth1 type macvlan mode bridge

                                    ip addr add 192.168.50.96/32 dev mac1

                                    ip link set mac1 up

                                    ip route add 192.168.50.97/28 dev mac1

                                    Beim letzten Befehl kommt der besagte Fehler

                                    Die IP-Adressen sind nicht vergeben und werden auch nicht vergeben.</broadcast,multicast,up,lower_up></loopback,up,lower_up>

                                    1 Reply Last reply Reply Quote 0
                                    • Stuebi
                                      Stuebi last edited by

                                      Der letzte Befehl muss auch

                                      ip route add 1192.168.50.101/28 dev mac1
                                      
                                      

                                      sein und nicht,

                                      ip route add 1192.168.50.97/28 dev mac1
                                      
                                      

                                      Ich würde aber vorher das mac1 wider löschen und dann folgendes eingeben:

                                      ip link del mac1
                                      ip link add mac1 link ovs_eth1 type macvlan mode bridge
                                      ip addr add 192.168.50.96/32 dev mac1
                                      ip link set mac1 up
                                      ip route add 1192.168.50.101/28 dev mac1
                                      
                                      

                                      funktioniert das?

                                      1 Reply Last reply Reply Quote 0
                                      • C
                                        cyberdott last edited by

                                        Geht auch nicht…

                                        ash-4.3# ip route add 192.168.50.101/28 dev mac1

                                        RTNETLINK answers: Invalid argument

                                        1 Reply Last reply Reply Quote 0
                                        • Stuebi
                                          Stuebi last edited by

                                          okay, ich habe es jetzt einmal auf meiner NAS mit Deinem Subnetz nachgestellt. Ich habe alles mit 192.168.50.101 im mac0 u. mac1 ersetzt. Dann ging es bei mir!

                                          docker network create -d macvlan --subnet=192.168.50.0/24 --gateway=192.168.50.1 --ip-range=192.168.50.96/28 --aux-address 'host=192.168.50.96' -o parent=ovs_eth1 mac0
                                          
                                          

                                          und

                                          ip link del mac1
                                          ip link add mac1 link ovs_eth1 type macvlan mode bridge
                                          ip addr add 192.168.50.96/32 dev mac1
                                          ip link set mac1 up
                                          ip route add 1192.168.50.96/28 dev mac1
                                          
                                          

                                          Also wenn das jetzt nicht funktioniert, dann weiss ich nicht weiter!

                                          Damit hat die NAS die zusätzliche IP Adresse 192.168.50.96. Die Docker Container haben eine Adresse zwischen 192.168.20.97 und 192.168.20.111. Also aus dem Docker Container einmal die 192.168.50.96 mit ping erreichen.

                                          1 Reply Last reply Reply Quote 0
                                          • P
                                            passuff last edited by

                                            Hallo zusammen,

                                            zunächst mal vielen Dank für die super Anleitung.

                                            Leider bekomme ich das Ganze nicht so richtig zum Laufen. Ich kann zwar meinen Nas und auch die CCU vom Docker anpingen, erreiche die Geräte aber nicht über die Adapter (backitup/hm.rpc*/ etc).

                                            Folgende Befehel/Einstellungen habe ich gewählt:

                                            docker network create -d macvlan 
                                            --subnet=192.168.178.0/24 
                                            --gateway=192.168.178.1 
                                            --ip-range=192.168.178.160/28 
                                            --aux-address 'host=192.168.178.160' 
                                            -o parent=eth0 mac0
                                            
                                            
                                            ip link add mac1 link eth0 type macvlan mode bridge
                                            ip addr add 192.168.178.160/32 dev mac1 
                                            ip link set mac1 up 
                                            ip route add 192.168.20.160/28 dev mac1
                                            
                                            
                                            ash-4.3# ifconfig
                                            docker0   Link encap:Ethernet  HWaddr 02:42:18:E7:9B:D1
                                                      inet addr:172.17.0.1  Bcast:0.0.0.0  Mask:255.255.0.0
                                                      UP BROADCAST MULTICAST  MTU:1500  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)
                                            
                                            eth0      Link encap:Ethernet  HWaddr 00:A0:98:34:9C:CD
                                                      inet addr:192.168.178.50  Bcast:192.168.178.255  Mask:255.255.255.0
                                                      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
                                                      RX packets:402279 errors:0 dropped:0 overruns:0 frame:0
                                                      TX packets:173421 errors:0 dropped:0 overruns:0 carrier:0
                                                      collisions:0 txqueuelen:1000
                                                      RX bytes:470992424 (449.1 MiB)  TX bytes:58771807 (56.0 MiB)
                                                      Interrupt:141 base 0x8000
                                            
                                            lo        Link encap:Local Loopback
                                                      inet addr:127.0.0.1  Mask:255.0.0.0
                                                      inet6 addr: ::1/128 Scope:Host
                                                      UP LOOPBACK RUNNING  MTU:65536  Metric:1
                                                      RX packets:98974 errors:0 dropped:0 overruns:0 frame:0
                                                      TX packets:98974 errors:0 dropped:0 overruns:0 carrier:0
                                                      collisions:0 txqueuelen:0
                                                      RX bytes:13326192 (12.7 MiB)  TX bytes:13326192 (12.7 MiB)
                                            
                                            mac1      Link encap:Ethernet  HWaddr D6:52:15:D6:1D:7A
                                                      inet addr:192.168.178.160  Bcast:0.0.0.0  Mask:255.255.255.255
                                                      inet6 addr: fe80::d452:15ff:fed6:1d7a/64 Scope:Link
                                                      inet6 addr: 2a02:908:1980:b680:d452:15ff:fed6:1d7a/64 Scope:Global
                                                      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
                                                      RX packets:8471 errors:0 dropped:0 overruns:0 frame:0
                                                      TX packets:256 errors:0 dropped:0 overruns:0 carrier:0
                                                      collisions:0 txqueuelen:0
                                                      RX bytes:1954362 (1.8 MiB)  TX bytes:46542 (45.4 KiB)
                                            
                                            tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
                                                      inet addr:10.8.0.1  P-t-P:10.8.0.2  Mask:255.255.255.255
                                                      UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  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:100
                                                      RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
                                            
                                            
                                            root@iobroker:/opt/iobroker# ip a                                               
                                            1: lo: <loopback,up,lower_up>mtu 65536 qdisc noqueue state UNKNOWN group defaul
                                            t                                                                               
                                                link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00                       
                                                inet 127.0.0.1/8 scope host lo                                              
                                                   valid_lft forever preferred_lft forever                                  
                                            2: sit0: <noarp>mtu 1480 qdisc noop state DOWN group default                   
                                                link/sit 0.0.0.0 brd 0.0.0.0                                                
                                            15: eth0@if3: <broadcast,multicast,up,lower_up>mtu 1500 qdisc noqueue state UNK
                                            NOWN group default                                                              
                                                link/ether 02:42:c0:a8:b2:a1 brd ff:ff:ff:ff:ff:ff                          
                                                inet 192.168.178.161/24 scope global eth0                                   
                                                   valid_lft forever preferred_lft forever</broadcast,multicast,up,lower_up></noarp></loopback,up,lower_up> 
                                            

                                            Habe weder bond noch vlan aktiv..

                                            Jemand eine Idee weshalb es nicht funktioniert? muss ich im Docker noch eine Portfreigabe einrichten?

                                            edit… Hatte micht verschrieben. Funktioniert jetzt alles:

                                            ip link add mac1 link eth0 type macvlan mode bridge

                                            ip addr add 192.168.178.160/32 dev mac1

                                            ip link set mac1 up

                                            ip route add 192.168.20.160/28 dev mac1

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            849
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            23
                                            112
                                            23438
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo