Hello Selfhosted!

So I have an interesting issue. I have a docker host, and that host i have a Caddy container. I have that setup to handle reverse proxying. I have it setup to be local only. I have a pihole and a wireguard server. And can connect to my network successfully.

The part that confuses me is that while on network everything works great. While on VPN I can connect to services by IP:Port. If I use mobile data with VPN, I can’t use the site addresses. x.domain.xxx (for privacy sake I’m leaving my domain out of the post.) But when I connect to WiFi, any WiFi, and connect to VPN I can go to the address I have setup for reverse proxying.

I am unsure how to troubleshoot this. Any pointers would be appreciated.

  • originalucifer@moist.catsweat.com
    link
    fedilink
    arrow-up
    12
    arrow-down
    1
    ·
    17 hours ago

    smells like the mobile data isnt honoring the split tunnel dns comin from the vpn. the mobile provider is doin some funny business with your dns on that device

  • tychosmoose@lemm.ee
    link
    fedilink
    English
    arrow-up
    4
    ·
    15 hours ago

    You might want to do a DNS leak test from your phone with the wireguard connection down and then with it up to make sure you’re tunneling DNS. This will be clearer if you set pihole to use something upstream that an ISP is unlikely to use - quad9 for example.

    • Hellmo_luciferrari@lemm.eeOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      15 hours ago

      DNS leak test comes back the same mobile data with VPN as it does WiFi with VPN pointing back to DNS reflecting my upstream DNS, Quad9.

    • Hellmo_luciferrari@lemm.eeOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      18 hours ago

      I have DNS handled by my PiHole (using unbound as-can upstream DNS)

      On my PiHole, I have an A record for the docker box, and then CNAME records pointing to the A name record.


      It makes little sense why it works on an offsite WiFi, but not mobile data.

      • sylver_dragon@lemmy.world
        link
        fedilink
        English
        arrow-up
        3
        ·
        17 hours ago

        It makes little sense why it works on an offsite WiFi, but not mobile data.

        I’d agree with unbuckled above, it’s a DNS issue. If your mobile device is capable, use nslookup or dig to see what responses you are getting in different scenarios. It’s possible that your VPN software is leaking DNS queries out to the mobile data provider’s DNS servers while you are on mobile data and only using the correct DNS settings when you are on wifi. Possibly look for split tunnel settings in the VPN software, as this can create this type of situation.

        You can also confirm this from the pihole side. Connect to the VPN via mobile data and browse to some website you don’t use often, but is not your own internal stuff. Then open the query log on your pihole and see if that domain shows up. I’d put money on that query not showing in the pihole query log.

        • Hellmo_luciferrari@lemm.eeOP
          link
          fedilink
          English
          arrow-up
          1
          ·
          14 hours ago

          I turned on query logging for my PiHole. I chose a random site I don’t typically browse, and confirmed I saw it logged in my PiHole. Though, I am thinking it’s likely DNS that’s causing issues.

          I even tried turning off split tunneling, and it does the same thing.

          I checked automatic DNS setting on my phone.


          I don’t know if it will make a difference but the DNS records for my local services are CNAME records, so I am going to change it to an A/AAAA record on PiHole.

          I have these set in PiHole and not my Unbound.

          • BCsven@lemmy.ca
            link
            fedilink
            English
            arrow-up
            2
            ·
            16 hours ago

            I don’t have a lot of networking skill here, but could it be your WiFi connections (anywhere) are IPv4 and on mobile it forces IPv6, thus why you can connect via IP:port? Typically your wireguard host machine has IP forwarding/masquarading setup so you can reach your home LAN. Could this be an issue through the router / proxy?

              • BCsven@lemmy.ca
                link
                fedilink
                English
                arrow-up
                2
                ·
                12 hours ago

                It may not even be the issue, I’m just spitballing, and it maybe DNS issues like others mentioned or cell provider blocking some aspect. As you probably know Wireguard can be set for all traffic to route through the tunnel, or some outside of it. Maybe cell network is not routing DNS through the tunnel, but using its own, or maybe they used a cached Domain name lookup that doesn’t have your domain IP. Again, networking/DNS etc is my blind spot. I.e. I have setup openmedia vault on a 256MB RAM arm board to serve my music and SMB shares, but I don’t understand reverse proxy LOL.

                • Hellmo_luciferrari@lemm.eeOP
                  link
                  fedilink
                  English
                  arrow-up
                  2
                  ·
                  11 hours ago

                  So, I of course rebooted everything i could, the box hosting my DNS/PiHole, VPN, docker box, etc. However, was remote and couldn’t reboot my modem.

                  I lowered my MTU on my VPN client config after rebooting my modem, and it’s working.

                  I don’t fully understand why it worked, but it did.

                  Maybe something on my ISPs end that wasn’t functioning.