File Server – Part 1 Some Basics

Published on October 21, 2021 at 8:27 am by LEW

Introduction

In this series of posts I am going to discuss the lowly file server. A basic file server is one of the easiest and most useful types of servers that you can add to your home LAN. The basic file server provides only one service. It allows clients to store, retrieve, and share files from a common storage area. The first server I ever built was a basic file server.

Types of File Storage

You will find a lot of popular acronyms for the file storage. Popular acronyms are NAS (Network Attached Storage), DAS (Direct Attached Storage), and SAN (Storage Area network).

DAS is attaching external storage to your computer, the most common being external hard drives. To share data, you simply unmounted/unplug the drive form one device and plug it into another device. This is usually done via USB. A further requirement is the device understand the file system of the DAS. The most universal File system is FAT32, though it does have some limits if you are working with really large files.

SAN is not really practical for the home LAN. It is basically raw storage (block level). It assumes all file translation and usage requirements will be handled by the client computer.

NAS is what the server we will discuss is. It stores and provides files at the file level, rather than just raw data.

File Sharing Protocols

FTP (File Transfer Protocol) is a basic client/Server file transfer protocol. It is one of the oldest methods for moving files between computers, with the original version developed back in 1971. It was a kinder gentler world back in the day, and basic FTP did not have any security features. It is still quite usable on your LAN, and does not have a lot of overhead. Just be aware that data is not encrypted and can be monitored.

SFTP (SSH File Transfer Protocol) provides a similar interface to FTP. However it uses end to end encryption, making it much more secure.

SMB (Secure message Block) is a communications protocol that provides secure shared access to files across a network, along with authentication. This is the default sharing protocol for Microsoft Windows computers, originally Microsoft Windows Network, then latter Active Directory. For Linux/Unix/Mac OS X, SMB is achieved by a program called Samba, released in 1992.

There are several other protocols that we could use (WebDav, NFS, uTp, As2, etc). However for our simple file server, running on our local LAN, we will focus on FTP, SFTP and SMB.

The Quick and Dirty File Server

The fastest way to get a file server up and running is to use Windows. Set up a computer with a Windows Operating System and turn on file sharing. This will work if your needs are minimal, and most people are likely to have some type Windows license lying around the house from old computers.

Running a Windows file server on your LAN, without internet access should be fairly safe. If you want to access your files remotely from a standard internet account with dynamic IP addresses, that is a different discussion about DDNS.

You can also set up remote access to run your server headless (no mouse, keyboard or display).

There is a down side to this simple solution.

I have not really discussed how to setup the current version of Windows for file sharing. I have not run a windows based server since Windows NT 4.0, so I am not conversant with the specific process on the current version.

Another Option

In the rest of this series of postsΒ  we will discuss setting up a Debian Linux based file server that will use SMB and SFTP, and will run unattended on minimal hardware.

Conclusion

This has been a brief introduction/overview of the simple file server. We have discussed general functionality and protocol. In the next post, we will look at a specific software and discuss hardware requirements. I will be doing this build in a virtual environment, so will touch on that also.

File Server Part 1 Some Basics

File Server Part 2 Design

File Server Part 3 FTP

File Server Part 4 SAMBA

 

Add New Comment

Your email address will not be published. Required fields are marked *