Pi-Hole parallel zum DNS betreiben oder Blacklisting im DNS?

Mitglied seit
16. Aug 2016
Beiträge
57
Punkte für Reaktionen
1
Punkte
8
Ahoi! :)

Ich habe einen kleinen DNS auf meiner Syno laufen, um das Ding per Domain ansprechen zu können. Nun möchte ich mal einen Pi-Hole zum Ad-Blocking testen und hab diesen in Docker installiert. Der stürzt aber immer ab, weil er nicht auf Port 53 lauschen kann, weil da schon der Syno DNS-Server lauscht.

Ich wusste nicht, dass der Pi-Hole auch ein DNS und DHCP ist. :D

Nun möchte ich aber dennoch Pi-Hole einfach mal "nebenbei" testen, ohne direkt den Syno DNS und DHCP zu deaktivieren, möchte aber auch keine Linux-VM dafür aufsetzen, weil das ja auch irgendwie zu viel des Guten ist.

Gibt's eine Möglichkeit, den Docker Container dennoch (mit anderer IP) anzusprechen? Derzeit ist nur ein Ethernet Port an der Syno verbunden. Vielleicht kann das auch so bleiben?! :)

Beste Grüße
Patrick
 

the other

Benutzer
Sehr erfahren
Mitglied seit
17. Okt 2015
Beiträge
2.104
Punkte für Reaktionen
545
Punkte
154
Moinsen,
habe hier den Pihole nicht als Docker sondern klassisch auf dem Pi laufen. Parallell dient die pfsense als DNS Resolver, alles interne geht über den Pi als DNS auf Port 53 (pfsense leitet Anfragen weiter dahin).
DNS kannst du ruhig mehrfach fahren, aber DHCP bitte nur einmal im Netzwerk, sonst haste Ärger vorprogrammiert...
Konkret zu der Docker Konfiguration kann ich leider nix beisteuern.
 
Mitglied seit
16. Aug 2016
Beiträge
57
Punkte für Reaktionen
1
Punkte
8
Ich hab halt keinen Pi hier und möchte das alles gerne auf der DS laufen haben. Aber wenn pro IP nur ein DNS laufen kann, dann muss ich gucken, dass ich ein zweites Kabel zur DS ziehe und dem Docker die andere IP gebe.

Mir stellt sich nur die Frage, wie man die beiden DNS dann in einer Kette hängt. Also alle Requests erst zum DS-DNS und dann zum Pi (oder andersrum?). Ist das so sinnig und wie sage ich allen Geräten im Netzwerk, dass sie da immer drüber gehen sollen?
 

the other

Benutzer
Sehr erfahren
Mitglied seit
17. Okt 2015
Beiträge
2.104
Punkte für Reaktionen
545
Punkte
154
Moinsen,
da ich wie gesagt mit Docker nix mache nur gefährliches Halbwissen von meiner Seite her...
Warum lässt du denn Pihole nicht komplett mit Verbindung unbound den DNS Server spielen? Klappt eigentlich super. Versuch doch das mal testweise, dann hast du den KJonflikt mit der Doppelbelegung des Port 53 nicht und du kannst zentral auf den Pihole verweisen, so dass alle Geräte eben nur den nehmen...
Wie du das den Geräten sagst ist abhängig von deiner Konfig. Klassisch gibst du allen Geräten manuell den Auftrag, den von dir gewählten DNS Server zu nutzen (IP). Manche Geräte erlauben es, den DNS Server via DHCP mitzuteilen, da hat der Client dann keine große Wahl, kann aber trotzdem manuell auch einen anderen DNS Server aussuchen,
Wenn du willst, dass alle Geräte "automatisch" den DNS Server erhalten (und auch nicht daran vorbei gehen dürfen), dann geht das AFAIK nicht mit deinem Modell, da benötigst du dann ne Firewall, die alles DNS Anfragen vorbei am Pihole verbietet, damit du sicherstellst, dass eben alle Anfragen IMMER via Pihole gehen (und nicht doch irgendein Witzbold die 1.1.1.1 einträgt)...
 

Odhrean666

Benutzer
Mitglied seit
17. Jun 2020
Beiträge
10
Punkte für Reaktionen
4
Punkte
9
Hi,

