this post was submitted on 11 Jan 2024
37 points (97.4% liked)

Selfhosted

40347 readers
401 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 1 year ago
MODERATORS
 

My current setup has my DHCP + DNS on my Unifi USG. However, as I have all my apps hosted on a different server (unifi, plex, home assistant, NAS, etc.) I've ran into issues trying to get things set up.

Basically, Unifi needs to know where the unifi server is, but it's assigning the IP address to it.

Should I put DHCP+DNS onto it's own system? Should I put it on my current server? And any non-Pi recommendations for systems? (I've had the PI filesystem clobber itself too many times)

Edit: I'm starting to think that the real problem is having UNIFI on the same system as the server, as it prevents me reconfiguring any of the server routing information without also disconnecting unifi...

Edit 2: I'm going to try switching the server from a static DHCP lease to a static IP. If that's doesn't work, then I think I'll move the unifi server onto it's own system. Thanks!

you are viewing a single comment's thread
view the rest of the comments
[–] erre@programming.dev 2 points 10 months ago* (last edited 10 months ago) (1 children)

I use pihole for managing DNS and DHCP. It's run via docker and the compose file and dnsmasq configs are version controlled so if the Pi dies I can just bring it up on another Pi.

The Pi with pihole has a static IP to avoid some of the issues you described.

[–] SpaceCadet@feddit.nl 2 points 10 months ago (1 children)

That's what I do. I do have a small VM that is linked to it in a keepalived cluster with a synchronized configuration that can takeover in case the rpi croaks or in case of a reboot, so that my network doesn't completely die when the rpi is temporarily offline. A lot of services depend on proper DNS resolution being available.

[–] erre@programming.dev 1 points 10 months ago (2 children)

I've been meaning to standup another pihole on another pi for DNS redundancy. I have to research how to best keep the piholes in sync. So far I've found orbital-sync and gravity-sync.

[–] dan@upvote.au 2 points 10 months ago* (last edited 10 months ago) (1 children)

If you ever switch to AdGuard Home, adguardhome-sync is pretty good. IMO AdGuard Home is better since it has all of PiHole's features plus it supports DNS-over-HTTPS out-of-the-box, so your ISP can't spy on your DNS queries (non-encrypted DNS queries can be easily intercepted and modified by your ISP even if you use a third-party DNS server, since they're unencrypted and unauthenticated)

[–] SpaceCadet@feddit.nl 1 points 10 months ago (1 children)

DNS-over-HTTPS

You can also do that with running cloudflared or unbound on your pihole.

[–] dan@upvote.au 1 points 10 months ago* (last edited 10 months ago)

Sure, but that's extra manual setup, and the point of running something like PiHole is to have a nice UI to manage things.

AdGuard Home uses DNS-over-HTTPS by default, so it's immediately more privacy-focused than PiHole. I'm really surprised that PiHole hasn't done this.

[–] SpaceCadet@feddit.nl 2 points 10 months ago (1 children)

For me gravity sync was too heavy and cumbersome. It always failed at copying over the gravity sqlite3 db file consistently because of my slow rpi2 and sd card, a known issue apparently.

I wrote my own script to keep the most important things for me in sync: the DHCP leases, DHCP reservations and local DNS records and CNAMES. It's basically just rsync-ing a couple of files. As for the blocklists: I just manually keep them the same on both piholes, but that's not a big deal because it's mostly static information. My major concern was the pihole bringing DHCP and DNS resolution down on my network if it should fail.

Now with keepalived and my sync script that I run hourly, I can just reboot or temporarily shutdown pihole1 and then pihole2 automatically takes over DNS duties until pihole1 is back. DHCP failover still has to be done manually, but it's just a matter of ticking the box to enable the server on pihole2, and all the leases and reservations will be carried over.