So I am working on my home server. I installed docker and use a dnsmasq container as my dns server to resolve local ip adresses.

Laptop and server are both linux (ubuntu LTS 24.4)

What works:

  • ‘resolvectl status’ shows the ip of my dns server
  • i can ping the ip of the dns server (that will run other stuff like nextcloud soon as well)
  • i can use nslookup to resovle server.local to the correct ip address (even after changing the entry, so its not the cache in my laptop)

what does not work:

  • i can not ping server.local (- for testing i have to stop the systemd-resolved.service to run the dnsmasq server, or else there are port collisions, but that should not be the problem i guess. I am happy to hear your solution :))
  • i can also not use ssh to log in to server.local, ip address works

What am i missing?

Thanks a lot already! BTW: ZFS is crazy nice :D

  • catloaf@lemm.ee
    link
    fedilink
    English
    arrow-up
    10
    arrow-down
    2
    ·
    3 months ago

    First, don’t use .local, as it’s used by mDNS. You should use .internal or a domain you own. I recommend changing before you get any more committed to your environment.

    I’m not really following your post, because you’re not specifying whether each point is on the server or laptop.

    Personally, I dislike Ubuntu on the server because of how it runs stuff like systemd-resolvd, which as you’ve experienced, gets in the way of standard operation.

  • Max@lemmy.world
    link
    fedilink
    English
    arrow-up
    6
    ·
    3 months ago

    Isn’t .local a mdns auto configured domain? Usually I think you are supposed to choose a different domain for your local DNS zone. But that’s probably not the source of the problem?

    • WbrJr@lemmy.mlOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      3 months ago

      Changing the domain does not change the problem sadly. I thought .local is a safe one to use

  • Darkassassin07
    link
    fedilink
    English
    arrow-up
    3
    ·
    3 months ago

    what does not work:

    • i can not ping server.local (- for testing i have to stop the systemd-resolved.service to run the dnsmasq server, or else there are port collisions, but that should not be the problem i guess. I am happy to hear your solution :))
    • i can also not use ssh to log in to server.local, ip address works

    Have you added “server.local” as a DNS record in your dnsmasq container, pointing to your servers LAN IP? Sounds like dnsmasq isn’t resolving that name, which would lead to both of these ‘failures’.

    • WbrJr@lemmy.mlOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      3 months ago

      So in the dnsmasq.config file is this entry: ‘address=/server.local/192.168.178.10’ and using nslookup it resolves it correctly

      • Max@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        ·
        3 months ago

        Does it resolve correctly from the laptop or the server. What about resolvectl query server.local on the laptop?

        • WbrJr@lemmy.mlOP
          link
          fedilink
          English
          arrow-up
          1
          ·
          3 months ago

          When I am on the server, it can even ping the domain. On my laptop, it can only resolve the domain to the correct ip

          • Max@lemmy.world
            link
            fedilink
            English
            arrow-up
            1
            ·
            3 months ago

            Could you post the specific output of the commands that don’t work? It’s almost impossible to help with just ‘It doesn’t work’. Like when ping fails, what’s the error message. Is it a timeout or a resolution failure. What does the resolvectl command I shared show on the laptop. If you enable logging on the DNS server, do you see the requests coming in when you run the commands that don’t work.