A hands-on project focused on configuring and managing Linux network infrastructure using virtual machines. This project covers core networking concepts from IP addressing and routing to advanced services like firewalls, DHCP, and NAT.
- IP Addressing & Subnetting: Mastered calculating network addresses, netmasks, and host ranges using
ipcalc. - Static Routing: Configured manual and persistent static routes between multiple machines and subnets.
- Network Diagnostics: Utilized tools like
ping,traceroute,tcpdump,nmap, andiperf3for connectivity testing and performance measurement. - Firewall Management: Implemented packet filtering and security policies using
iptablesto control traffic and secure services. - Dynamic Host Configuration (DHCP): Set up and configured an
isc-dhcp-serverfor automatic IP address assignment, both dynamic and MAC-based. - Network Address Translation (NAT): Configured SNAT (for outbound traffic masquerading) and DNAT (for port forwarding) to enable access to internal services from external networks.
- SSH Tunneling: Established both Local and Remote TCP forwarding to securely access services behind firewalls.
The project is divided into logical parts, each building upon the previous one:
- Part 1: IP address and subnet mask calculations with
ipcalc. - Part 2: Static routing between two hosts.
- Part 3: Network bandwidth testing with
iperf3. - Part 4: Implementing a network firewall with
iptablesand host discovery withnmap. - Part 5: Building a multi-subnet network with static routing and IP forwarding.
- Part 6: Automating IP configuration using a DHCP server.
- Part 7: Configuring NAT (SNAT & DNAT) for network access and service publishing.
- Part 8 (Bonus): Securely accessing services through SSH tunnels.
This project demonstrates a systematic understanding of building, securing, and troubleshooting a complex Linux network environment.