This project is a hands-on network and security lab built in GNS3 using a Cisco router and two Ubuntu Linux Docker guests.
The objective was to build a small routed network, provide Internet access through NAT, configure Linux networking, expose an SSH service, perform service discovery with Nmap, establish remote SSH access, and investigate the resulting authentication logs.
This project demonstrates practical skills relevant to Network Engineering, Linux Administration, and Entry-Level Cybersecurity/SOC roles.
Internet
|
GNS3 NAT
|
R1 β Cisco Router
Fa0/1: 192.168.42.172
Fa0/0: 192.168.10.1
|
ESW1
/ \
/ \
Guest-1 Guest-2
192.168.10.10 192.168.10.20
Ubuntu Ubuntu
SSH Server Nmap / SSH Client
- GNS3
- Cisco IOS
- Ubuntu 24.04 LTS
- Docker-based Ubuntu guests
- Nmap 7.94SVN
- OpenSSH 9.6p1
- rsyslog
- IPv4
- Cisco NAT
- Linux
ipnetworking tools
Device Interface IP Address Purpose
R1 FastEthernet0/0 192.168.10.1/24 LAN gateway
R1 FastEthernet0/1 192.168.42.172 WAN/Internet
Guest-1 eth0 192.168.10.10/24 Linux server
Guest-2 eth0 192.168.10.20/24 Client/security workstation
Default gateway for both Ubuntu guests:
192.168.10.1
Guest-1 was configured with:
ip addr add 192.168.10.10/24 dev eth0
ip link set eth0 up
ip route add default via 192.168.10.1Guest-2 was configured with:
ip addr add 192.168.10.20/24 dev eth0
ip link set eth0 up
ip route add default via 192.168.10.1The resulting routing table included:
default via 192.168.10.1 dev eth0
192.168.10.0/24 dev eth0 proto kernel scope link src 192.168.10.x
R1 was configured with the LAN interface:
FastEthernet0/0
IP: 192.168.10.1
The WAN interface received:
FastEthernet0/1
IP: 192.168.42.172
Method: DHCP
Both interfaces were brought up and verified with:
show ip interface brief
The LAN interface was configured as the NAT inside interface:
interface FastEthernet0/0
ip nat inside
The WAN interface was configured as the NAT outside interface:
interface FastEthernet0/1
ip nat outside
NAT statistics were then used to verify translated traffic.
Connectivity was tested progressively instead of assuming the network was working.
From Guest-1:
ping -c 4 192.168.10.1The gateway responded successfully.
From Guest-1:
ping -c 4 8.8.8.8The host successfully reached the Internet.
Initially, DNS failed because /etc/resolv.conf did not contain a
nameserver.
A DNS resolver was added:
echo "nameserver 8.8.8.8" > /etc/resolv.confAfter this, the following worked:
ping -c 4 google.comThis demonstrated an important troubleshooting distinction:
- IP connectivity can work while
- DNS resolution is still broken.
The problem was isolated by testing an IP address first and then a hostname.
Guest-2 was used to scan Guest-1.
Initial service discovery:
nmap -sV 192.168.10.10After SSH was installed and started, Nmap identified:
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 9.6p1 Ubuntu
A targeted scan was also performed:
nmap -sV -p 22,80,443 192.168.10.10Result:
22/tcp open ssh
80/tcp closed http
443/tcp closed https
The scan demonstrates the ability to:
- Identify whether a host is reachable.
- Discover exposed TCP services.
- Determine which common web services are not exposed.
- Identify the SSH implementation and version.
- Use targeted scanning instead of blindly scanning every port.
Guest-1 initially contained the SSH client but did not have the SSH server installed.
After Internet connectivity was established:
apt update
apt install openssh-server -yThe SSH service was started:
service ssh startThe listening socket was verified:
ss -tulnpThe result showed SSH listening on:
0.0.0.0:22
[::]:22
The SSH configuration was syntax-checked before restarting the service:
sshd -t
service ssh restartGuest-2 connected to Guest-1 using:
ssh root@192.168.10.10The connection succeeded and provided a remote shell on Guest-1.
This demonstrated:
- Network reachability
- TCP/22 accessibility
- SSH service availability
- Password authentication
- Remote Linux administration
The Ubuntu guest initially did not have an active authentication log available.
rsyslog was installed and manually started in the minimal environment.
The default configuration contained:
auth,authpriv.* /var/log/auth.log
After a successful SSH login, /var/log/auth.log contained an
authentication event similar to:
Accepted password for root from 192.168.10.20
This provided evidence that the SSH connection from Guest-2 was successfully authenticated and recorded.
The project demonstrates a basic security-event chain:
Guest-2
192.168.10.20
|
| SSH connection
v
Guest-1
192.168.10.10
|
| Authentication
v
Successful login
|
v
/var/log/auth.log
From a SOC/security perspective, this provides an introduction to:
- Network reconnaissance
- Service enumeration
- Exposed-service identification
- Remote authentication
- Authentication logging
- Basic security-event investigation
During the lab, several real configuration problems were encountered and resolved:
The Ubuntu guest initially had no usable route.
Resolution:
ip route add default via 192.168.10.1R1 interfaces were initially administratively down.
Resolution:
The appropriate interfaces were configured and enabled.
The GNS3 NAT connection was added to provide WAN access.
R1 subsequently obtained:
192.168.42.172
and successfully reached:
8.8.8.8
/etc/resolv.conf was empty.
Resolution:
echo "nameserver 8.8.8.8" > /etc/resolv.confOnly openssh-client was initially installed.
Resolution:
apt install openssh-server -y
service ssh startThe minimal Ubuntu environment did not initially have active rsyslog logging.
Resolution:
rsyslog was installed/configured and started manually, after which SSH
authentication events appeared in /var/log/auth.log.
The project includes screenshots demonstrating:
- GNS3 topology
- R1 interface configuration
- Guest-1 network configuration
- Internet connectivity
- DNS resolution
- Nmap service discovery
- SSH remote login
- SSH authentication logging
- NAT operation
Screenshots should be stored in the project's screenshots/ directory.
Recommended naming:
screenshots/
βββ 01-gns3-topology.png
βββ 02-r1-interface-status.png
βββ 03-guest1-network.png
βββ 04-internet-and-dns.png
βββ 05-nmap-service-discovery.png
βββ 06-ssh-login.png
βββ 07-authentication-log.png
βββ 08-nat-evidence.png
- IPv4 addressing
- Subnetting
- Default gateways
- Routing
- Cisco IOS
- Interface configuration
- NAT
- WAN/LAN configuration
- DNS troubleshooting
- Ubuntu administration
ipnetworking commands- Routing-table inspection
- Package management
- SSH server configuration
- Service management
- Socket inspection with
ss - Process inspection
- System logging
- Network reconnaissance
- Port scanning
- Service/version enumeration
- SSH security
- Authentication testing
- Authentication-log analysis
- Basic security-event investigation
The completed lab successfully demonstrated end-to-end communication between two Ubuntu hosts through a Cisco router.
Guest-1 was able to:
- Reach the LAN gateway
- Reach the Internet
- Resolve DNS names
- Run an SSH server
Guest-2 was able to:
- Reach Guest-1
- Discover the SSH service using Nmap
- Confirm that HTTP/HTTPS were closed
- Connect to Guest-1 through SSH
The successful SSH authentication was subsequently visible in the Linux authentication log.
The main lesson from this project was to troubleshoot systematically rather than simply execute commands.
The troubleshooting process followed a practical sequence:
Interface
β
IP Address
β
Routing
β
Gateway Connectivity
β
Internet Connectivity
β
DNS
β
Service Availability
β
Service Enumeration
β
Authentication
β
Log Analysis
This approach connects networking fundamentals with practical security operations.
Possible extensions to this lab include:
- Create a dedicated non-root SSH user.
- Replace root/password authentication with SSH keys.
- Add firewall rules using UFW.
- Add a web server and analyze HTTP traffic.
- Add Wazuh/SIEM monitoring.
- Generate failed SSH authentication events.
- Investigate and correlate authentication logs.
- Add another network segment/VLAN.
- Add a second router and practice routing protocols.
- Perform controlled vulnerability assessment against intentionally vulnerable lab systems.
Status: Completed --- Version 1
Focus: Network Engineering + Linux Administration + Cybersecurity Fundamentals
Environment: GNS3 / Cisco IOS / Ubuntu Linux