Skip to content

CCNA Lab Setup

Tools and configuration for CCNA 200-301 hands-on practice. All running on Arch Linux (Hyprland/Wayland).


Installed Tools

ToolVersionPurposeLaunch Command
Cisco Packet Tracer9.0.0Cisco IOS simulator -- covers 100% of CCNA exam topicspackettracer
GNS33.0.6Network emulator -- runs real Cisco IOS imagesgns3

Packet Tracer

Installation (Arch Linux)

Packet Tracer is not in the official repos. Installed via AUR using the official .deb from Cisco.

bash
# 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/packettracer

Running on Wayland (Hyprland)

Packet Tracer uses Qt and may crash on native Wayland. Force XWayland:

bash
QT_QPA_PLATFORM=xcb packettracer

To make this permanent, create an alias:

bash
# 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)

bash
yay -S gns3-server gns3-gui

Dependencies

  • Docker: Required for container-based nodes. Already installed.
  • dynamips: Cisco router emulation (installed as GNS3 dependency).
  • ubridge: Network bridging (installed as GNS3 dependency).

Running

bash
gns3

GNS3 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:

ImageFilePurpose
L3 (router)i86bi-linux-l3-adventerprisek9-15.4.1T.binRouter emulation -- OSPF, NAT, ACLs, static routing
L2 (switch)i86bi-linux-l2-adventerprisek9-15.1a.binSwitch emulation -- VLANs, STP, trunking, port security
LicenseIOURC.txtIOL license key file (required for images to boot)

Source: github.com/hegdepavankumar/Cisco-Images-for-GNS3-and-EVE-NG

Setup steps:

bash
# 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 images

Resource Usage

DevicesImage TypeRAM Used
1 IOL router~128 MBLight
1 IOL switch~128 MBLight
Full CCNA topology (3R + 3SW + 5 hosts)~1.1 GBComfortable 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

TaskUse
First time learning a CCNA topicPacket Tracer (built-in guided labs)
Drilling Cisco CLI commandsPacket Tracer (fast, lightweight)
Real IOS behavior / edge casesGNS3 with IOL images
Large topologies (10+ devices)GNS3
Network automation (Ansible, REST)GNS3 + Docker containers
Quick concept testingPacket Tracer

Troubleshooting

Packet Tracer won't launch

bash
# Force XWayland mode
QT_QPA_PLATFORM=xcb packettracer

GNS3 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"

bash
yay -S ubridge

GNS3 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

Released under the MIT License.