Diy Home server and NAS

Hi Guys,

This is my first post here, been lurking for a bit and decided to make a post.

So my question lies in recommendations for a home server and NAS. I want to learn a bit about enterprise and networking, so it’s a bit ambitious for a first project. I basically want to build a home server out of an old server off ebay or some local recycling. This server will, to start, run a couple game servers (Never two at the same time), a NAS, and maybe a couple of isolated windows VM’s for messing around with things I don’t know what I’m doing in. Later down the line I would like to run an authentication server and possibly a PFsense VM, though I think that might end up on another machine to keep my data off the edge of my network (I read about it somewhere else).

My main questions are:
1.What OS would you recommend? I was thinking Proxmox, but I don’t know if it fits my needs perfectly. If you have a better idea I’m all ears.
2.Would you recommend a FreeNas VM or should I try ZoL just in the OS?
3.Is is possible (Using the Auth server) to limit certain users access to data? This might be more relevant in answering question 2.
4. How should I go about accessing this remotely? I’m assuming this is more of a networking issue and that I just need to do more reading but if anyone could shed more light on this, even linking reading, would be helpful.
5. Is there anything I’m missing?

I am also just delving into this stuff, but it is my understanding that if you want to virtualize a NAS you should probably pass through an HBA so the drives do not have an abstraction layer between them and the VM.

1 Like

Welcome to the forum!

For your use case either proxmox or Unraid. Unraid may be easier for new users as it is less unfriendly with naming conventions, but you pay for the privilege.

If you are already running proxmox or Unraid these can handle basic NAS duties. As a rule putting freenas into a VM is non trivial as you need to pass through the dedicated HBA for the drives so that it can see them “bare metal”. This is “advanced stuff” and can be frustrating if you just want to get going. Generally avoid zfs if it is not on the host OS. Proxmox can do zfs from the host and then you just pass logical volumes through to the VM. This is better.

Yes. All NAS tools for these solutions come with identity and access management capability. Note you are likely to be setting up an SMB share … You can just do the access control there or so more complex things like allocating space to each account. Just be careful you don’t accidentally create yourself a second career as a sysadmin, it leads to coffee addiction and lack of sleep.

Depends what you mean by access. For administration there will be a web console. For the NAS shares there will be SMB connections. For the VMs you can use remote desktop or VNC. For command line access you can use ssh. If you want to create a cloud access to your data you can install a NextCloud container. Or setup a webserver… Basically “yay computing”

This sounds like a quote from me or one of the other salty sysadmins on here. Be prepared for a flamewar in the replies but generally speaking keep your data separate from your test setup or Dev server and if you want to build a firewall, build a dedicated firewall that is not load sharing with your precious cat pictures.

Yep. 2 things.

  1. Enjoy yourself, this is a fun project. You will make mistakes. Don’t worry about nuking it from orbit and starting over. I’d suggest getting a $50 pc from eBay to practice on before sinking real money into enterprise hardware.

  2. Backup. Backup your backups. Copy your backups and backup those backups some more.

2 Likes

From the sound of it, you’re not planning anything too heavy, so I’d maybe get like an older Dell Precision or HP Z series workstation with something like a Xeon E3 CPU. You can upgrade should you grow out of it.

If you have a cool room to keep them in and noise is no problem, old servers are even cheaper, but boy there are noisy.

So one of the things I recently did on my edge router was setup the L2TP VPN and a dynamic dns entry with Namecheap. Assuming your router supports that (and if it doesn’t, time to flash dd-wrt or something) then that handles remote access fairly well. That way you only really need to expose I think 3 or 4 ports to the outside world. Otherwise you’ll be opening every port needed for every service you intend to use.

Answering this more as how I have done it in my scenario. It works well for me, but you may find other options suit you better.

  1. Ubuntu LTS. I’m on 18.04 but will be upgrading after 20.04.1 is out later this year.
  2. ZoL for sure. You’ll want to install the upstream PPA (or similar for non-Ubuntu) so that you don’t have to wait 2+ years for the next LTS release to get the newer ZoL features.
  3. Yep. You need to read up on Linux permissions.
  4. Tailscale is great. They make Wireguard VPN easy and you authenticate with your Google or other cloud identity where you can enforce strong 2FA requirements with a security key.
  5. It’s going to take time. It won’t work exactly as you want on the first attempt. But you’ll iterate and make it better. I cannot recommend learning Ansible enough to automate your configuration steps and moving your application workloads into containers. These are both desirable skills to employers.
1 Like

This topic was automatically closed 273 days after the last reply. New replies are no longer allowed.