// NSSA-241 · Networking for cybersecurity
Build a full network, device by device, in Cisco Packet Tracer — Chapters 1 → 10, every IOS command written out and explained, with the topology growing each chapter.
Use ← → arrow keys, the dots below, or the ☰ menu to jump. Press Copy on any command block.
copy running-config startup-config (or write memory) on routers/switches so your config survives. ② Save the file itself often (File ▸ Save) as a .pkt. Green link lights = the cable is up; red/amber usually means an interface is still shutdown.Every network — up to the whole Internet — is built from one idea: a sender moves a message to a receiver over a medium, both obeying a protocol. In Packet Tracer we’ll place two PCs, join them with a cable, give them addresses, and prove they can talk with a ping.
PC0 and PC1). Then open Connections (the lightning-bolt), pick the Copper Cross-Over cable, click PC0 → FastEthernet0, then PC1 → FastEthernet0. A cross-over cable is used because you’re joining two like devices directly.Why it matters. Those two PCs are the sender and receiver; the cable is the medium. The link lights start red — they’ll go green once both ends have a matching configuration.
IPv4 Address: 192.168.1.1 Subnet Mask: 255.255.255.0IPv4 Address: 192.168.1.2 Subnet Mask: 255.255.255.0What it does. Each PC now has a Layer-3 IP address on the same network (both start 192.168.1 with a /24 mask), so they consider each other “local” and can talk directly.
Why it matters. Without addresses the two PCs are connected but mute — exactly the “connected but not communicating” idea. The mask (255.255.255.0) is what tells each PC the other is on the same network.
ping 192.168.1.2
What it does. ping sends four small test messages (ICMP echo requests) to PC1 and waits for replies. It’s the “are you there?” of networking.
Pinging 192.168.1.2 with 32 bytes of data: Reply from 192.168.1.2: bytes=32 time<1ms TTL=128 Reply from 192.168.1.2: bytes=32 time<1ms TTL=128 Packets: Sent = 4, Received = 4, Lost = 0 (0% loss)
Why it matters. Four replies = a full round-trip conversation. You just moved a message from a sender (PC0) to a receiver (PC1) over a medium (the cable) using a protocol (ICMP over IP). That’s the whole of Chapter 1, on the canvas. (First ping may show one “Request timed out” while ARP resolves — Chapter 3 explains why.)
Add a switch and you have a tiny LAN. Every host has two addresses — a hardware MAC and a logical IP — and every message gets encapsulated: wrapped in an IP packet, then an Ethernet frame. Packet Tracer’s Simulation mode is your built-in Wireshark for watching those layers.
Switch0). Delete the old cross-over cable, then use Copper Straight-Through to connect PC0 ▸ Fa0 → Switch0 ▸ Fa0/1 and PC1 ▸ Fa0 → Switch0 ▸ Fa0/2. Straight-through is for unlike devices (PC↔switch). Keep the same PC IPs from Chapter 1.Why it matters. The switch is a Layer-2 device: it forwards frames by MAC address, learning which MAC lives on which port. It lets many hosts share the LAN instead of a single cable.
ipconfig /all
What it does. Prints this PC’s full addressing. Look for Physical Address (the MAC — burned into the “card”) and IPv4 Address (the IP — assigned by you).
Physical Address...: 0060.7C2A.9B11 IPv4 Address.......: 192.168.1.1 Subnet Mask........: 255.255.255.0
Why it matters. The MAC (Layer 2) identifies the card on the local link; the IP (Layer 3) identifies the host on the network. Chapter 3 shows how the two get glued together.
PC0 then PC1. Now press Capture / Forward to step the packet along, and click the moving envelope to open PDU Information.What it does. The PDU window shows the OSI Model tab (Layers 1–7) and the Outbound PDU tab (the real header bytes) for that one packet.
Layer 2: Ethernet II Src/Dst MAC Layer 3: IP Src/Dst IP Layer 4/…: ICMP echo request
Why it matters. Read it outside-in: an Ethernet frame (MAC → MAC) carrying an IP packet (IP → IP) carrying an ICMP message. That nesting is encapsulation — the OSI layers, made of real bytes you can click through.
enable show mac address-table
Vlan Mac Address Type Ports
1 0060.7c2a.9b11 DYNAMIC Fa0/1
1 0002.16aa.bb22 DYNAMIC Fa0/2Why it matters. The switch has learned which MAC is on which port, so it can forward frames only where they need to go. This table is Layer-2 forwarding in action.
A switch forwards by MAC, but you address hosts by IP. ARP bridges the two: “who has 192.168.1.1? tell me your MAC.” We add a router as the LAN’s default gateway — the door off the LAN — and watch ARP resolve it in Simulation mode. Golden rule: IP is end-to-end, MAC is hop-to-hop.
Router0). Connect Router0 ▸ GigabitEthernet0/0 → Switch0 ▸ Fa0/3 with a straight-through cable. Then open Router0 ▸ CLI and configure its LAN interface as the gateway 192.168.1.254:enable configure terminal hostname R1 interface gigabitEthernet0/0 ip address 192.168.1.254 255.255.255.0 no shutdown exit end
What it does. configure terminal enters config mode; interface g0/0 selects the LAN port; ip address gives it the gateway IP; no shutdown turns the port on. Now set both PCs’ Default Gateway to 192.168.1.254 in Desktop ▸ IP Configuration.
Why it matters. The gateway is the router interface a host uses to reach any network that isn’t its own. Almost everything a PC does eventually goes through it.
PC0 to the gateway 192.168.1.254 and press Capture / Forward. You’ll see an ARP packet before the ICMP one.1. ARP Request (broadcast) "who has 192.168.1.254?" 2. ARP Reply (unicast) "192.168.1.254 is at 00E0.A3..." 3. ICMP echo (now the ping can actually be sent)
Why it matters. A host can’t build the Ethernet frame until it knows the destination MAC. ARP is that lookup: a broadcast question, a unicast answer. Only then does the ping go out.
arp -a
Internet Address Physical Address Type 192.168.1.254 00e0.a3bb.cc01 dynamic
Why it matters. The PC caches the mapping it just learned, so it doesn’t ARP again for a while. Notice it keeps an entry for the gateway — because that’s the door it uses most. When you ping a remote address, the frame’s destination MAC is the gateway’s (hop-to-hop), while the IP is the far server’s (end-to-end).
Give the router a second interface and a second LAN, and packets now leave their home network. A router only forwards between networks it knows about — we’ll configure both interfaces, read the router’s routing table, and trace a packet across the hop.
Switch1 and a new PC2; cable PC2 ▸ Fa0 → Switch1 ▸ Fa0/1 and Switch1 ▸ Fa0/2 → Router0 ▸ Gig0/1. Give PC2 IP 10.0.0.10 / 255.255.255.0, gateway 10.0.0.1. Then configure R1’s second interface:configure terminal interface gigabitEthernet0/1 ip address 10.0.0.1 255.255.255.0 no shutdown end copy running-config startup-config
What it does. R1 now has one foot in each network: 192.168.1.254 on g0/0 and 10.0.0.1 on g0/1. copy running-config startup-config saves the config so it survives a reload.
show ip interface brief show ip route
Interface IP-Address Status Protocol GigabitEthernet0/0 192.168.1.254 up up GigabitEthernet0/1 10.0.0.1 up up C 192.168.1.0/24 is directly connected, GigabitEthernet0/0 C 10.0.0.0/24 is directly connected, GigabitEthernet0/1
Why it matters. The two C (connected) routes are what let R1 forward between the LANs. A router only sends traffic to networks in this table — Chapter 9 is all about filling it with routes to networks the router isn’t directly on.
ping 10.0.0.10 tracert 10.0.0.10
Reply from 10.0.0.10: bytes=32 time<1ms TTL=127 Tracing route to 10.0.0.10 ... 1 1 ms 192.168.1.254 <- the router R1 (one hop) 2 0 ms 10.0.0.10 <- destination PC2
Why it matters. PC0 and PC2 are on different networks, so the packet had to cross R1 — and tracert shows that single hop. The TTL dropped from 128 to 127 as the router forwarded it: that’s the IP header field the whole Internet uses to stop loops.
Connect R1 to an ISP router and a public server. Two ideas: ICMP is the network’s error-and-echo voice (it powers ping and tracert), and NAT/PAT lets a whole private LAN share one public address. You’ll configure PAT and watch a private address become public.
R-ISP (2911) and a Server (198.51.100.10 / 255.255.255.0, gateway 198.51.100.1). Cable R1 ▸ Gig0/2 → R-ISP ▸ Gig0/0, and R-ISP ▸ Gig0/1 → the server’s switch. Configure the public link + a default route out:configure terminal interface gigabitEthernet0/2 ip address 203.0.113.2 255.255.255.252 no shutdown exit ip route 0.0.0.0 0.0.0.0 203.0.113.1 end
What it does. Gives R1 a public WAN address and a default route (0.0.0.0 0.0.0.0) that says “anything I don’t have a specific route for, send to the ISP at 203.0.113.1.” On R-ISP, give g0/0 203.0.113.1/30 and g0/1 198.51.100.1/24.
configure terminal interface gigabitEthernet0/0 ip nat inside interface gigabitEthernet0/1 ip nat inside interface gigabitEthernet0/2 ip nat outside exit access-list 1 permit 192.168.1.0 0.0.0.255 access-list 1 permit 10.0.0.0 0.0.0.255 ip nat inside source list 1 interface gigabitEthernet0/2 overload end copy running-config startup-config
What it does. ip nat inside/outside marks the private and public sides. The access-list says “these private networks get translated,” and overload makes it PAT — every inside host shares the one public interface address, told apart by port numbers.
ping 198.51.100.10
show ip nat translations
Pro Inside global Inside local Outside... icmp 203.0.113.2:1 192.168.1.1:1 198.51.100.10:1
Why it matters. The inside local is PC0’s private address; the inside global is the single public address the world sees. That translation is why thousands of networks can all reuse 192.168.x.x — and it’s ICMP (the ping) that proved the path end-to-end.
One flat /24 wastes addresses and mixes everyone together. Subnetting borrows host bits to make smaller networks; VLSM sizes each to its real host count. We’ll apply a plan with router-on-a-stick — one physical link carrying several subnets on subinterfaces — the exact technique behind the NSSA-241 capstone.
192.168.1.0/24 into department subnets, allocating the largest first so nothing overlaps:192.168.1.0/26 · gw .1 · 62 hosts192.168.1.64/27 · gw .65 · 30 hosts192.168.1.96/28 · gw .97 · 14 hosts192.168.1.112/29 · gw .113 · 6 hostsWhy it matters. Each subnet is sized to its host count with almost no waste. The next subnet always starts one block size after the last (0 → 64 → 96 → 112) — that “add the block size” move is the whole skill.
enable configure terminal vlan 10 name STUDENTS vlan 20 name FACULTY interface fastEthernet0/1 switchport mode access switchport access vlan 10 interface fastEthernet0/3 switchport mode trunk end
What it does. A VLAN is a separate Layer-2 network on the same switch. Access ports belong to one VLAN (PC0 → VLAN 10); the port to the router is a trunk, which carries all VLANs tagged with their number (802.1Q).
configure terminal interface gigabitEthernet0/0 no ip address no shutdown interface gigabitEthernet0/0.10 encapsulation dot1Q 10 ip address 192.168.1.1 255.255.255.192 ip nat inside interface gigabitEthernet0/0.20 encapsulation dot1Q 20 ip address 192.168.1.65 255.255.255.224 ip nat inside end copy running-config startup-config
What it does. One physical port (g0/0) is split into subinterfaces, each tagged to a VLAN with encapsulation dot1Q and given that subnet’s gateway address and mask. Notice the masks: /26 = 255.255.255.192, /27 = 255.255.255.224.
show ip route
C 192.168.1.0/26 is directly connected, GigabitEthernet0/0.10 C 192.168.1.64/27 is directly connected, GigabitEthernet0/0.20
Why it matters. The router now routes between the department subnets, and each VLAN’s broadcast traffic stays contained. A Students PC in .0/26 and a Faculty PC in .64/27 can only reach each other through R1 — segmentation, done with subnet maths.
Two helpers make the network usable. DHCP hands a joining PC its address automatically (the DORA exchange), and DNS turns names into IP addresses. We’ll configure a DHCP pool on the router and a DNS server, then watch a PC pick up an address and resolve a name.
configure terminal ip dhcp excluded-address 192.168.1.1 192.168.1.5 ip dhcp pool STUDENTS network 192.168.1.0 255.255.255.192 default-router 192.168.1.1 dns-server 192.168.1.113 end
What it does. ip dhcp pool creates a lease pool for the Students /26. network is the range to hand out, default-router and dns-server are given to each client, and excluded-address reserves the low addresses (gateway, servers) from being leased.
192.168.1.6, with the mask, gateway and DNS filled in automatically.Why it matters. That one click triggered the whole DORA handshake — Discover, Offer, Request, Ack — over UDP ports 67/68. No human typed the address; the router leased it. Switch to Simulation mode and repeat to watch the four DHCP packets fly.
192.168.1.113, in the Servers subnet). Open Server ▸ Services ▸ DNS, turn it On, and add an A record:Name: www.lab.local Address: 192.168.1.113 then Add.Why it matters. This server is now authoritative for www.lab.local — it holds the name→IP mapping, exactly like the authoritative servers in the DNS hierarchy from the slides.
nslookup www.lab.local
Server: 192.168.1.113
Name: www.lab.local
Address: 192.168.1.113Why it matters. The PC asked the DNS server “what IP is this name?” and got an answer — the whole job of DNS. Open PC0 ▸ Desktop ▸ Web Browser and visit http://www.lab.local to see it work end-to-end.
The network layer got the packet to the right host; the transport layer gets it to the right application — using port numbers. TCP sets up a reliable session with a three-way handshake; UDP just fires and forgets. Packet Tracer’s Simulation mode lets us watch both, and read the port numbers in the PDU.
Why it matters. A server is just a program “listening” on a port. HTTP lives on 80, HTTPS on 443, DNS on 53, DHCP on 67/68. The port is how one machine runs many services without confusion.
http://www.lab.local and press Go, then step with Capture / Forward. Click each envelope’s PDU Information ▸ Outbound and read the TCP flags.1. PC0 → Server TCP SYN (src port 1025 → dst port 80) 2. Server → PC0 TCP SYN, ACK 3. PC0 → Server TCP ACK (now the HTTP GET follows)
Why it matters. Before a single byte of the web page moves, TCP does SYN → SYN-ACK → ACK. It proves the server is there, the port is open, and both sides agree to start — the foundation of reliable delivery. Note the socket: your ephemeral port (1025) ↔ the server’s well-known port (80).
nslookup www.lab.local from PC0. Step through it.1. PC0 → Server DNS query (UDP src 1026 → dst 53) 2. Server → PC0 DNS response
Why it matters. Compare with step 2: no SYN, no ACK, no teardown. UDP just sends the datagram and hopes. That’s why DNS, DHCP and live video use it — speed over guarantees.
Grow past one router. Routers only forward to networks in their table — a static route is one you type by hand; a routing protocol (RIP, OSPF) lets routers learn each other’s networks automatically. We add a second router and do both, reading the routing table each time.
R2 with its own LAN 172.16.0.0/24. Link R1 ▸ Gig0/2 ↔ R2 ▸ Gig0/0 on a 10.10.10.0/30 transit network (R1 = .1, R2 = .2). First, teach R1 the manual way:configure terminal ip route 172.16.0.0 255.255.255.0 10.10.10.2 end show ip route
S 172.16.0.0/24 [1/0] via 10.10.10.2What it does. ip route <network> <mask> <next-hop> tells R1 “to reach 172.16.0.0/24, send to R2 at 10.10.10.2.” You’d also add the reverse route on R2.
configure terminal router ospf 1 network 192.168.1.0 0.0.0.63 area 0 network 10.10.10.0 0.0.0.3 area 0 end
What it does. router ospf 1 starts the OSPF link-state protocol; each network line tells OSPF which of its own interfaces to advertise (the wildcard mask 0.0.0.3 = a /30). Configure the matching networks on R2 and the two routers become neighbours and swap routes.
show ip ospf neighbor show ip route
Neighbor ID State Address Interface 10.10.10.2 FULL/ - 10.10.10.2 GigabitEthernet0/2 O 172.16.0.0/24 [110/2] via 10.10.10.2 <- learned by OSPF
Why it matters. The O route was learned automatically — you never typed it. If a link fails, OSPF recomputes and reroutes on its own (that’s the “link-state / Dijkstra” idea from the slides). RIP (router rip → version 2 → network) does the same job the distance-vector way, with routes marked R.
The finale: give every device a second, much bigger address. IPv6 swaps 32-bit addresses for 128-bit ones and lets a router hand out prefixes automatically (SLAAC). We’ll enable IPv6 routing, address an interface, let a PC auto-configure, and ping over IPv6 — dual-stack, running right beside IPv4.
configure terminal ipv6 unicast-routing interface gigabitEthernet0/0 ipv6 address 2001:DB8:ACAD:1::1/64 ipv6 address FE80::1 link-local no shutdown end
What it does. ipv6 unicast-routing turns on IPv6 forwarding globally. The interface gets a global address (2001:DB8:...::1/64, routable) and a link-local (FE80::1, for on-link chatter only). The /64 is the standard LAN prefix.
2001:DB8:ACAD:1:... — no DHCP needed. Notice it also has an FE80:: link-local of its own.Why it matters. Every IPv6 interface has two addresses at once: a link-local for local use and a global for the Internet. SLAAC means hosts can address themselves from the router’s /64 — a headline IPv6 feature.
show ipv6 interface brief show ipv6 route
ping 2001:DB8:ACAD:1::1
GigabitEthernet0/0 [up/up]
FE80::1
2001:DB8:ACAD:1::1
...
Reply from 2001:DB8:ACAD:1::1: bytes=32 time<1ms (IPv6 works!)Why it matters. Your PC just reached the router over IPv6, while IPv4 still works too — that’s dual-stack. You’ve now built and configured every layer of a real network, in both address families, entirely in Packet Tracer.
.pkt, and go build the capstone.