ich lasse PiHole auch in einem Docker Container auf dem NAS laufen. Um diese Konflikte zu vermeiden habe ich ein eigenes Netzwerk mit dem Treiber "macvlan" definiert und dort hat der PiHole Server eine eigene IP-Adresse über die er im Netzwerk erreicht werden kann.

Das ganze habe ich mit docker-compose konfiguriert (macvlan Netzwerke können nicht über die grafische Docker Oberfläche von Synology erstellt werden).


Dazu wie folgt vorgehen.
Ein Ordner auf dem NAS erstellen wo die Daten von Docker liegen sollen (z.B. /volume1/docker) und darunter für PiHole ein Ordner (/volume1/docker/PiHole)
Im Ordner /volume1/docker/PiHole eine neue Datei docker-compose.yaml anlegen (muss genau so heißen) und in diese folgenden Inhalt (die markierten Stellen entsprechend an das eigene Netzwerk anpassen):


Rich (BBCode):
version: '2'

services:
  pihole:
    container_name: pihole
    image: pihole/pihole:latest
    hostname: pihole                     # <-- Update wenn anderer Host-Name
    domainname: fritz.box                # <-- Update!
    mac_address: d0:ca:ab:cd:ef:01       # <-- Update wenn andere virtuelle MAC gewuenscht
    cap_add:
      - NET_ADMIN
    networks:
      pihole_network:
        ipv4_address: 192.168.1.208      # <-- Update
    dns:
      - 127.0.0.1
      - 8.8.8.8
    ports:
      - 443/tcp
      - 53/tcp
      - 53/udp
      - 67/udp
      - 80/tcp
    volumes:
      - "/volume1/docker/pihole/pihole:/etc/pihole/"	       # <-- Update, Pfad /volume1/docker/pihole/pihole gegen eigenen tauschen
      - "/volume1/docker/pihole/dnsmasq.d:/etc/dnsmasq.d/"     # <-- Update, Pfad /volume1/docker/pihole/dnsmasq.d gegen eigenen tauschen
    environment:
      ServerIP: 192.168.1.208                   # <-- Update (match ipv4_address)
      VIRTUAL_HOST: pihole.fritz.box            # <-- Update (match hostname + domainname)
      TZ: "Europe/Berlin"
      DNS1: 192.168.1.1  				        # <-- Update, eigenen Router etc. eintragen
      DNS2: 8.8.8.8
    restart: unless-stopped
    

networks:
  pihole_network:
    driver: macvlan
    driver_opts:
      parent: eth0
    ipam:
      config:
        - subnet: 192.168.1.0/24              # <-- Update
          gateway: 192.168.1.1                # <-- Update
          ip_range: 192.168.1.208/28          # <-- Update



Wichtig ist das die Leer-Zeichen GENAU SO in die Datei übernommen werden, da darüber im yaml Format die Bereiche erkannt werden!

Um den Container zu starten mit ssh oder telnet Client auf dem Server einloggen, in den Ordner navigieren (cd /volume1/docker/pihole) und den Befehlen


Rich (BBCode):
sudo docker-compose pull

sudo docker-compose up -d

starten. PiHole kann dann über 192.168.1.208 aus dem obigen Beispiel erreicht werden. Um diesen zu nutzen muss dieser DNS auf den Clients eingerichtet sein (am besten per DHCP verteilen)
 

dditt

Benutzer
Mitglied seit
08. Feb 2018
Beiträge
135
Punkte für Reaktionen
9
Punkte
18
Guten Morgen,

darf ich mich hier mal einklinken? Mein Problem ist von (fast) gleicher Natur und ich wollte nicht extra ein neues Thema aufmachen.

Ich habe auf meiner Synology den DNS Server laufen, damit ich von intern mit PCs, Smartphones und Tablets auf meine Nextcloud-Instanz (per Docker auf der Syno und dyndns URL) zugreifen kann.

Dies funktioniert auch ohne Probleme.

Nun habe ich seit geraumer Zeit pihole auf einem alten Raspberry Pi laufen. Dieser funktioniert auch soweit.

Mein Problem ist, dass Pihole jedoch nur die IP Adresse meiner Syno anzeigt, weil ich beim Syno DNS Server unter forward die IP Adresse der pihole instanz auf dem Raspi eingegeben habe.

