Routing between networks seems like magic until you actually set it up yourself. I recently built a small simulated network where two virtual PCs on completely different subnets needed to talk to each other — with two routers in between and zero dynamic routing protocols.
This is a walkthrough of how I designed the topology, configured everything step by step, and verified it worked using ping.
The Problem
Imagine two computers on two different networks:
-
PC-01 is on
192.168.1.0/24 -
PC-02 is on
192.168.2.0/24
They can't reach each other by default — they're on separate networks. A router bridges them, but the router only knows about networks directly connected to it. If I want Router-01 to send packets to 192.168.2.0/24, I have to tell it how to get there. That's static routing.
Three separate networks, two routers, two end devices. Everything runs inside GNS3 — a free, open-source network simulator that runs real Cisco IOS images.
Network Topology
Tools Used
- GNS3 — Network simulator
- Cisco IOS — Router OS running inside GNS3
- VPCS — Lightweight virtual PC (ping + IP assignment only)
- Solar-PuTTY — Terminal to access router console
Step 1 — Configure Router-01
Right-click Router-01 in GNS3 → Console. This opens a terminal to the Cisco IOS CLI.
enable
configure terminal
interface f0/0
ip address 192.168.0.1 255.255.255.0
no shutdown
interface f0/1
ip address 192.168.1.1 255.255.255.0
no shutdown
exit
ip route 192.168.2.0 255.255.255.0 192.168.0.2
end
write
What each command does:
-
enable— enters privileged (admin) mode -
configure terminal— enters global config mode -
interface f0/0— selects the interface -
ip address— assigns an IP + subnet mask -
no shutdown— activates the interface (Cisco defaults all interfaces to down) -
ip route 192.168.2.0 255.255.255.0 192.168.0.2— tells Router-01: "to reach 192.168.2.0, forward to 192.168.0.2 (Router-02)" -
write— saves config to NVRAM so it survives a reboot
Step 2 — Configure Router-02
enable
configure terminal
interface f0/0
ip address 192.168.0.2 255.255.255.0
no shutdown
interface f0/1
ip address 192.168.2.1 255.255.255.0
no shutdown
exit
ip route 192.168.1.0 255.255.255.0 192.168.0.1
end
write
The static route here is the mirror: "to reach 192.168.1.0, forward to 192.168.0.1 (Router-01)." Both routes are needed — one for each direction.
Step 3 — Configure the Virtual PCs (VPCS)
VPCS uses a simple command to assign IP, subnet mask, and default gateway all at once:
# PC-01
ip 192.168.1.2 255.255.255.0 192.168.1.1
# PC-02
ip 192.168.2.2 255.255.255.0 192.168.2.1
The third argument is the default gateway — the router interface the PC will forward all off-subnet traffic to.
Step 4 — Verify with Ping
PC-01> ping 192.168.2.2
First packet timed out — that's normal. The first ICMP packet triggers ARP resolution (finding the MAC address of the gateway), which takes a moment.
After that: four consecutive successful replies. ttl=62 confirms the packet passed through exactly 2 routers (VPCS starts at TTL 64, each hop subtracts 1: 64 - 2 = 62).
Then I tested the reverse direction:
PC-02> ping 192.168.1.2
Both directions worked. Bidirectional routing confirmed.
What I Learned
- Every router interface belongs to one subnet. You can't assign the same subnet to two interfaces on the same router.
- Static routes are directional. Router-01 needs a route to reach 192.168.2.0, and Router-02 needs a route back to 192.168.1.0. Forget one — ping fails.
-
no shutdownis mandatory on Cisco. Interfaces are administratively down by default. This is a security feature — you explicitly enable what you need. -
writesaves your work. Running config lives in RAM. Reboot = lost config unless youwriteit to NVRAM. - TTL tells you hop count. A TTL of 62 on a VPCS ping means exactly 2 routers were in the path.
- First ping timeout is normal. ARP hasn't resolved yet — not a routing failure.
Common Mistakes to Avoid
| Mistake | What Happens | Fix |
|---|---|---|
Forgot no shutdown
|
Interface stays down, ping fails | Add no shutdown after each IP assignment |
| Wrong next-hop IP in static route | Route exists but packets go nowhere | Make sure next-hop is directly reachable |
| Missing reverse route | One-way ping only | Add static route on both routers |
Forgot to save with write
|
Config lost after restart | Always run write before closing |
| Wrong default gateway on PC | PC can't reach router | Gateway must match the router's connected interface IP |
Conclusion
Static routing is the foundation of understanding how packets actually travel across networks. Once you've manually written the routes that tell each router where to forward packets — and seen a successful ping light up across two hops — the logic becomes intuitive.
This same principle scales to larger networks. The difference is just that in production, dynamic protocols (OSPF, BGP) automate what we did by hand here.







Top comments (0)