this post was submitted on 03 Jul 2023
20 points (95.5% liked)

Selfhosted

40345 readers
415 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
 

I am building up a selfhosted homelab after a few years of building up services on a single old desktop computer that I bought for $300. I had installed Ubuntu on it, and upgraded the RAM, etc and basically just used Docker to stand-up various services that all of you would be familiar with.

As I grew my use, it started to get more difficult to manage ports and networks and so I decided to make an investment and buy a used HP380 G8 server and installed proxmox. I love it.

The problem is now instead of a proliferation of ports now I have a proliferation of ips. Also, my damn Internet provider doesn't allow me to disable DHCP and its "reserve ip" is broken. It has an option for "bridge mode" which seems to allow me to make it simply a gateway but I haven't tried that mostly because I don't want to impact my family during the day/night when they are using the network.

What I have tried to setup various nameservers but they aren't doing what I want. I installed unbound yesterday to play around and it works but I don't know how to get the IP address/Name from proxmox over to the /etc/unbound.conf file for example.

My question is simply, what do you guys use to keep track of your IPs? Ideally, I could have something in Proxmox that registers the name/ip that I could patch into pihole or unbound or dnsmasq and fairly easily be able to manage that.

Any advice?

top 11 comments
sorted by: hot top controversial new old
[–] [email protected] 3 points 1 year ago

I use docker + traefik + a simple domain alias in my router to give all of my services easy to remember dns names.

[–] [email protected] 2 points 1 year ago (1 children)

I do a few things to keep track of my installed services.

  1. I run an instance of Heimdall, which is an utterly simple launcher. All of my services with administration panels get added here.
  2. I maintain an excel sheet with all of my assigned IPs. It doesn't matter if it's a VM, a container, an iPhone, or some other hardware device. Everything is assigned a static IP and added to the excel list.
  3. When I'm creating containers and VMs in Proxmox, I make sure that the proxmox ID of the container or VM is the same as the final octet of the IPV4 IP address. So if my Heimdall service is set up on 192.168.1.155, then the Heimdall LXC gets ID 155. I do this so that I can quickly look up the IP of any service in Proxmox without having to open my spreadsheet.

If you follow this convention, then you could easily export the IDs of all of your proxmox containers and VMs by following the instructions here. Make a few transformations to turn the IDs into IP addresses, and you have a .csv you could import elsewhere.

I'm sure someone has made a tool to do this already somewhere. On Github, xezpeleta made an inventory script "to grab proxmox nodes. This will also try to grab the IP if you have the guest agent installed." I bet there are others out there.

[–] knaak 1 points 1 year ago

Thanks for this, i am also now using Heimdall! Its great.

[–] [email protected] 2 points 1 year ago (1 children)

Can you put your own router behind, what I presume, is the ISP router? Then you can manage DHCP and IP address reservation.

[–] knaak 2 points 1 year ago (1 children)

This turned out to be the solution that I chose. My internet provider did not support DHCP and even DNS was hard coded which made it hard for me. So, i switched the modem into Bridge mode and installed opnsense on a computer that I had after installing a 2x1GB NIC for it. Now I have full control over naming and now everything mostly works as I need it to.

[–] [email protected] 1 points 1 year ago

That's awesome, glad you were able to find a solution!

[–] [email protected] 1 points 1 year ago

This is very unlikely, but does your ISP router offer any dynamic DNS options with the DHCP?
The process would be DHCP giving out address --> Host registered, returns Hostname --> DHCP gets hostname --> DDNS update sent to DNS server

[–] [email protected] 1 points 1 year ago (1 children)

I‘m not sure if I understand your problem. How many VMs, hostnames, etc. are we talking about?

[–] [email protected] 1 points 1 year ago

@knaak I have an excel sheet with all the IP addresses in my homelab.

[–] dunz 1 points 1 year ago

Unbound is a recursive DNS, not an authorative. An authorative DNS server is needed for adding your own records. I suggest using bind, which can be both a recursive and an authorative.

[–] [email protected] 1 points 1 year ago

I haven't used proxmox but I can share with you my setup.

It also has several docker deployments plus some services running directly in the machines using a reverse proxy to only manage a couple of IPs given by tailscale.
So for pihole it was first manually configured with its tailsacle IP and included it in the DNS pointing to the machine which has the reverse proxy.
I'm using caddy, so the Caddyfile has this entry:

pihole.hosted.local {
  reverse_proxy <Tailscale IP>:<port>
}

You can have several blocks like this to manage your different services.

https://caddyserver.com/docs/quick-starts/reverse-proxy