FTP Network Lab

Virtual network with VirtualBox, Windows Server 2019, IIS and FileZilla · Networking
VirtualBox
Windows Server 2019
IIS
FileZilla Server
FTP/FTPS
Active Directory
The goal was to design and implement a virtualised local network with a working FTP server, simulating a real corporate environment. The system had to allow secure file transfer between virtual machines with per-user access control and per-directory permissions. The main constraint was to implement it exclusively with Windows Server tools, with no additional third-party software beyond FileZilla as the FTP client for testing.

Network topology design

Configuring VirtualBox with two VMs: server (Windows Server 2019) and client (Windows 10). Internal network with a host-only adapter to isolate the environment, and static IP assignment.

Windows Server 2019 installation and configuration

Installing the server operating system, configuring the network and enabling the required roles through Server Manager: Web Server (IIS) and FTP Server.

FTP service configuration in IIS

Creating the FTP site in IIS Manager, binding it to port 21, configuring the root directory, enabling SSL/TLS for FTPS and configuring the Windows firewall to allow FTP traffic.

User and permission management

Creating local users in Windows Server and assigning read/write permissions per directory through IIS Authorization Rules. Configuring per-user virtual directories with session isolation.

Testing with FileZilla

Verifying FTP and FTPS connections from the client VM using FileZilla. Testing upload, download, directory creation and confirming that per-user permissions work correctly.
Configuring an FTP server from scratch on Windows Server gave me a real understanding of how file transfer protocols work at the infrastructure level — something cloud services abstract away completely. Understanding the difference between FTP, FTPS and SFTP, and why unencrypted FTP is unacceptable in production, was a key security lesson. It was also my first serious experience with network virtualisation, an essential foundation for any IT or DevOps role.