Docker-Portainer Pi-Hole/unbound

mistertoi

Benutzer
Mitglied seit
01. Jul 2017
Beiträge
55
Punkte für Reaktionen
2
Punkte
14
Liebes Syno-Forum-Team,

in den vergangenen Wochen habe ich angefangen mich in Docker einzuarbeiten. Eigentlich bin ich ganz happy, pihole/unbound laufen und auch paperless konnte ich installieren.
Dabei habe ich nicht die NAS-GUI genutzt, sondern bin den Weg über Portainer gegangen. Etliche Tutorials und Foren hab ich durchkämmt und nun stehe ich vor einem Problem - ich glaube, wie der Ochse vorm Berg. Es ist schon fast zu trivial um wahr zu sein, aber ich bekomme es nicht gelöst.

Grunddaten: mein Netz: 192.168.178.0 / Router auf der .1 / DHCP Bereich 20-200
Jetzt habe ich ein macvlan angelegt das über den Bereich 201-254 gespannt ist. Darin liegen meine Container (der Grund war, dass ich es eine Portweiterleitung auf den Nameserver unbound nicht hinbekommen habe) - jetzt kann ich quasi aus dem host Netz darauf zugreifen und habe bislang auch keine Portschwierigkeiten. Wohl aber welche mit der IP Zuweisung. Unbound und Pihole sollten ja tunlichst eine feste IP haben - wenn ich die versuche zu definieren (via docker-compose.yaml) - meckert mich docker beim Deployment an, dass eine weitere Vergabe einer IP Adresse nicht möglich sei....?!

Kurzfassung meines Stacks:

Code:
unbound:
    container_name: unbound
    image: mvance/unbound:latest
    
    ports:
      - 53:53/udp
      - 53:53/tcp
    
    #volumes:
    #  - /volume1/docker/unbound:/opt/unbound/etc/unbound/
    network_mode: mvl
    restart: always

pihole:
    container_name: pihole
    image: pihole/pihole:latest
    network_mode: mvl
    ports:
    - 53:53/tcp
    - 53:53/udp
    # - 67:67/udp # Only required if you are using Pi-hole as your DHCP server
    - 80:80/tcp
    environment:
      TZ: Europe/Berlin
      DNSMASQ_USER: root
      WEBPASSWORD: ****
      FTLCONF_LOCAL_IPV4: 192.168.178.100
      WEB_PORT: 80
      INTERFACE: ovs_bond0
      DNSMASQ_LISTENING: local

Ich hatte das so verstanden, dass FTLCONF_LOCAL auf die NAS zeigen muss?! Jedenfalls verstehe ich nicht, wie ich den Container anweisen soll je eine feste IP für unbound/pihole zu nehmen - ohne dass ich das Netzwerk (das ich ja in Portainer erstellt habe) neu in dem Stack anlege...oder geht das zur Not auch?!?

Freue mich über jeden hilfreichen Tipp! :) Danke

PS: achja - ich bin privater User - kein Admin, nicht mal ITler....
 

plang.pl

Benutzer
Contributor
Sehr erfahren
Maintainer
Mitglied seit
28. Okt 2020
Beiträge
15.029
Punkte für Reaktionen
5.400
Punkte
564
Also ich bearbeite den Container einfach in portainer und gebe unter dem Reiter "Network" die feste IP Adresse an
 

mistertoi

Benutzer
Mitglied seit
01. Jul 2017
Beiträge
55
Punkte für Reaktionen
2
Punkte
14
Hi plang,

ja darüber geht das auch - ich nutz zum erstellen ein Stackfile, damit rufe ich beide Container getrennt voneinander auf. Die "Variable" für die ipv4 Adresse, die Du bei der Erstellung angibst, die will ich in den Stack mit einbauen - das nimmt der nicht an - ich hab jetzt in der pihole-doc "

LOCAL_IPV4=​


entdeckt - und versuche damit mein Glück. Mein problem ist nämlich, dass die IPs je nach Lust und Laune vergeben werden - also kein System dahinter steckt und Pihole als DNS im Netz dann erstmal ausfällt, bis ich das Problem behoben habe.... ;)
 

plang.pl

Benutzer
Contributor
Sehr erfahren
Maintainer
Mitglied seit
28. Okt 2020
Beiträge
15.029
Punkte für Reaktionen
5.400
Punkte
564
Ob der Container die IP selbst bestimmen kann, weiß ich nicht. Is halt eine Frage der Implementierung, die man selbst nicht beeinflussen kann. Ich mache es halt so und das ist am Einfachsten
 
  • Like
Reaktionen: mistertoi

EDvonSchleck