Ich komme nicht ganz klar wie ich die Verkettung richtig realisiere. Die Einrichtung des DNS Servers auf der Syno ist auch schon ein paar Jahre her...

Ich dachte eigentlich, in meiner Fritzbox wäre als DNS Server die IP von der Syno eingetragen. War es gestern abend aber nicht :rolleyes:

Ich stehe gerade ordentlich auf dem Schlauch....
 

dditt

Benutzer
Mitglied seit
08. Feb 2018
Beiträge
135
Punkte für Reaktionen
9
Punkte
18
ich kann meinen obigen Eintrag leider nicht editieren..

ist der DNS Server auf der Syno überhaupt notwendig wenn man eine aktuelle Fritzbox hat, und man eine DNS Rebind Ausnahme definiert?

siehe AVM


in der Fritzbox bei der DNS Rebind Ausnahme, die dyndns Adresse eintragen müsste doch die gleiche Auswirkung haben wie der angelegte DNS Server auf der Syno?

Dann könnte man in der Fritzbox ganz normal die IP des piholes als DNS server eintragen und wäre fertig.

oder habe ich etwas übersehen?
 
Zuletzt bearbeitet:

the other

Benutzer
Sehr erfahren
Mitglied seit
17. Okt 2015
Beiträge
2.104
Punkte für Reaktionen
545
Punkte
154
Moinsen,
für das gemeine Heimnetz sollte ein DNS Server reichen. Auf dem NAS würde ich selber das nicht machen, ist keine Kernaufgabe, eher via Fritz oder noch besser (da ja schon vorhanden): Pihole in Verbindung mit unbound auf dem Raspi. Für unbound dann noch die RootDNS-Server Adresslisten einpflegen und gut ist. Wenn du ggf. dann noch DHCP über den Pi laufen lässt (dann aber unbedingt keine Dopplung auf der FB!!!!) sollten die lokalen Names erkannt werden, ein anonymeres Surfen möglich werden und Werbung und gefährlicher Schwachfug draußen bleiben...
 
Mitglied seit
16. Aug 2016
Beiträge
57
Punkte für Reaktionen
1
Punkte
8
Ich hab mich jetzt mal dran gemacht, aber ich bekomme den Pi-Hole Docker Container nicht zum laufen, er meldet immer, dass er nicht auf Port 53 lauschen kann, obwohl ich den DNS Server schon deaktiviert und deinstalliert habe.
 

Ulfhednir

Benutzer
Sehr erfahren
Mitglied seit
26. Aug 2013
Beiträge
3.472
Punkte für Reaktionen
1.085
Punkte
194
Zuletzt bearbeitet von einem Moderator:

ChrisTom

Benutzer
Mitglied seit
24. Dez 2020
Beiträge
3
Punkte für Reaktionen
0
Punkte
1
Ich hab mich jetzt mal dran gemacht, aber ich bekomme den Pi-Hole Docker Container nicht zum laufen, er meldet immer, dass er nicht auf Port 53 lauschen kann, obwohl ich den DNS Server schon deaktiviert und deinstalliert habe.
Hast du den DHCP auf der Synology laufen? Wenn ja, ist das das Problem. Dann musst du dem PI-Hole eine eigene IP über ein macvlan geben.
Habe weiter oben eine gute Anleitung verlinkt in der das erklärt wird. Damit läuft bei mir alles bestens.
 

mar_ell

Benutzer
Mitglied seit
12. Feb 2021
Beiträge
8
Punkte für Reaktionen
0
Punkte
1
Moin,

interessanter Thread. Ich habe ein ähnliches Setting (Fritzbox, Pi-Hole, Docker) und dazu eine Frage, hoffentlich kann jemand etwas dazu beitragen.

Ich habe auf der Synology Pi-Hole in einem Docker-Container installiert. Ich bin dabei nach dieser Anleitung vorgegangen: https://servicemax.com.au/tips/pi-hole-in-docker-on-synology-the-best-way/

Ich habe ebenfalls portainer installiert und ein Netzwerk mittels macvlan eingerichtet. Läuft alles wie gewünscht.

