I thought TrueNAS would be a good solution for some of the labs and practice environments I wanted to use, but as it turns out the interface for working with VM’s is atrocious. It seemed that whenever I would not interact for 15 seconds or so I would lose control of the VM. To say this least this was mildly frustrating, so after some more research it looked like Proxmox was the better solution for what I was looking for.
Useful Links
Video walkthrough for Cloudflare -> Proxmox tunnel Setup- Proxmox Web Interface on the Web
Proxmox document- https://www.proxmox.com/en/proxmox-virtual-environment/get-started
Transfer domain to Cloudflare document- https://developers.cloudflare.com/registrar/get-started/transfer-domain-to-cloudflare/
LTS Ubuntu download- https://ubuntu.com/download/server
Proxmox Research
When I started my research I was really looking for the following key things:
- An interface with VM’s that was easy and reliable to use
- The ability to setup a secure connection to my home server to access from anywhere
- A way to link this connection through my domain( theoriginalit.com )
With these things in mind wouldn’t you know it Proxmox covers all of these! To be fair to TrueNAS enthusiasts I’m sure there may have been a way to figure this out and I figured I could always spin up a TrueNAS VM to utilize all of the sharing and ZFS features it offers if needed.
Proxmox to home lab setup
I’ve broken down all of the steps I had to take to get this fully functional. A few quick things to note that I found when researching this solution:
- Cloudflare could be utilized to setup a secure connection from their servers to a home lab server
- In order for a Cloudflare tunnel to be established your Domain and DNS servers MUST be hosted by Cloudflare
- I utilized this youtube video from virtualize everything channel that was very helpful in walking through basic setup: Proxmox Web Interface on the Web
Install and configure Proxmox
- Utilizing the Proxmox documentation this is a pretty straightforward process. Didn’t run into any issues of mention on this step( https://www.proxmox.com/en/proxmox-virtual-environment/get-started )
Transfer Domain to Cloudflare
- This involved a few steps to accomplish, but utilizing Cloudflare’s doc( https://developers.cloudflare.com/registrar/get-started/transfer-domain-to-cloudflare/ ) made this fairly easy
- At this point I had owned my domain and hadn’t made any changes for 90 days so I was able to request the transfer from my registrar(GoDaddy). The transfer was completed within an hour in my case
- Once the domain was in my Cloudflare account it was just a matter of configuring the DNS records within my Cloudflare account
Create Proxmox Container
- Login to your Proxmox server and click Create CT
- Select a container image that you’ve already uploaded to your Proxmox server( I used the most recent ubuntu 24 LTS )
- Pick all of the hardware options you will need( I kept everything as minimal as possible )
Prep Proxmox Container
- Login to newly created container and run the following to check for updates:
- Apt update && apt upgrade -y
- For extra security create a new super user account and disable root user
Create Proxmox tunnel to home lab server
- Login to Cloudflare, navigate to Zero Trust-> Networks-> Tunnels-> Create a Tunnel
- Tunnel Type- Cloudflared
- Name your tunnel- description for yourself…not a big deal
- Install and run connectors
- This will be dependent on what you have setup on your home lab server
- In my case this would be Debian 64-bit for my Ubuntu container that was created
- Back on the proxmox container in the console, type sudo apt install
- Copy/paste command for cloudflared if you don’t have it installed already(first time setup)
- Create the subdomain along with domain you want to attach it to( in my case it was proxmox.theoriginalit.com )
- Add the proxmox server link ( https://xxx.xxx.xxx.xxx:8006 where xxx is your proxmox ip address )
- Enable No TLS Verify if you don’t have a signed certificate
Create Application in Cloudflare
- Login to Cloudflare and navigate to Zero Trust-> Access-> Applications-> Add and application
- Select Self hosted and configure the below:
- Application name- description so you know what this is for…not a big deal
- Session duration- personal preference for how long you want to stay connected
- Application domain- *.theoriginalit.com
- Configure rules:
- Include: [[email protected]]
- This will send the MFA code to your email
That’s it! Assuming you configured everything correctly, you should now be able to connect to your proxmox server from any web browser remotely.
Closing Thoughts
Once this tunnel is setup it makes connecting to your home server a breeze. As far as vulnerabilities I’m sure there’s more secure measures you could put in place to layer security against your home network. All in all I’ve had a great experience connecting and using this tunnel to login remotely and experiment as needed. There are no limitations that I’ve noticed minus any accidental shutdowns that could happen.