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!

Meow.tar.gz
link
fedilink
11Y

Right now the internal DNS I use has a TLD of .lan but that’s pretty much for my personal convenience. I access my websites by their FQDN internally with no issue. So I am not sure what your tring to achieve. Mind elaborating?

operator
creator
link
fedilink
01Y

Of course! So in order to get maximum speed on your services, you wanna use a direct internal route when you’re inside your net. My understanding is, that when using an external cloud VPS with a proxy, local clients go through unnecessary routing…

Local request --out--> external VPS (proxy) --request data from internal--> receive data on external proxy --send back--> local client

So what I am saying, all requests are unnecessarily routed through the external VPS. So one would have to create an exact duplicate reverse proxy internally to avoid leaving the net. When accessing domain.com, the internal DNS returns the local proxy IP, when outside you receive the cloud VPS IP.

Or am I missing something?

Thank you for taking the time!

Meow.tar.gz
link
fedilink
01Y

I just decided to go ahead and implement split-brain DNS this evening and it works perfectly. What are you using for your internal DNS server? If it is Unbound, the one that I am using, I can share my config with you. After implementing this, the speed of my services when being accessed from my internal network sped up by an order of magnitude. I shoulda done this earlier. 😆

operator
creator
link
fedilink
01Y

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
link
fedilink
11Y

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

operator
creator
link
fedilink
21Y

Appreciate it!

Meow.tar.gz
link
fedilink
11Y

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
creator
link
fedilink
11Y

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

Create a post

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!

  • 1 user online
  • 136 users / day
  • 427 users / week
  • 1.16K users / month
  • 3.85K users / 6 months
  • 1 subscriber
  • 3.68K Posts
  • 74.2K Comments
  • Modlog