Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. iobroker + docker + MACVLAN - fixe IP für bridge möglich ?

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    iobroker + docker + MACVLAN - fixe IP für bridge möglich ?

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

      @qlink

      wie gesagt das ist kein problem der adressierung im netzwerk, sondern
      wie macvlan vom linux kernel umgesetzt wurde.
      daher sehen sich die beiden nicht

      von innen nach aussen hilft das bridge network.
      von aussen nach innen nur das virtuelle interface
      innen=container
      aussen=host

      ich vergaß zu erwähnen, das bei jedem neustart des hosts, das interface neu gesetzt werden muss

      ich habe unter dem folgenden pfad das folgende skript laufen
      /etc/network/if-up.d/dockermacvlan

      #!/bin/sh
      
      if [ "$IFACE" = "enp3s0" ]; then
          ip link add macvlan0 link enp3s0 type macvlan mode bridge
          ip addr add 192.168.1.80/28 dev macvlan0
          ip link set macvlan0 up
      fi
      
      

      192.168.1.80/28 ist der adressbereich des macvlans

      so schwer ist es dann nicht

      Marc Berg 1 Reply Last reply Reply Quote 0
      • Marc Berg
        Marc Berg Most Active @OliverIO last edited by Marc Berg

        @oliverio sagte in iobroker + docker + MACVLAN - fixe IP für bridge möglich ?:

        wie gesagt das ist kein problem der adressierung im netzwerk, sondern
        wie macvlan vom linux kernel umgesetzt wurde.
        daher sehen sich die beiden nicht

        Das Problem, das @Qlink hat ist, dass er vom ioB-Container auf den Host (NUT-Server) zugreifen will. Das funktioniert auch prächtig, allerdings darf sich die IP-Adresse im Bridge-Netzwerk nicht ändern, weil sonst die Freischaltung in der Synology nicht mehr greift.

        https://forum.iobroker.net/topic/71784/nut-error-seit-synology-restart-access-denied

        1 Reply Last reply Reply Quote 0
        • Marc Berg
          Marc Berg Most Active @Qlink last edited by

          @qlink sagte in iobroker + docker + MACVLAN - fixe IP für bridge möglich ?:

          Ist es möglich meinem iobroker Container für dieses bridge Netzwerk ebenfalls eine fixe IP Adresse einzustellen ?
          Ich kann dazu nämlich keine Einstellung in portainer oder sonst wo finden..

          Ich habe das mal durchgespielt. Über die normale Portainer-Oberfläche geht's nicht, da gibt es ja nur ein Feld für die IP-Adresse pro Container, hast du ja auch schon gesehen.

          Was funktioniert ist die Definition in Stacks bzw. Docker compose. Dort kannst du für jedes zugewiesene Netzwerk eine IP-Adresse festlegen:

          version: "3"
          services:
          ##### HANDBRAKE #####
            handbrake: 
              container_name: handbrake
              image: jlesage/handbrake
              hostname: handbrake
              restart: unless-stopped
              networks:
              #Bridge
                test:
                  ipv4_address: 192.168.3.55
              #MACVLAN
                mvl1:
                  ipv4_address: 192.168.1.35
              ports:
                - "5800:5800"
          

          bf18e68b-47f2-4674-bd9f-8b67c88ac9ac-grafik.png

          Q 1 Reply Last reply Reply Quote 0
          • Q
            Qlink @Marc Berg last edited by

            @marc-berg

            das ist interessant und möchte ich gerne versuchen.
            Ich habe allerdings bisher noch nicht damit gearbeitet und meine aktuellen Container alle "manuell" in Portainer erstellt.

            Wie kann ich hier meine produktiven Container auf Stacks/Compose umstellen, ohne dass ich danach irgendwelche Baustellen etc. habe ?

            Marc Berg 1 Reply Last reply Reply Quote 0
            • Marc Berg
              Marc Berg Most Active @Qlink last edited by Marc Berg

              @qlink sagte in iobroker + docker + MACVLAN - fixe IP für bridge möglich ?:

              Ich habe allerdings bisher noch nicht damit gearbeitet und meine aktuellen Container alle "manuell" in Portainer erstellt.

              Ich würde voschlagen, du fängst erstmal vorsichtig an und testest, ob das in deiner Umgebung auch funktioniert (nicht, dass die Synology da zwischen funkt). Hier mal ein kleines Template mit einem NGINX. Einfach einen neuen Stack anlegen und das reinkopieren. Ggf. die MACVLAN IP-Adresse anpassen, wenn die nicht im Subnetz liegen sollte.

              version: "3"
              services:
              ##### NGINX #####
                nginx: 
                  container_name: nginx_two_networks
                  image: nginx
                  hostname: nginx
                  restart: unless-stopped
                  networks:
                    # Bridge
                    iob_private:
                      ipv4_address: 172.18.0.100
                    # MACVLAN
                    LAN_public:
                      ipv4_address: 192.168.30.100
                  volumes:
                    - /opt/docker/nginx/templates:/etc/nginx/templates
              ##### NETWORKS #####
              networks:
                iob_private:
                  external: true
                LAN_public:
                  external: true
              

              Dann kannst du mal prüfen ob der Container via Bridge zum/vom Host kommunizieren darf und gleichzeitig via MACVLAN auf Port 80 erreichbar ist.

              Achtung! Ein Portmapping funktioniert in diesem Fall (MACVLAN+Bridge an einem Container) nicht. Ist aber für deinen Anwendungsfall nicht notwendig, da der Iob per MACVLAN erreichbar ist und die Kommunikation zum Host (NUT-Server) ohne Portmapping läuft.

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

                Ich versuche meinen iobroker docker auf eine Synology von host auf macvlan umzustellen aber irgendwie funktioniert das nicht. Ich macvlan für pihole eingerichtet und das funktioniert einwandfrei. Nun habe ich für den iobroker folgende Einstellungen gemacht.
                Bildschirmfoto 2024-01-17 um 10.46.04.png

                Aber wenn ich den Container starte, kommt er nur bis Schritt 3 und startet dann irgendwann wieder neu.
                Bildschirmfoto 2024-01-17 um 10.28.07.png

                Das log unter iobroker_data ist zu diesem Zeitpunkt noch leer. Hat noch jemand einen Tipp wo ich gucken kann?

                D Marc Berg OliverIO 3 Replies Last reply Reply Quote 0
                • D
                  drapo @stephan1827 last edited by

                  @stephan1827 ich bin das alles in den letzten wochen auch durchgegangen. ebenfalls von bridge auf macvlan umgestellt. als erstes würde ich dir empfehlen mittels portainer alles aufzusetzen. zudem die frage wie sieht denn dein netz aus? hast Du den IP Bereich in diesem Hauptnetz welches du dem macvlan vergibst ausgeklammert dass es keine überschneidungen im adressbereich des macvlan und deinem hauptnetz gibt?

                  stephan1827 1 Reply Last reply Reply Quote 0
                  • Marc Berg
                    Marc Berg Most Active @stephan1827 last edited by

                    @stephan1827

                    Setze mal die Umgebungvariable des Containers "debug" auf "true". Da kann man in der Regel mehr sehen, wo es klemmt. Nutzt du ggf. Redis, wenn ja, wo läuft dies?

                    stephan1827 1 Reply Last reply Reply Quote 0
                    • OliverIO
                      OliverIO @stephan1827 last edited by

                      @stephan1827 sagte in iobroker + docker + MACVLAN - fixe IP für bridge möglich ?:

                      macvlan für pihole eingerichtet

                      das hat für mich gar nicht richtig funktioniert.
                      kannst du mir da bitte dein docker-compose als direktnachricht senden?

                      stephan1827 1 Reply Last reply Reply Quote 0
                      • stephan1827
                        stephan1827 @OliverIO last edited by stephan1827

                        @oliverio pihole habe per Aufgabe über die Synology erstellt. Dafür habe ich dieses Script verwenden

                        docker run -d --name=pihole \
                        -p 53/tcp \
                        -p 53/udp \
                        -p 67/udp \
                        -p 80/tcp \
                        -e WEB_PORT=80 \
                        -e WEBPASSWORD=password \
                        -e FTLCONF_LOCAL_IPV4=192.168.86.40 \
                        -e TZ=Europe/Bucharest \
                        -e DNSMASQ_USER=root  \
                        -e DNSMASQ_LISTENING=local \
                        -v /volume1/docker/pihole/dnsmasq.d:/etc/dnsmasq.d \
                        -v /volume1/docker/pihole/pihole:/etc/pihole \
                        --net=mcvlan \
                        --cap-add CAP_NET_ADMIN \
                        --restart always \
                        pihole/pihole
                        

                        87b8cea8-1199-400b-b42f-67c6ba146932-image.png

                        Damit die Synology selber auch auf die Adressen zugreifen kann habe ich noch ein Script das nach dem hoch starten eine bridge erstellt. Das Script sieht so aus.

                        #!/bin/bash
                        while ! /usr/local/bin/docker info >/dev/null 2>&1;
                        do
                        	sleep 5s
                        done
                        
                        ip link add mvl-brg link ovs_eth0 type macvlan mode bridge
                        ip addr add 192.168.86.32/32 dev mvl-brg
                        ip link set mvl-brg up
                        
                        1 Reply Last reply Reply Quote 1
                        • stephan1827
                          stephan1827 @drapo last edited by stephan1827

                          @drapo ich benutze portainer, IP Adresse ist frei und sollte auch noch in der macvlan range sein. So sieht meine macvlan Konfiguration aus.

                          4d753b76-53e9-4b15-b585-0b72f49f76d8-image.png

                          D 1 Reply Last reply Reply Quote 0
                          • stephan1827
                            stephan1827 @Marc Berg last edited by

                            @marc-berg anscheinend kann der container sich nicht mehr mit der Datenbank verbinden, das verstehe ich nicht denn die Datenbank ist die interne von iobroker

                            
                            --------------------------------------------------------------------------------
                            
                            -------------------------     2024-01-19 18:54:37      -------------------------
                            
                            --------------------------------------------------------------------------------
                            
                            -----                                                                      -----
                            
                            ----- ██╗  ██████╗  ██████╗  ██████╗   ██████╗  ██╗  ██╗ ███████╗ ██████╗  -----
                            
                            ----- ██║ ██╔═══██╗ ██╔══██╗ ██╔══██╗ ██╔═══██╗ ██║ ██╔╝ ██╔════╝ ██╔══██╗ -----
                            
                            ----- ██║ ██║   ██║ ██████╔╝ ██████╔╝ ██║   ██║ █████╔╝  █████╗   ██████╔╝ -----
                            
                            ----- ██║ ██║   ██║ ██╔══██╗ ██╔══██╗ ██║   ██║ ██╔═██╗  ██╔══╝   ██╔══██╗ -----
                            
                            ----- ██║ ╚██████╔╝ ██████╔╝ ██║  ██║ ╚██████╔╝ ██║  ██╗ ███████╗ ██║  ██║ -----
                            
                            ----- ╚═╝  ╚═════╝  ╚═════╝  ╚═╝  ╚═╝  ╚═════╝  ╚═╝  ╚═╝ ╚══════╝ ╚═╝  ╚═╝ -----
                            
                            -----                                                                      -----
                            
                            -----              Welcome to your ioBroker Docker container!              -----
                            
                            -----                    Startupscript is now running!                     -----
                            
                            -----                          Please be patient!                          -----
                            
                            --------------------------------------------------------------------------------
                            
                             
                            
                            --------------------------------------------------------------------------------
                            
                            -----                          System Information                          -----
                            
                            -----                    arch:                x86_64                       -----
                            
                            -----                    hostname:            iobroker                     -----
                            
                            -----                                                                      -----
                            
                            -----                          Version Information                         -----
                            
                            -----                    image:               v9.1.0                       -----
                            
                            -----                    build:               2024-01-19T13:46:03+00:00    -----
                            
                            -----                    node:                v18.19.0                     -----
                            
                            -----                    npm:                 9.2.0                        -----
                            
                            -----                                                                      -----
                            
                            -----                        Environment Variables                         -----
                            
                            -----                    DEBUG:               true                         -----
                            
                            -----                    SETGID:              1000                         -----
                            
                            -----                    SETUID:              1000                         -----
                            
                            --------------------------------------------------------------------------------
                            
                             
                            
                            !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                            
                            !!!!                            DEBUG LOG ACTIVE                            !!!!
                            
                            !!!!               Environment variable DEBUG is set to true.               !!!!
                            
                            !!!! This will extend the logging output and may slow down container start. !!!!
                            
                            !!!!          Please make sure to deactivate if no longer needed.           !!!!
                            
                            !!!!     For more information see ioBroker Docker image documentation:      !!!!
                            
                            !!!!           https://docs.buanet.de/iobroker-docker-image/docs/           !!!!
                            
                            !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                            
                             
                            
                            --------------------------------------------------------------------------------
                            
                            -----                   Step 1 of 5: Preparing Container                   -----
                            
                            --------------------------------------------------------------------------------
                            
                             
                            
                             
                            
                             
                            
                            --------------------------------------------------------------------------------
                            
                            -----             Step 2 of 5: Detecting ioBroker Installation             -----
                            
                            --------------------------------------------------------------------------------
                            
                             
                            
                            Existing installation of ioBroker detected in "/opt/iobroker".
                            
                             
                            
                            --------------------------------------------------------------------------------
                            
                            -----             Step 3 of 5: Checking ioBroker Installation              -----
                            
                            --------------------------------------------------------------------------------
                            
                             
                            
                            (Re)setting permissions (This might take a while! Please be patient!)... Done.
                            
                             
                            
                            [DEBUG] Checking multihost settings... 
                            
                            [DEBUG] No multihost settings detected.
                            
                            [DEBUG] Done.
                            
                             
                            
                            [DEBUG] Checking custom objects db settings... 
                            
                            [DEBUG] No custom objects db settings detected.
                            
                            [DEBUG] Done.
                            
                             
                            
                            [DEBUG] Checking custom states db settings... 
                            
                            [DEBUG] No custom states db settings detected.
                            
                            [DEBUG] Done.
                            
                             
                            
                            Checking database connection... Failed.
                            
                            [DEBUG] Error message: 
                            
                            [DEBUG] No connection to databases possible ...
                            
                            Please check your configuration and try again.
                            
                            For more information see ioBroker Docker image docs (https://docs.buanet.de/iobroker-docker-image/docs).
                            
                             
                            
                            [DEBUG] Debug mode prevents the container from exiting on errors.
                            
                            [DEBUG] This enables you to investigate or fix your issue on the command line.
                            
                            [DEBUG] If you want to stop or restart your container you have to do it manually.
                            
                            [DEBUG] IoBroker is not running!
                            
                            Glasfaser 2 Replies Last reply Reply Quote 0
                            • Glasfaser
                              Glasfaser @stephan1827 last edited by

                              @stephan1827 sagte in iobroker + docker + MACVLAN - fixe IP für bridge möglich ?:

                              Existing installation of ioBroker detected

                              ich tippe mal ...
                              es funktioniert mit einem neuen ioBroker Container , ohne den alten Ordner zu mappen !

                              stephan1827 1 Reply Last reply Reply Quote 0
                              • stephan1827
                                stephan1827 @Glasfaser last edited by

                                @glasfaser sagte in iobroker + docker + MACVLAN - fixe IP für bridge möglich ?:

                                @stephan1827 sagte in iobroker + docker + MACVLAN - fixe IP für bridge möglich ?:

                                Existing installation of ioBroker detected

                                ich tippe mal ...
                                es funktioniert mit einem neuen ioBroker Container , ohne den alten Ordner zu mappen !

                                Das mag sein, aber das hilft mir leider nicht weiter. Ich möchte gerne den bestehenden Container behalten.

                                Glasfaser 1 Reply Last reply Reply Quote 0
                                • Glasfaser
                                  Glasfaser @stephan1827 last edited by

                                  @stephan1827 sagte in iobroker + docker + MACVLAN - fixe IP für bridge möglich ?:

                                  Das mag sein,

                                  selber mal getestet ... ob es auch so bei dir ist !?

                                  Glasfaser 1 Reply Last reply Reply Quote 0
                                  • D
                                    drapo @stephan1827 last edited by drapo

                                    @stephan1827 also nur um es zu verstehen. Dein iobroker läuft nicht auf der redis DB sondern mit der standard DB von iobroker korrekt?

                                    hast du dem iobroker auch mal das interne bridge netzwerk hinzugefügt damit er intern mit den anderen containern kommunizieren kann?

                                    ausserdem würde ich dir vorschlagen den alten container nochmal laufen zu lassen und deine daten auf einem laufwerk auf dem nas zu mappen. dann kannst du den container immer updaten ohne deine daten zu verlieren. siehe bild

                                    beb9e3e5-f01e-43df-a09f-d9fd367b7ce1-grafik.png

                                    stephan1827 1 Reply Last reply Reply Quote 0
                                    • Marc Berg
                                      Marc Berg Most Active last edited by

                                      @stephan1827 sagte in iobroker + docker + MACVLAN - fixe IP für bridge möglich ?:

                                      anscheinend kann der container sich nicht mehr mit der Datenbank verbinden, das verstehe ich nicht denn die Datenbank ist die interne von iobroker

                                      Ich kenne diesen Fehler nur daher, dass die lokalen Ports 9000/9001 nicht erreichbar sind, denn darauf hört die lokale Datenbank. Das passiert gern mal, wenn auf Host umgestellt wird, der Host aber die Ports schon anderweitig belegt. Das kann ja aber bei dir nicht der Fall sein. Trotzdem tippe ich auf irgendwelchen Netzwerktrouble. Ist der Container über die MACVLAN Schnittstelle erreichbar? Was sagt netstat?

                                      1 Reply Last reply Reply Quote 0
                                      • stephan1827
                                        stephan1827 @drapo last edited by

                                        @drapo sagte in iobroker + docker + MACVLAN - fixe IP für bridge möglich ?:

                                        @stephan1827 also nur um es zu verstehen. Dein iobroker läuft nicht auf der redis DB sondern mit der standard DB von iobroker korrekt?

                                        Das stimmt

                                        hast du dem iobroker auch mal das interne bridge netzwerk hinzugefügt damit er intern mit den anderen containern kommunizieren kann?

                                        Eine bridge habe ich

                                        ausserdem würde ich dir vorschlagen den alten container nochmal laufen zu lassen und deine daten auf einem laufwerk auf dem nas zu mappen. dann kannst du den container immer updaten ohne deine daten zu verlieren. siehe bild

                                        Das ist bei mir schon so

                                        Glasfaser 1 Reply Last reply Reply Quote 0
                                        • Glasfaser
                                          Glasfaser @Glasfaser last edited by

                                          @stephan1827

                                          Bitte jede Frage beantworten ! , auf spekulationen kommen wir hier nicht weiter

                                          Was ist hiermit :

                                          @glasfaser sagte in iobroker + docker + MACVLAN - fixe IP für bridge möglich ?:

                                          @stephan1827 sagte in iobroker + docker + MACVLAN - fixe IP für bridge möglich ?:

                                          Das mag sein,

                                          selber mal getestet ... ob es auch so bei dir ist !?

                                          1 Reply Last reply Reply Quote 0
                                          • Glasfaser
                                            Glasfaser @stephan1827 last edited by

                                            @stephan1827

                                            Zeige mal die Ausgabe von :

                                            docker ps
                                            
                                            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

                                            867
                                            Online

                                            32.0k
                                            Users

                                            80.4k
                                            Topics

                                            1.3m
                                            Posts

                                            7
                                            36
                                            2335
                                            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