CCNA Lab Setup
Tools and configuration for CCNA 200-301 hands-on practice. All running on Arch Linux (Hyprland/Wayland).
Installed Tools
| Tool | Version | Purpose | Launch Command |
|---|---|---|---|
| Cisco Packet Tracer | 9.0.0 | Cisco IOS simulator -- covers 100% of CCNA exam topics | packettracer |
| GNS3 | 3.0.6 | Network emulator -- runs real Cisco IOS images | gns3 |
Packet Tracer
Installation (Arch Linux)
Packet Tracer is not in the official repos. Installed via AUR using the official .deb from Cisco.
# 1. Download the .deb from https://skillsforall.com/resources/lab-downloads
# (free account required)
# File: CiscoPacketTracer_900_Ubuntu_64bit.deb
# 2. Clone the AUR package
git clone https://aur.archlinux.org/packettracer.git
cd packettracer
# 3. Copy the .deb into the build directory
cp ~/Downloads/CiscoPacketTracer_900_Ubuntu_64bit.deb .
# 4. Build and install
makepkg -si
# 5. The AUR package doesn't create a PATH symlink -- fix it:
sudo ln -sf /usr/lib/packettracer/packettracer.AppImage /usr/bin/packettracerRunning on Wayland (Hyprland)
Packet Tracer uses Qt and may crash on native Wayland. Force XWayland:
QT_QPA_PLATFORM=xcb packettracerTo make this permanent, create an alias:
# Add to ~/.bashrc or ~/.zshrc
alias packettracer='QT_QPA_PLATFORM=xcb packettracer'Files
- Binary:
/usr/lib/packettracer/packettracer.AppImage - Symlink:
/usr/bin/packettracer
What It Covers
Every CCNA 200-301 exam topic:
- VLANs, trunking, STP, EtherChannel, port security
- Static routing, OSPF, inter-VLAN routing
- NAT/PAT, ACLs, DHCP
- IPv6, NTP, Syslog, SNMP
- Basic wireless (WLC, LAP)
- Network automation concepts
- Built-in labs and activities with auto-grading
GNS3
Installation (Arch Linux)
yay -S gns3-server gns3-guiDependencies
- Docker: Required for container-based nodes. Already installed.
- dynamips: Cisco router emulation (installed as GNS3 dependency).
- ubridge: Network bridging (installed as GNS3 dependency).
Running
gns3GNS3 runs both the client (GUI) and server (emulation) locally. No VM needed on Linux.
Cisco IOL Images (Required for Cisco IOS in GNS3)
GNS3 is an empty emulator -- it needs Cisco IOS image files to run Cisco devices.
Images needed:
| Image | File | Purpose |
|---|---|---|
| L3 (router) | i86bi-linux-l3-adventerprisek9-15.4.1T.bin | Router emulation -- OSPF, NAT, ACLs, static routing |
| L2 (switch) | i86bi-linux-l2-adventerprisek9-15.1a.bin | Switch emulation -- VLANs, STP, trunking, port security |
| License | IOURC.txt | IOL license key file (required for images to boot) |
Source: github.com/hegdepavankumar/Cisco-Images-for-GNS3-and-EVE-NG
Setup steps:
# 1. Download the L2, L3 .bin files and IOURC.txt from the repo above
# 2. Create a directory for images
mkdir -p ~/GNS3/images/IOU
# 3. Move images there
mv i86bi-linux-l3-adventerprisek9-15.4.1T.bin ~/GNS3/images/IOU/
mv i86bi-linux-l2-adventerprisek9-15.1a.bin ~/GNS3/images/IOU/
# 4. Make them executable (IOL requires this)
chmod +x ~/GNS3/images/IOU/*.bin
# 5. Place the license file
cp IOURC.txt ~/.iourc
# 6. In GNS3 GUI:
# Edit > Preferences > IOS on UNIX (IOU Devices)
# Click "New" > Browse to the .bin file
# Set RAM to 256 MB (or 128 MB for lighter use)
# Repeat for both L2 and L3 imagesResource Usage
| Devices | Image Type | RAM Used |
|---|---|---|
| 1 IOL router | ~128 MB | Light |
| 1 IOL switch | ~128 MB | Light |
| Full CCNA topology (3R + 3SW + 5 hosts) | ~1.1 GB | Comfortable on 14 GB system |
CCNA Topology Example
[R1] ---serial--- [R2] ---serial--- [R3]
| | |
[SW1] [SW2] [SW3]
| | |
[PC1] [PC2] [PC3]Covers: static routing, OSPF, serial WAN links, VLANs, trunking, STP, EtherChannel, port security, inter-VLAN routing, NAT, ACLs, DHCP, NTP.
Lab Files
Lab topology files and saved configs are stored outside of docs (not published to VitePress):
networking/
├── labs/
│ ├── packet-tracer/ # .pkt files (Packet Tracer topologies)
│ └── gns3/ # GNS3 project exports
└── docs/
└── ccna/
└── lab-setup.md # This file (documentation)Which Tool for What
| Task | Use |
|---|---|
| First time learning a CCNA topic | Packet Tracer (built-in guided labs) |
| Drilling Cisco CLI commands | Packet Tracer (fast, lightweight) |
| Real IOS behavior / edge cases | GNS3 with IOL images |
| Large topologies (10+ devices) | GNS3 |
| Network automation (Ansible, REST) | GNS3 + Docker containers |
| Quick concept testing | Packet Tracer |
Troubleshooting
Packet Tracer won't launch
# Force XWayland mode
QT_QPA_PLATFORM=xcb packettracerGNS3 IOL image won't boot
- Check the license file exists at
~/.iourc - Check the image is executable:
chmod +x ~/GNS3/images/IOU/*.bin - Check the image path in GNS3 preferences matches the actual file location
GNS3 "ubridge not found"
yay -S ubridgeGNS3 high CPU usage
- Set idle-PC values: Right-click a running router > Idle-PC Finder > Apply the suggested value
- This is only needed for Dynamips images, not IOL