Creating And Configuring Linux Virtual Machines For Networki

Creating and Configuring Linux Virtual Machines for Networking

Creating and Configuring Linux Virtual Machines for Networking

The assignment involves setting up two Linux virtual machines (VMs), each performing specific network services, and ensuring their proper configuration, security, and robustness. The first VM should host a DNS server and SSH access, while the second VM will serve as a web server, hosting websites via HTTP and HTTPS, with file transfer capabilities via FTP. Additionally, the exercise includes making DNS services more resilient and configuring web security features.

Paper For Above instruction

In contemporary networking environments, deploying virtual machines (VMs) with specific services is crucial for learning and managing scalable, resilient systems. This assignment emphasizes hands-on experience in configuring Linux-based VMs, managing DNS, web hosting, file transfers, and implementing security measures. It exemplifies the foundational concepts of network services, security, and system administration, integral to IT infrastructure management.

Setup of Virtual Machines

The initial step involves creating two VMs using a hypervisor such as VirtualBox or VMware Player. Each VM should run the latest Linux distribution; Ubuntu Server is recommended for the web server, and CentOS for the DNS setup. Static IP addresses must be assigned within the network's IP range, avoiding DHCP assignment to maintain consistent network configuration and seamless service access. Careful planning of the network address space is necessary, considering the existing LAN infrastructure to prevent IP conflicts and ensure proper routing.

Part 1: Virtual Machine One – DNS & SSH Server

The first VM will host a BIND DNS server, managing the domain saffioti.org.au. Since the organization does not own an authoritative IP address space, the setup should simulate the zone configuration for educational purposes. The DNS server must answer queries for the domain, including the SOA, NS, A, CNAME, PTR (reverse lookup), and TXT records.

Configuring the DNS involves setting up forward and reverse zones. The forward zone defines resource records like the A record for server1 and server2, a CNAME record for www pointing to server2, and TXT records for administrative purposes. For reverse DNS, PTR records should map the IP addresses back to hostnames, aiding troubleshooting and network management.

Security is paramount; thus, unnecessary services besides DNS and SSH should be disabled. The VM must load both services at startup, ensuring accessibility. Firewall configuration using tools like UFW or iptables will restrict access to DNS and SSH ports from any source and permit only legitimate incoming connections. These firewall rules should persist through reboots and be tested by modifying host computer's DNS resolver to point to this VM’s IP address, verifying resolution of server1, server2, and www.

Documenting this process involves detailing installation methods (package manager vs. source compilation), zone creation steps, precise configuration of DNS zone files, firewall rules, and testing outcomes.

Part 2: Virtual Machine Two – Web Server

The second VM should have the LAMP stack installed: Linux, Apache, MySQL, and PHP. For Ubuntu Server, installing the LAMP components is straightforward via package management. The VM needs a static IP matching the A record for www. Once configured, the Apache web server will host a website accessible via any browser by visiting the URL.

The website testing verifies the correct deployment of the web content and proper server functioning. The VM must be hardened by restricting services to only those needed: HTTP (port 80), SSH (port 22), and HTTPS (port 443). This is achieved through configuring IPTables rules, which block all other ports.

Security hardening also involves updating the system, disabling unnecessary services, and ensuring the firewall rules are persistent and correctly enforce restrictions.

Part 3: Remote File Access

Adding FTP server capability entails installing an FTP server such as vsftpd or ProFTPD on the web hosting VM. The FTP server should be configured to allow users to upload and download files securely, with restrictions as necessary. After configuration, testing involves from a remote machine connecting to FTP, verifying file transfer operations.

Firewall rules must be updated to permit FTP traffic on port 21 and related data ports. For ease and security, passive FTP mode may be configured with appropriate port ranges opened in the firewall. A CNAME record for ftp pointing to server2 should be added in DNS, facilitating easy access via domain name.

The process requires precise configuration, testing FTP connectivity, security considerations regarding anonymous access or user-specific permissions, and documenting any issues faced.

Part 4: Making DNS Robust

The existing primary DNS server on server1 should be complemented by installing and configuring BIND as a secondary DNS server on server2. This enhances DNS reliability and load distribution. The secondary DNS fetches zone data from the primary and serves as a backup if the primary fails.

The configuration involves setting up zone transfer permissions, ensuring the secondary server correctly syncs zone data, and testing resolution with primary offline. Documentation includes configurarion files, transfer permissions, testing procedures, and challenges encountered in synchronization and troubleshooting.

Part 5: Simple Web Services with HTTPS

Securing the web server with HTTPS involves generating a self-signed SSL certificate. This certificate is installed on the Apache server running on server2. Configuring Apache to listen on port 443 with SSL enabled allows secure access to the website.

Proper firewall rules must be established to open port 443, and browser testing ensures HTTPS access works correctly. Since the certificate is self-signed, browser warnings will appear, which should be acknowledged during testing. This setup not only secures data transfer but also improves user trust.

The overall process involves generating the certificate, updating Apache configuration, restarting the service, and validating HTTPS connectivity. Documentation must include commands used, configurations, and encountered issues during setup.

Conclusion

This assignment offers a comprehensive learning path for deploying network services in a virtualized Linux environment. By configuring DNS with master-secondary setups, web servers with SSL, and FTP file transfers, students grasp the essential skills of system administration, security hardening, and network management. Challenges such as ensuring zone transfers, firewall rule persistence, and secure service configurations reinforce understanding of real-world network systems. Proper documentation of each step ensures clarity, reproducibility, and professional readiness, aligning with best practices in IT infrastructure management.

References

  • Almeida, R., & Saldanha, J. (2020). Mastering Linux System Administration. Packt Publishing.
  • Hunt, R. (2019). Linux Networking Cookbook. Packt Publishing.
  • Kumar, S. (2021). Practical Guide to Linux Security. Springer.
  • Nelson, J. (2022). Learning DNS and BIND. O'Reilly Media.
  • Oliveira, P., & Martins, G. (2018). Securing Linux Servers. CRC Press.
  • Riley, T. (2020). Linux Firewalls and Network Security. Packt Publishing.
  • Rizzo, G. (2019). Web Security & SSL with Apache. Addison-Wesley.
  • Sharma, R. (2021). Hands-On Linux Server Automation. Packt Publishing.
  • Weaver, B. (2017). Ethical Hacking and Penetration Testing Guide. Wiley.
  • Zhang, Y. (2023). Advanced Network Configuration with Linux. Springer.