I’m using e/os and I want to be sure that, when connected to my local network, my local dns server is used, however, no matter what I do, my phone always use google’s one. Is there any way to fix this?

  • BlackbeardOP
    link
    fedilink
    English
    arrow-up
    1
    ·
    2 days ago

    Did you ever tested it? Because in any android device I got, it always “default” to 8.8.8.8 - google’s one. I have to connect to a vpn do get local ips being resolved. I just don’t get it, is this normal?

    • wasu@lemmy.world
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 day ago

      I don’t have a custom DNS server configured, but that’s what I tested:

      • Went to Settings » Connections and Share » Private DNS - made sure it is off (it takes priority when set)
      • Went to Settings » WiFi » [My local network] » DNS1 and entered my router’s IP

      After that it started to use my ISP’s DNS servers (preconfigured in router) instead of CloudFlare 1.1.1.1 (what was default on my android when connecting to WiFi

      • BlackbeardOP
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 day ago

        Yes but how do you know that is using that? I mean, did you try to resolv a local address? I have test it using a Terminal (termux) - If I use did and seems to report all the time, regardless of which connection and despite setting my local DNS setting on a static configuration for the wifi. Is this the same for you? can you share some screenshot?

        • wasu@lemmy.world
          link
          fedilink
          English
          arrow-up
          1
          ·
          1 day ago

          I visited http://ipleak.net/ to check which dns is used.
          In Termux nslookup will use 8.8.8.8, but I suspect it takes it from Termux environment that doesn’t sync with android settings.

          • BlackbeardOP
            link
            fedilink
            English
            arrow-up
            1
            ·
            1 day ago

            Are you sure? I believe that using ipleak.net will provide you with a detailed report of your public IP address, DNS servers, WebRTC status, and other network-related information. However, it will not show you the internal DNS server you are using within your local network.

            You are right that Android’s system-wide DNS settings (e.g., those configured in Wi-Fi or mobile network settings) are not automatically applied to Termux. Termux runs in a sandboxed environment and manages its own network configuration. I will try changing Termux but keep in mind that the reason I checked Termus is because local dns resolution do not work on all my android devices, I can resolv local addresses only if I connect to my home network remotely using a vpn.

            • wasu@lemmy.world
              link
              fedilink
              English
              arrow-up
              1
              ·
              1 day ago

              I believe that using ipleak.net […] will not show you the internal DNS server you are using within your local network.

              You’re right. It won’t show internal one. As I mentioned I don’t have internal DNS server set up, so I only used it to check whether changing DNS in wifi settings will actually take effect, and it did. That’s why I believe setting it to internal one should take effect as well.

              I may try to setup custom DNS in my local network when I have some free time.

              • wasu@lemmy.world
                link
                fedilink
                English
                arrow-up
                1
                ·
                1 day ago

                Ok, I did test it.

                1. I set up DNS server on my PC using Technitium.
                2. I add zone a.local and add record with device A’s IP.
                3. I add zone b.local and add record with device B’s IP.
                4. On device A (Android 11) I go to Setting » WiFi and set DNS to PC’s IP.
                5. On device B (Android 13) I go to Settings » WiFi and:
                  • Change IP to static
                  • Change both DNS1 and DNS2 to PC’s IP.
                6. I ran some file served over http on both devices.
                7. I visit http://a.local/ on device B ❯ A’s Files accessed
                8. I visit http://b.local/ on device A ❯ B’s Files accessed

                Everything works.

                Note:

                • it took DNS server about 1min to add the records (idk why).
                • It seems devices caches NAME_NOT_RELOVED so if it failed it will be cached as such for at least a few minutes.