So everyone is talking about cloudflare tunnels and I decided to give it a shot.

However, I find the learning curve quite hard and would really appreciate a short introduction into how they work and how do I set them up…

In my current infrastructure I am running a reverse proxy with SSL and Authentik, but nothing is exposed outside. I access my network via a VPN but would like to try out and consider CF. Might be easier for the family.

How does authentication work? Is it really a secure way to expose internal services?

Thanks!

  • operator@kbin.socialOP
    link
    fedilink
    arrow-up
    1
    ·
    1 year ago

    That be amazing! I am currently not using anything (took down my homelab a while back) and planning on completely starting over fresh now.

    I am most likely going with unbound! So if you could, that be great!

    • Meow.tar.gz@lemmy.goblackcat.com
      link
      fedilink
      arrow-up
      2
      ·
      1 year ago

      Here is a sample configuration that should work for you:

      server:
              interface: 127.0.0.1
              interface: 192.168.1.1
              do-udp: yes
              do-tcp: yes
              do-not-query-localhost: no
              verbosity: 1
              log-queries: yes
      
              access-control: 0.0.0.0/0 refuse
              access-control-view: 127.0.0.0/8 example
              access-control-view: 192.168.1.0/24 example
      
              hide-identity: yes
              hide-version: yes
              tcp-upstream: yes
      
      remote-control:
              control-enable: yes
              control-interface: /var/run/unbound.sock
      
      view:
              name: "example"
              local-zone: "example.com." inform
              local-data: "example.com. IN A 192.168.1.2"
              local-data: "www IN CNAME example.com."
              local-data: "another.example.com. IN A 192.168.1.3"
      
      forward-zone:
              name: "."
              forward-addr: 8.8.8.8
              forward-addr: 8.8.4.4
      

      What makes the split-brain DNS work is if the request for resolution comes from the localhost or from inside your network, it will first go to the view section to see if there is any pertinent local data. So if you do a query from your home network, on say, example.com, it will return your internal IP address which in this case is 192.168.1.2

        • Meow.tar.gz@lemmy.goblackcat.com
          link
          fedilink
          arrow-up
          1
          ·
          1 year ago

          Sure! Let me know how it goes. If you need to do something more complex for internal DNS records for more than just A records, then look at the unbound.conf man page for stub zones. If you need something even more flexible than stub zones, you can use Unbound as a full authoritative DNS server with auth-zones. As far as I know auth-zones can even do zone transfers AXFR style which is cool!

          • operator@kbin.socialOP
            link
            fedilink
            arrow-up
            1
            ·
            1 year ago

            That’s becoming interesting once I’m setting up a slaves for failover & local proximity ^^ looking forward to deep diving into it