Gesperrt
Mitglied seit
06. Mrz 2018
Beiträge
4.703
Punkte für Reaktionen
1.119
Punkte
214
Unbound kann doch einfach im Bridge Netzwerk laufen. Das ändert man in der Config oder im Mapping. Ich mache nicht so viel aufwand.
 

mistertoi

Benutzer
Mitglied seit
01. Jul 2017
Beiträge
55
Punkte für Reaktionen
2
Punkte
14
das hatte ich versucht, ich bekomme es aber nicht hin, wenn ich die (in der Grafik gezeigte) Auswahl treffe, also alles leer lasse und als Custom Upstream nur die Unbound IP angebe, findet der keine einzige Homepage mehr.... ich blicks einfach nicht - darum hab ich unbound auch ins mcvlan gelegt....dann läuft es wie gewünscht

pihole.png

Der Vorteil ders bridge Netzwerkes, wäre dass er nur an einem Port im Heimnetz lauchen muss, und selbst wenn sich die bridge-IP verändert, wäre das kein Problem, oder!?
 

mistertoi

Benutzer
Mitglied seit
01. Jul 2017
Beiträge
55
Punkte für Reaktionen
2
Punkte
14
gelesen habe ich das - aber ich gebe zu, ich versteh es nicht, bzw. ich finde auch keine gute Erklärung was es mit den "doppelten networks Einträgen" auf sich hat. Ich bin da im Moment echt ahnungslos...
mvl ist mein macvlan Netzwerk - über die Einstellung im compose file funktioniert es, aber eben mit einer mehr oder weniger dynamischen IP Vergabe.... ;)
 

EDvonSchleck

Gesperrt
Mitglied seit
06. Mrz 2018
Beiträge
4.703
Punkte für Reaktionen
1.119
Punkte
214
Wie hast du den Port denn eingetragen?

Beispiel Porteingabe:
192.168.178.224#5353

Ich nutze selbst Adguard home.
 

mistertoi

Benutzer
Mitglied seit
01. Jul 2017
Beiträge
55
Punkte für Reaktionen
2
Punkte
14
wenn ich unbound im Adressbereich des Routers/der Nas laufen lasse benutze ich gar keinen Port - wenn ich es im Bridge eingebe dann als IP, die der NAS (.100#5353), den hab ich in der Firewall dafür auch freigegeben....bevor die Frage kommt...
 

EDvonSchleck

Gesperrt
Mitglied seit
06. Mrz 2018
Beiträge
4.703
Punkte für Reaktionen
1.119
Punkte
214
Als Bridge bekommst du doch ein Portkonflikt mit den Port 53!

Ich nutze Unbound so (Aufgabensteuerung/SSH)

Code:
docker run -d --name unbound \
-p 5553:53/udp \
-p 5553:53/tcp \
--restart always \
mvance/unbound:latest

Wenn du das über den Aufgabenmanager (root) installiert hast, gibst du im Pi-Hole IPdesNAS#5553 ein
 

mistertoi

Benutzer
Mitglied seit
01. Jul 2017
Beiträge
55
Punkte für Reaktionen
2
Punkte
14
Danke Ed, das probier ich gleich mal aus!
 

mistertoi

Benutzer
Mitglied seit
01. Jul 2017
Beiträge
55
Punkte für Reaktionen
2
Punkte
14
mh, das gleiche Problem, wie ich schon vorher hatte - auch wenn ich über die Shell den Container genauso anlege, den Port in der Firewall der NAS freigebe, sobal ich in den Settings einzig IPderNAS#5553 als Custom1 freigebe, baut der keine einzige Internet-Verbindung mehr auf.... das ist der Grund, warum ich beide Container im gleichen Netzwerk laufen lasse.....*grübel* - mittlerweile habe ich aber - zumindest gegenwärtig den Eindruck, dass ich mit

LOCAL_IPV4=IP-pihole​

das zufällige Verhalten bei der dynamischen Vergabe der IPs abgeschaltet habe(n könnte) ;)
 

EDvonSchleck

Gesperrt
Mitglied seit
06. Mrz 2018
Beiträge
4.703
Punkte für Reaktionen
1.119
Punkte
214
Zeig mir bitte einmal deine Firewalleinstellungen als Bild. Pi-Hole nutzt du im Macvlan? Den Workaround für den Internetzugang ins Macvlan hast du genutzt?

Ich selber würde von Macvlan abraten und die Container entweder als Host oder Bridge laufen lassen. Wenn man weiß, was man macht, kann man auch Macvlan nutzen. Normal ist das aber nicht notwendig. Nach welcher Anleitung bist du bei der Installation gegangen?
 

mistertoi

