Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Einsteigerfragen
    4. Installation
    5. Docker iobroker und Wireguard

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Docker iobroker und Wireguard

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

      @wusa

      Du kannst für einen Container verschiedene Netzwerk Modes zu ordnen.
      Die wichtigsten, sind der Host Mode, der Bridge Mode und der macvlan Mode

      Bei Host wird das Netzwerk des Containers zu 100% auf den Host gemappt. Also alle notwendigen Ports sind dann auf dem Host auch belegt. Dadurch funktioniert dann auch evtl. notwendiges broadcast. Ein ummachen ist nicht möglich.

      Bei Bridge werden nur die angegebenen Ports auf den Host gemappt. Dort kann man dann auch die Nummern ummappen. Broadcast Funktionen gehen hier nicht.

      Bei macvlan kann man dem Container eine ip aus dem lan zuordnen. Hier hat man am wenigsten Probleme mit Mapping Konflikte und broadcast funktioniert ebenfalls, ist aber etwas aufwändiger zum konfigurieren, da ein eigenes macvlan Network angelegt werden muss und die ipadressen nicht durch den Router dhcp vergeben werden dürfen.

      Der Vorteil von docker, neben der Applications kapselung ist auch die netzwerkkapselung (nicht im Host Mode). D.h. Du kannst sehr genau vorgeben welcher Container mit welchem Container kommunizieren darf. Du kannst beliebig viele Netzwerke definieren. Das ist dann im Container so wie wenn mehrere Netzwerkkarten eingesteckt sind.

      Du hast jetzt leider nichts zu deiner Konfiguration geschrieben. Wenn du Hostmode verwendest musst eigentlich nichts machen. Bei Bridge Mode müssen beide Container mit dem Bridge Network verbunden sein oder einem eigenen definierten. Aber am Anfang nicht unbedingt notwendig.

      Verwende für die Konfiguration keine ip Adressen, sondern immer nur den containername. Dieser wird automatisch als hostname angelegt.
      Wenn 2 Container im gleichen Netz sind und du dichnin einen Container auf die Shell begibst kannst du den anderen Container dann unter dem containernamen anpingen.

      Die 172er ip Adressen sind immer nur die internen Adressen mit denen du nix anfangen kannst. Dein Container hat bei Host und Bridge immer die ip Adresse deines Hosts, bei macvlan das was man konfiguriert.

      Für eine übersichtlichere Konfiguration empfehle ich docker compose (ist schon bei docker mit dabei)
      Für eine gui zur besseren leichteren Verwaltung empfehle ich portainer. Lässt sich auch als Container installieren.

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

        @oliverio

        Bezüglich den internen Adressen, dachte ich, dass man diese für die Vernetzung verwenden sollte?

        Bevor ich jetzt meine ganze Konfig poste, kann du mir sagen, was das beste vorgehen wäre?
        Dann versuche ich das umzusetzen.

        Bezüglich der Netzwerkmodis, hatte ich noch nichts zu tun. Daher ist macvlan Neuland für mich.

        Aber da ich gerne teste, würde ich mich über das beste Setup freuen und ich versuche mich daran.

        Docker Compose und Portainer laufen bereits. Die grafische Oberfläche gefällt mir übrigens auch sehr 😉

        OliverIO 2 Replies Last reply Reply Quote 0
        • OliverIO
          OliverIO @wusa last edited by

          @wusa

          Zur Konfiguration von Container zu Container, immer den Hostnamen/Container Namen verwenden. Für Konfiguration außerhalb von docker nimmst du die IP Adresse des Hosts beziehungsweise bei macvlan halt dann die konfigurierte IP

          Hier ein konkretes Beispiel
          Du hast einen ioBroker Container und
          Du hast beispielsweise eine MySQL Datenbank als separaten Container
          Beide sind über das gleiche Netzwerk miteinander verbunden.
          Wenn du nun im ioBroker den SQL Adapter konfigurieren willst, dann gibst du nicht die IP Adresse des Containers an, sondern einfach den Containern Namen. Die finden sich dann

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

            @oliverio

            Ok das verstehe ich.

            Aber was wäre in meinem Fall das beste vorgehen?
            Wireguard läuft im Container. Darin ist eine Site2Site Verbindung.

            Jetzt will ich den iobroker Container erreichen. Wie muss ich vorgehen, damit ich durch den Tunnel den iobroker erreiche?

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

              @wusa
              Hier mal ein Beispiel meinre docker-compose definition.
              durch dies werden 2 container erzeugt. einmal iobrokertest und einmal redis5
              wenn ich den iobroker für redis konfiguriere muss ich anstatt einer ip adresse einfach nur redis5 eintragen. dieser name ist innerhalb des netzwerks iobrokertest eindeutig diesem container zugeordnet. welche konkrete ip adresse das dann ist, kann dir egal sein (wahrscheinlich schon eine von diesen 172er.
              das ist zwar ein macvlan netz, aber bis auf die unterdefinition zur ipadresse ist das identisch zu einer bridge mode definition.
              bei macvlan muss man ebenfalls die zu öffnenden ports nicht angegeben. bei bridge muss man das allerdings.

              version: '3'
              
              services:
                iobrokertest:
                  container_name: iobrokertest
                  image: buanet/iobroker:latest-v8
                  hostname: iobrokertest
                  restart: always
                  volumes:
                    - /home/iobroker/docker/volume/iobroker/test/iobroker:/opt/iobroker
                  environment:
                    DEBUG: "true"
                  networks:
                    macvlanipv6:
                      ipv4_address: 192.168.1.85
                    iobrokertest:
                redis5:
                  image: "redis:alpine"
                  volumes:
                    - /home/iobroker/docker/volume/iobroker/test/redis:/data
                  networks:
                    iobrokertest:
              networks:
                macvlanipv6:
                  external: true
                iobrokertest:
                
              
              W 2 Replies Last reply Reply Quote 0
              • W
                wusa @OliverIO last edited by

                @oliverio

                services:
                  wireguard:
                    image: lscr.io/linuxserver/wireguard:latest
                    container_name: wireguard
                    cap_add:
                      - NET_ADMIN
                      - SYS_MODULE #optional
                    environment:
                      - PUID=1000
                      - PGID=1000
                      - TZ=Europe/Berlin
                     
                    volumes:
                      - /root/docker/wg-s2s/config:/config
                #      - /lib/modules:/lib/modules #optional
                #    ports:
                #      - 13231:13231/udp
                    sysctls:
                      - net.ipv4.conf.all.src_valid_mark=1
                    restart: unless-stopped
                
                
                
                  iobroker:
                    restart: always
                    image: buanet/iobroker:latest
                    container_name: iobroker
                    hostname: iobroker
                    ports:
                      - "8081:8081"
                    volumes:
                      - /root/docker/iobroker:/opt/iobroker
                

                So sieht momentan meine Compose Datei aus.
                In dem Wireguard Container ist meine wg.conf Datei hinterlegt. So komme ich auf den Container. Allerdings nicht weiter auf den iobroker. Vielleicht lässt sich das mit dem macvlan lösen?

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

                  @oliverio
                  Oder anders gefragt, wie lege ich -richtig- ein macvlan an?
                  Dann baue ich deine Compose mit meinen Sachen mal nach.

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

                    @wusa

                    ne das dürfte an deiner wireguard konfiguration liegen.
                    prüfe mal die folgenden punkte aus diesem post

                    https://discourse.linuxserver.io/t/wireguard-server-access-homenetwork/2046

                    es steht zwar nicht so deutlich dran, aber die einstellung zu
                    net.ipv4.ip_forward müsste auf dem host gemacht werden
                    das verhindert, das der host pakete an andere rechner weiterleitet
                    https://linuxconfig.org/how-to-turn-on-off-ip-forwarding-in-linux
                    der host müsste dann neu gestartet werden.

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

                      @oliverio

                      Ich bin mit deinen Links leider nicht weiter gekommen.
                      Ich habe allerdings nochaml das Internet durchsucht und bin auf folgende Lösung gekommen:

                      SaveConfig = true
                      PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
                      PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

                      Sobald ich dies bei Interface eingefügt habe, funktioniert jetzt glaube ich alles wie gewollt.

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

                        @wusa

                        Ok sieht ziemlich genau nach der Konfiguration aus dem Post aus

                        359c3f0d-0fc9-4b5b-9993-b01a5aeb1156-image.png

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        918
                        Online

                        31.7k
                        Users

                        79.7k
                        Topics

                        1.3m
                        Posts

                        2
                        11
                        190
                        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