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.
    • Q
      Qlink @OliverIO last edited by

      @oliverio

      danke für die Rückmeldung. Aufwändige Lösungen möchte ich tunlichst vermeiden.
      Wäre es nicht theoretisch möglich bei der Anlage des bridge networks in docker ein /32 Netz anzulegen.
      Dann würde der Container doch nur eine mögliche IP Adresse zugewiesen bekommen und es hätte quasi den gleichen Effekt wie eine fixe IP Adresse ... oder hab ich hier einen Denkfehler drin ?

      @ilovegym was du beschreibst gilt für die primäre Netzwerkadresse eines Containers. Mir geht es aber um eine zusätzliche zweite IP Adresse ...

      Marc Berg OliverIO 2 Replies 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 ?:

        Aufwändige Lösungen möchte ich tunlichst vermeiden.

        Könntest du nicht auf der Synology das ganze Subnetz (172.18.0.0/24) freigeben, statt der einzelnen Adresse?

        3d2150da-a74b-457f-a1b2-9d64d2445291-image.png

        Das wäre die einfachste (nicht schönste) Lösung.

        1 Reply Last reply Reply Quote 0
        • 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
                                            • First post
                                              Last post

                                            Support us

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

                                            658
                                            Online

                                            32.0k
                                            Users

                                            80.5k
                                            Topics

                                            1.3m
                                            Posts

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