Auf der Fritzbox habe ich diese Anleitung befolgt: https://docs.pi-hole.net/routers/fritzbox-de/
Ich lasse den DHCP auf der Fritzbox den Pi-Hole als lokalen DNS verteilen, also wie in der Anleitung beschrieben LAN-seitig. Die WAN-seitigen DNS-Server stehen in der Fritzbox auf Cloudflare (1.1.1.1 und 1.0.0.1).

Im Pi-Hole stehen die Upstream-Server ebenfalls auf Cloudflare. Der Pi-Hole-Anleitung folgend habe ich auch Conditional Forwarding eingeschaltet, mit dem lokalen Netz 192.168.178.0/24, der Fritzbox-IP (192.168.178.1) un der lokalen Domäne (fritz.box). Funktioniert alles sehr gut.

Jetzt zur Fragestellung bei der ich auf dem Schlauch stehe:

Die Synology bekommt vom Fritzbox-DHCP eine feste IP-Adresse (und sollte auch den Pi-Hole-DNS bekommen). In der Synology-Systemsteuerung unter Netzwerk/Netzwerk-Schnittstelle ist auch eingestellt, dass die Netzwerk-Konfiguration automatisch bezogen werden soll.

Aber die Synology bekommt keine Verbindung zum Internet hin, konkret spürbar ist das beim QuickConnect. Erst wenn ich unter Netzwerk/Allgemein manuell einen DNS (oder die IP der Fritzbox) eintrage klappt alles. Wenn ich explizit die IP des Pi-Hole eintrage klappt es nicht.

Warum klappt das nicht über den Pi-Hole? Und warum muss ich überhaupt zusätzlich einen manuellen DNS eintragen?

Hat jemand eine Idee?
 

mar_ell

Benutzer
Mitglied seit
12. Feb 2021
Beiträge
8
Punkte für Reaktionen
0
Punkte
1
Jetzt zur Fragestellung bei der ich auf dem Schlauch stehe:

Die Synology bekommt vom Fritzbox-DHCP eine feste IP-Adresse (und sollte auch den Pi-Hole-DNS bekommen). In der Synology-Systemsteuerung unter Netzwerk/Netzwerk-Schnittstelle ist auch eingestellt, dass die Netzwerk-Konfiguration automatisch bezogen werden soll.

Aber die Synology bekommt keine Verbindung zum Internet hin, konkret spürbar ist das beim QuickConnect. Erst wenn ich unter Netzwerk/Allgemein manuell einen DNS (oder die IP der Fritzbox) eintrage klappt alles. Wenn ich explizit die IP des Pi-Hole eintrage klappt es nicht.

Warum klappt das nicht über den Pi-Hole? Und warum muss ich überhaupt zusätzlich einen manuellen DNS eintragen?

Hat jemand eine Idee?
Ich habe die Ursache rausgefunden (aber leider bisher keine Lösung). Ich kann von der Synology (Host) aus keine Docker-Container anpingen, obwoh der Container eine IP im LAN hat. Von jedem anderen Gerät im LAN geht es.
 

mar_ell

Benutzer
Mitglied seit
12. Feb 2021
Beiträge
8
Punkte für Reaktionen
0
Punkte
1
@Diskstation4568 Vielen Dank für den Tipp, den Kanal kannte ich schon, das Video allerdings noch nicht. Die vorgeschlagene Lösung hatte ich bereits ausprobiert, das geht auch grundsätzlich.

Ich habe mich nur an einer Stelle etwas gewundert:
Pi-Hole läuft bereits in einem Container und befindet sich in einem macvlan. Ich habe darüber auch eine feste IP-Adresse für den Container vergeben. Klappt alles. Auf der FritzBox sehe ich in den Netzwerkverbindungen die Container-IP.

In dem Skript aus dem Video gibt es die Stelle mit "ip addr add". Der Schritt führt (zumindest bei mir) irgendwie dazu, dass die (Container-)IP-Adresse mit unterschiedlichen MAC-Adressen in der den Netzwerkverbindungen der FritzBox auftaucht. Das fand ich merkwürdig und hab diverse Dinge ausprobiert, hat alles nichts genützt. Am Ende habe ich es daher einfach gelassen, die Synology hat jetzt halt Cloudflare als DNS und fertig.
 


 

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