Benutzer
Mitglied seit
01. Jul 2017
Beiträge
55
Punkte für Reaktionen
2
Punkte
14
Hab den 51553 genutzt - TCP/UDP - wenn ich den Container wie beschrieben anlege, nutzt er das bridge Netzwerk.... ich versuch das seit Tagen schon umzusetzen und versteh nicht woran es liegt... hatte diverse Tutorials dazu gesehen - immer eins nach dem anderen abgearbeitet und dann für mich eine praktikable Lösung herausgearbeitet... würde aber gern den unbound ins bridge netzwer legen

FW_NAS.png
 

MattCB

Benutzer
Mitglied seit
31. Jan 2012
Beiträge
382
Punkte für Reaktionen
71
Punkte
28
Das gleiche Verhalten hatte ich auch mal, als ich Unbound und Pihole per Docker am Laufen hatte. Unbound im Bridge-Netzwerk und Pihole auf dem Host-Netzwerk. Unbound hat extern auf Port 5335 gelauscht. Sobald ich in Pihole als Custom-DNS die IP des NAS, gefolgt von #5335 eingegeben habe, wurden keine Internetseiten mehr aufgelöst.

Mittlerweile laufen Unbound und Pihole problemlos und und unaufällig in einer kleinen VM auf dem NAS, da ich keinen Bock auf MacVLAN hatte. Braucht auch kaum Ressourcen (2 Kerne und 1 GB RAM reichen locker), da ich das ganze über DietPI laufen lasse. Da laufen auch die Updates für Pihole und die Adlists automatisch ab. Da das NAS momentan nur wenig genutzt wird, stört die Nutzung einer VM absolut nicht. Nur dass die Mindestgröße für die virtuellen Festplatte 10 GB beträgt, nervt etwas. Für die VM würden 4 GB locker ausreichen. ;-)
 
  • Like
Reaktionen: mistertoi

mistertoi

Benutzer
Mitglied seit
01. Jul 2017
Beiträge
55
Punkte für Reaktionen
2
Punkte
14
konkret zu den Anleitungen: idomix und die von jürgen barth...
hauptsächlich darauf basierend bin ich zu der macvlan lösung gekommen - wobei auch infos aus diversen documentationen und englischen tutorials den eingang in den stack gefunden haben
 

mistertoi

Benutzer
Mitglied seit
01. Jul 2017
Beiträge
55
Punkte für Reaktionen
2
Punkte
14
darf ich mal fragen: was ist eigentlich an dem macvlan "so übel" - und was sind host bzw. bridge Netzwerke bzw. warum sind sie besser?
Mein Versatändnis:
host: quasi mein Heimnetzwerk, in dem alle Geräte sind (mit den daraus resultierenden Einschränkungen für Portbenutzung u.ä.)
bridge: ein anderes Netzwerk/anderes Subnetz (bei mir 172.0.3.irgendwas) - das über eine Bridge (einen Port) vom Heimnetzwerk aus anbgesprochen werden (sollte)
Macvlan: ein abgetrennter virtueller(?!) Bereich mit der IP meines Heimnetzwerkes..ausserhalb des DHCP Bereichs desselben.... kann aber dieselben Ports nutzen, weil virtuell (?!)
 

MattCB

Benutzer
Mitglied seit
31. Jan 2012
Beiträge
382
Punkte für Reaktionen
71
Punkte
28
Ich hatte es auch mit der Anleitung von idomix versucht. Das ergab das beschriebene Verhalten, obwohl ich alles korrekt durchgeführt habe. Deshalb die Lösung mit der kleinen VM, auf der beides läuft.

MacVLAN ist zwar nett, aber man muss auf der DS leider noch einen Workaround durchführen, da die Container sonst nicht mit dem Host kommunizieren können. Das war mir etwas zu viel Gefriemel. Die VM läuft seit Wochen stabil und unaufällig und benötigt nicht wirklich viel Ressourcen.
 

mistertoi

Benutzer
Mitglied seit
01. Jul 2017
Beiträge
55
Punkte für Reaktionen
2
Punkte
14
ich dachte mir schon, dass da der Hund begraben liegen könnte..... viele englisch-sprachige nutzen keinen docker-compose - den wollte ich eigentlich unbedingt haben, damit ich, wenn es in ein paar Wochen/Monaten/Jahren mal nicht mehr läuft nicht wieder bei Null anfange, sondern verstehe, was ich da eigentlich eingerichtet habe..dann hab ich mich durch die Dokus gewühlt... auch was @haydibe oben geschrieben hat, habe ich da gefunden - aber ich verstehe noch nicht, wieso ich (obwohl ich in Portainer Netzwerke angelegt habe) in der compose datei nochmal welche anlegen soll..bzw. was es damit auf sich hat...na, hab mir jetzt ein Buch bestellt, da werd ich mal schmökern und mir die Docker-Interna erarbeiten, vielleicht versteh ich es dann in 4 Wochen oder so besser....
 


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat