July 15, 2026
The Simplest OSPF Configuration Walkthrough
Hi everyone, Aryan here!

By Aryan Vij
15 min read
Welcome back to another networking tutorial.
On June 25th (my birthday), I successfully passed the CompTIA Network+ marking a large milestone in my professional journey.
Now, I'm pursuing the CCNA and part of doing that is configuring, documenting, and then showing you guys how to set up essential network architectures.
Today's tutorial will be on configuring OSPF (Open Short Path First) protocol.
OSPF is a very popular dynamic routing protocol that utilises Dijkstra's shortest path algorithm to calculate the most efficient path between networks in a single Autonomous System.
Dynamic routing fundamentally is useful because when networks scale up and become larger, you don't want to manually enter the new routes and update every router accordingly.
That would make network engineers go bald significantly faster than they currently do.
If you want to learn more about OSPF in pure theory, I plan to make a blog in the future breaking down RIP vs OSPF vs BGP vs EIGRP.
However, today will be focused specifically on a practical walkthrough within packet tracer.
The blueprint for this architecture follows Greg South's OSPF series.
He did an incredible job explaining OSPF fundamentals, and I plan to do the same setup in this blog.
Thank you Greg for making my preparation easier. :)
So, let's get into it.
Part 1 โ Setting up the Diagram
First, you will need the following devices and cables to setup the architecture itself.
This happens before you enter any Command Line.
I will also cover which cables attach to which interfaces as well so it is straight forward when you go to do it on your own.
I will also include the visual diagram at each stage so it's easy to map the steps to the actual configuration in Packet Tracer.
Physical Hardware
- 3 2950โ24 switches
- 3 1841 routers
- 3 PCs
Labelling + Subnets
- The bottom left portion will be called Dublin with the subnet 172.16.1.16/28
- The top portion will be called Galway with the subnet 10.10.10.0/24
- The bottom right portion is called Cork with the subnet 172.16.1.32/29
Router P2P Subnets
- Router0 โ โ Router2 uses 192.168.10.0/30
- Router 0 โ โ Router1 uses 192.168.10.4/30
- Router1 โ โ Router2 uses 192.168.10.8/30
This part covers the subnets that exist between the routers themselves. We use /30 because it allows 2 addresses to be used for the network and broadcast address, while reserving 2 addresses for hosts. Those hosts being the 2 routers.
Once you've labelled the individual broadcast domains and subnets, it's time to setup the cabling and the interfaces connecting them.
Serial Interface Physical Configuration
In order to be able to connect the serial cables between our routers, we need to add the WIC-2T serial extension module within the physical settings.
Why? Because Cisco 1841 routers do not come with serial interfaces by default.
So within the physical settings, select WIC-2T and drag it into one of the extension slots.
Initially, it will look like this:
Before you add the modules, you must turn the router itself off.
Afterwards, it will look like this:
You should then see the Serial interfaces appear on the device once you attempt to attach a Serial DCE cable.
Cables + Interfaces
The format for the following list will be
[from][device][interface] โ [to][device][interface]
This will involve all the cabling as well. The black cables will be straight-through cables and the red cables will be Serial DCE cables.
- PC0 Fa0/0 โ Switch0 Fa0/8
- Switch0 Fa0/7 โ Router0 Fa0/0
- PC1 Fa0/0 โ Switch1 Fa0/2
- Switch1 Fa0/1 โ Router2 Fa0/0
- PC2 Fa0/0 โ Switch2 Fa0/1
- Switch2 Fa0/2 โ Router1 Fa0/0
- Router0 Serial0/0/0 โ Router2 Serial0/0/0
- Router0 Serial0/0/1 โ Router1 Serial0/0/0
- Router2 Serial0/0/1 โ Router1 Serial0/0/1
It should now look like this. If you're wondering why the arrows are red, it's because we haven't turned the interfaces on.
Now that we got the hardware in place, the cables to connect, and the subnets setup, let's open up the CLI and start configuring the devices themselves, and then OSPF.
Part 2 โ Device + Router IP Configuration
Before we can even do the OSPF portion, we need to turn on our interfaces and assign IP addresses to our router interfaces and PCs.
Think of OSPF as a GPS system. In order for it to work, you need to have roads that can actually move cars.
If the roads don't exist, you can'tโฆ..drive traffic. :)
The first thing we will do is assign IP addresses to all the Routers
What I'm going to do on Router0 will be the same steps for the other routers as well, and I'll list the exact IP addresses I used below.
Setting up Router IP Addresses โ Why?
Because it is a lot easier to assign IPs to the PCs once you have all the routers interfaces up and able to ping each other.
By this, I mean the routers should be able to ping one another across the point-to-point links, and the private gateway addresses should be setup as well.
Once you have the private gateway addresses setup, it is much easier to go into each individual PC and assign a host IP.
In the case of Router0, we need to have gateway addresses for:
- 172.16.1.16/28 โ private network
- 192.168.10.0/30 โ connects to Router2
- 192.168.10.4/30 โ connects to Router1
Each interface is a different portion of the same router, so when the IP addresses are setup, Router0 should be able to ping the other device associated with its interface.
This applies to all the routers by the way.
Setting up Router IP Addresses โ How?
So let's turn on the interfaces and get this going.
I'll be doing this on Router0, but this applies to all the other routers too, but to their ip addresses.
First, click Router0 and navigate to CLI.
Once you're there you run show ip interface brief to see the interface status. Notice how they are all down. That's why we saw red earlier.
Router#show ip interface brief
Interface IP-Address OK? Method Status Protocol
FastEthernet0/0 unassigned YES unset administratively down down
FastEthernet0/1 unassigned YES unset administratively down down
Serial0/0/0 unassigned YES unset administratively down down
Serial0/0/1 unassigned YES unset administratively down down
Vlan1 unassigned YES unset administratively down downRouter#show ip interface brief
Interface IP-Address OK? Method Status Protocol
FastEthernet0/0 unassigned YES unset administratively down down
FastEthernet0/1 unassigned YES unset administratively down down
Serial0/0/0 unassigned YES unset administratively down down
Serial0/0/1 unassigned YES unset administratively down down
Vlan1 unassigned YES unset administratively down downThen, turn Fast Ethernet 0/0 on and set that gateway to 172.16.1.17 and the subnet mask to 255.255.255.240 to match the /28 we labelled in the diagram.
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#interface FastEthernet 0/0
Router(config-if)#no shutdown
Router(config-if)#
%LINK-5-CHANGED: Interface FastEthernet0/0, changed state to up
%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up
Router(config-if)# do copy run start
Router(config)#interface FastEthernet 0/0
Router(config-if)
Router(config-if)#ip address 172.16.1.17 255.255.255.240
Router(config-if)# do copy run start
Router(config-if)#do ping 172.16.1.17
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.1.17, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/7/12 ms
Router(config-if)#exit
Router(config)#Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#interface FastEthernet 0/0
Router(config-if)#no shutdown
Router(config-if)#
%LINK-5-CHANGED: Interface FastEthernet0/0, changed state to up
%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up
Router(config-if)# do copy run start
Router(config)#interface FastEthernet 0/0
Router(config-if)
Router(config-if)#ip address 172.16.1.17 255.255.255.240
Router(config-if)# do copy run start
Router(config-if)#do ping 172.16.1.17
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.1.17, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/7/12 ms
Router(config-if)#exit
Router(config)#
Now, that specific link is green.
By the way, do copy run start saves the configuration. Make sure you do this after you do anything relevant.
We then do the same for Se 0/0/0 and Se 0/0/1.
These are the links between Router0 โ Router1 and Router0 โ Router2.
Router(config)#
Router(config)#inter
Router(config)#interface Ser
Router(config)#interface Serial 0/0/0
Router(config-if)#
Router(config-if)#ip address 192.168.10.1 255.255.255.252
Router(config-if)#no shutdown
%LINK-5-CHANGED: Interface Serial0/0/0, changed state to down
Router(config-if)#
Router(config-if)#do copy run start
Destination filename [startup-config]?
Building configuration...
[OK]
Router(config-if)#do ping 192.168.10.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.10.1, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)
Router(config-if)#Router(config)#
Router(config)#inter
Router(config)#interface Ser
Router(config)#interface Serial 0/0/0
Router(config-if)#
Router(config-if)#ip address 192.168.10.1 255.255.255.252
Router(config-if)#no shutdown
%LINK-5-CHANGED: Interface Serial0/0/0, changed state to down
Router(config-if)#
Router(config-if)#do copy run start
Destination filename [startup-config]?
Building configuration...
[OK]
Router(config-if)#do ping 192.168.10.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.10.1, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)
Router(config-if)#You may wonder why the ping failed. This is because in the case of serial interfaces, both sides must be configured for it to work.
This means the Router2 that it is attempting to reach must be setup in this case.
Let's do that so you can see it work if you run into this on your end.
I entered the CLI on Router2 and did the following:
Router(config)#interface Serial 0/0/0
Router(config-if)#ip address 192.168.10.2 255.255.255.252
Router(config-if)#no shutdown
Router(config-if)#
%LINK-5-CHANGED: Interface Serial0/0/0, changed state to up
Router(config-if)#do copy run start
Destination filename [startup-config]?
Building configuration...
[OK]
Router(config-if)#
%LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0/0/0, changed state to up
Router(config-if)#do ping 192.168.10.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.10.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 27/33/43 ms
Router(config-if)#Router(config)#interface Serial 0/0/0
Router(config-if)#ip address 192.168.10.2 255.255.255.252
Router(config-if)#no shutdown
Router(config-if)#
%LINK-5-CHANGED: Interface Serial0/0/0, changed state to up
Router(config-if)#do copy run start
Destination filename [startup-config]?
Building configuration...
[OK]
Router(config-if)#
%LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0/0/0, changed state to up
Router(config-if)#do ping 192.168.10.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.10.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 27/33/43 ms
Router(config-if)#Now, you can see the ping work successfully from Router2 โ Router0.
Within the diagram itself, you can see this specific link go from red to green as well.
Router(config-if)#do ping 192.168.10.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.10.1, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)
Router(config-if)#
%LINK-5-CHANGED: Interface Serial0/0/0, changed state to up
%LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0/0/0, changed state to up
Router(config-if)#do ping 192.168.10.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.10.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 60/67/75 ms
Router(config-if)#Router(config-if)#do ping 192.168.10.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.10.1, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)
Router(config-if)#
%LINK-5-CHANGED: Interface Serial0/0/0, changed state to up
%LINEPROTO-5-UPDOWN: Line protocol on Interface Serial0/0/0, changed state to up
Router(config-if)#do ping 192.168.10.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.10.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 60/67/75 ms
Router(config-if)#Now, within Router0 the failed ping is also successful.
Remember, the command structure to setup an interface is:
enable
conf t
interface (interface of choice)
ip address (ip address)(subnet mask)
no shutdown
do copy run start
do ping (destination address)
exitenable
conf t
interface (interface of choice)
ip address (ip address)(subnet mask)
no shutdown
do copy run start
do ping (destination address)
exitFinally, we setup the link from Router0 โ Router1.
Router(config-if)#ip address 192.168.10.5 255.255.255.252
Router(config-if)#no shutdown
%LINK-5-CHANGED: Interface Serial0/0/1, changed state to down
Router(config-if)#do copy run start
Destination filename [startup-config]?
Building configuration...
[OK]
Router(config-if)#Router(config-if)#ip address 192.168.10.5 255.255.255.252
Router(config-if)#no shutdown
%LINK-5-CHANGED: Interface Serial0/0/1, changed state to down
Router(config-if)#do copy run start
Destination filename [startup-config]?
Building configuration...
[OK]
Router(config-if)#Just like earlier, you have to set configure this interface on Router1's side for this link to be green.
Everything I listed above applies to all the routers and the relevant interfaces.
On Router1 for example, the ping is now successful towards Router2:
Router(config-if)#do ping 192.168.10.10
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.10.10, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 26/31/34 ms
Router(config-if)#Router(config-if)#do ping 192.168.10.10
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.10.10, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 26/31/34 ms
Router(config-if)#And vice versa:
Router(config-if)#do ping 192.168.10.9
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.10.9, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 21/33/41 ms
Router(config-if)#Router(config-if)#do ping 192.168.10.9
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.10.9, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 21/33/41 ms
Router(config-if)#Once you've done this successfully, your diagram should look like this:
And if you hover over Router0, the interface table looks like this:
Now that the individual routes are setup, the next step is much easier.
We are going to set the PCs' host IP addresses.
Finally, we will test connectivity from the PCs to the routers by pinging them, and pinging the PCs from their respective routers.
Once that is done, the OSPF configuration begins.
For now though, let's connect our PCs to the network.
Setting up PC IP Addresses
First, navigate to PC0 and enter the IP Configurations screen.
Second, given the subnet is 172.16.1.16/28, let's set the IP address to 172.16.1.18.
Pretty simple? Yup.
Networking in general, especially on a fundamental level becomes a lot simpler once you realise IP addresses, MAC addresses, etc. are technology designed to start digital conversations.
So your screen should then look like this. You set Router0 as your default gateway and then navigate to the CLI to test ping the router to see if you're successful.
Cisco Packet Tracer PC Command Line 1.0
C:\>
C:\>ping 172.16.1.17
Pinging 172.16.1.17 with 32 bytes of data:
Reply from 172.16.1.17: bytes=32 time=1ms TTL=255
Ping statistics for 172.16.1.17:
Packets: Sent = 1, Received = 1, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 1ms, Maximum = 1ms, Average = 1ms
Control-C
^C
C:\>Cisco Packet Tracer PC Command Line 1.0
C:\>
C:\>ping 172.16.1.17
Pinging 172.16.1.17 with 32 bytes of data:
Reply from 172.16.1.17: bytes=32 time=1ms TTL=255
Ping statistics for 172.16.1.17:
Packets: Sent = 1, Received = 1, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 1ms, Maximum = 1ms, Average = 1ms
Control-C
^C
C:\>And it works!
Now, try to ping PC0 from Router0.
Router>ping 172.16.1.17
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.1.17, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 10/13/20 ms
Router>Router>ping 172.16.1.17
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.1.17, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 10/13/20 ms
Router>That's exactly what we want to see.
Now do the same for PC1 and PC2.
Once you've done so, the PCs will be able to send traffic to and receive traffic from their routers.
The diagram looks the same as earlier, but now the PCs are connected to their respective broadcast domains.
The question now is, can we send a packet from PC0 to PC2?
Let's test.
As you can see, we failed.
This is the part where routing comes in.
This is because while we setup the ability to connect devices on the same subnet, we haven't setup the ability to route traffic between different subnets.
Sure, we can configure the routes statically, but the whole goal is to be able to dynamically route traffic. Why? Scalability and efficiency.
This is the part where OSPF comes in.
We are finally here.
Part 3โ OSPF Configuration
I'm going to first explain some overarching concepts like process IDs and wildcard masks.
Then I'm going to list out an example of what the wildcard masks will be in the case of Router0.
After every explanation, I'll show you how I did that exact step in the CLI.
So let's start with process IDs and router IDs.
Process IDs + Router IDs โ Explained
The process ID is simply an internal software process identifier. It can be any number between 1 and 65,535.
By default, we use process ID 1 but we can have any number of them.
This means you can have OSPF run independently on process ID 1 and process ID 2 without them overlapping.
Why? Because each process maintains a separate routing database.
Within the command line, we simply enter the global configuration mode and identify it like this:
R1(config)#router ospf 1R1(config)#router ospf 1The router ID however is the specific global, unique identifier for the router within the specific OSPF process.
Simply put, it's the router's legal name. It is a unique 32-bit number that follows the same IPv4 formatting.
Unique router IDs are essential for allowing OSPF to do Link-State Advertising (LSA) properly.
Don't worry about that for now, I plan to make a blog about the various dynamic routing protocols, where they are used, and how they work in the future.
Process IDs + Router IDs โ Configuration
Now that I told you what they are, let's set them up for Router0, Router1, and Router2. That'll be the first step of setting up OSPF.
The following configurations are for Router0, 1, and 2 respectively.
Router>enable
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#router ospf 1
Router(config-router)#router-id 1.1.1.1
Router(config-router)#do copy run start
Destination filename [startup-config]?
Building configuration...
[OK]
Router(config-router)#exit
Router(config)#exit
Router#
%SYS-5-CONFIG_I: Configured from console by console
Router#
Router>
Router>enable
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#router ospf 1
Router(config-router)#router-id 2.2.2.2
Router(config-router)#do copy run start
Destination filename [startup-config]?
Building configuration...
[OK]
Router(config-router)#
Router(config-router)#exit
Router(config)#exit
Router#
%SYS-5-CONFIG_I: Configured from console by console
Router#
Router>
Router>enable
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#
Router(config)#router ospf 1
Router(config-router)#router-id 3.3.3.3
Router(config-router)#do copy run start
Destination filename [startup-config]?
Building configuration...
[OK]
Router(config-router)#
Router(config-router)#exit
Router(config)#exit
Router#
%SYS-5-CONFIG_I: Configured from console by console
Router#Router>enable
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#router ospf 1
Router(config-router)#router-id 1.1.1.1
Router(config-router)#do copy run start
Destination filename [startup-config]?
Building configuration...
[OK]
Router(config-router)#exit
Router(config)#exit
Router#
%SYS-5-CONFIG_I: Configured from console by console
Router#
Router>
Router>enable
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#router ospf 1
Router(config-router)#router-id 2.2.2.2
Router(config-router)#do copy run start
Destination filename [startup-config]?
Building configuration...
[OK]
Router(config-router)#
Router(config-router)#exit
Router(config)#exit
Router#
%SYS-5-CONFIG_I: Configured from console by console
Router#
Router>
Router>enable
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#
Router(config)#router ospf 1
Router(config-router)#router-id 3.3.3.3
Router(config-router)#do copy run start
Destination filename [startup-config]?
Building configuration...
[OK]
Router(config-router)#
Router(config-router)#exit
Router(config)#exit
Router#
%SYS-5-CONFIG_I: Configured from console by console
Router#Now that we have the Process IDs and Router IDs established within our lab, the next step is to establish our Network Adjacencies.
To understand this, I'll briefly explain what wildcards are, and then I'll show you how to set this up in the CLI.
Wildcards Explained
In networking, wildcard masks are used to tell network devices which parts of an IP address to scan for and what to ignore when applying rules.
For example, if I say 10.10.10.0 0.0.0.255, that means scan for anything that matches 10.10.10. and ignore the last octet.
So anything between 10.10.10.0 to 10.10.10.255 matches this specific rule.
Otherwise, it doesn't match (ex: 10.10.11.254).
In the context of OSPF, we use wildcard masks to establish network adjacencies to tell the routers: if something matches this rule, it will join the OSPF ****area.
Let me also explain areas briefly.
Areas Explained
No, not that one.
In OSPF, areas are used to establish routing zones to divide larger autonomous networks.
OSPF in the industry is used to route traffic with many routers. I'm talking in the hundreds.
Now, if you put them all in the same area, every single router is going to have a massive routing table because there is 0 segmentation, and that will fry your router's hardware every quickly.
By using areas, routers only need to calculate the shortest path (SPF algorithm) for their own area, saving massive hardware resources.
Also, if you want to add 100 new routers to your network, you can assign them to a new area, configure OSPF for that one, and simply send a summary to area 0.
Area 0 is the backbone area. This is your central transit hub. Every single OSPF network must have an area 0.
Area 0 is what we will be using today.
Now that we know what wildcards and areas are, let's use both to setup our network adjacencies.
The syntax for the individual adjacency will look something like this:
network 10.10.10.0 0.0.0.255 area 0network 10.10.10.0 0.0.0.255 area 0This means, scan all ports and find anything that starts with 10.10.10, and activate those ports so they join Area 0 on OSPF.
Network Adjacency Configuration
For Router0, the configuration looks like this:
Router>
Router>enable
Router#
Router#
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#router ospf 1
Router(config-router)#router-id 1.1.1.1
Router(config-router)#network 172.16.1.16 0.0.0.15 area 0
Router(config-router)#network 192.168.10.0 0.0.0.3 area 0
Router(config-router)#network 192.168.10.4 0.0.0.3 area 0
Router(config-router)#do copy run start
Destination filename [startup-config]?
Building configuration...
[OK]
Router(config-router)#end
Router#
%SYS-5-CONFIG_I: Configured from console by console
Router#Router>
Router>enable
Router#
Router#
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#router ospf 1
Router(config-router)#router-id 1.1.1.1
Router(config-router)#network 172.16.1.16 0.0.0.15 area 0
Router(config-router)#network 192.168.10.0 0.0.0.3 area 0
Router(config-router)#network 192.168.10.4 0.0.0.3 area 0
Router(config-router)#do copy run start
Destination filename [startup-config]?
Building configuration...
[OK]
Router(config-router)#end
Router#
%SYS-5-CONFIG_I: Configured from console by console
Router#This is what it looks like in Router1. By the way, LOADING to FULL is exactly what you want to see because now that we setup Router0 and Router1, their 2 tables have dynamically synced.
Router>enable
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#router ospf 1
Router(config-router)#router-id 2.2.2.2
Router(config-router)#network 172.16.1.32 0.0.0.7 area 0
Router(config-router)#network 192.168.10.4 0.0.0.3 area 0
Router(config-router)#network
07:38:41: %OSPF-5-ADJCHG: Process 1, Nbr 1.1.1.1 on Serial0/0/0 from LOADING to FULL, Loading Done
% Incomplete command.
Router(config-router)#network 192.168.10.8 0.0.0.3 area 0
Router(config-router)#do copy run start
Destination filename [startup-config]?
Building configuration...
[OK]
Router(config-router)#end
Router#
%SYS-5-CONFIG_I: Configured from console by console
Router#
Router>enable
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#router ospf 1
Router(config-router)#router-id 2.2.2.2
Router(config-router)#network 172.16.1.32 0.0.0.7 area 0
Router(config-router)#network 192.168.10.4 0.0.0.3 area 0
Router(config-router)#network
07:38:41: %OSPF-5-ADJCHG: Process 1, Nbr 1.1.1.1 on Serial0/0/0 from LOADING to FULL, Loading Done
% Incomplete command.
Router(config-router)#network 192.168.10.8 0.0.0.3 area 0
Router(config-router)#do copy run start
Destination filename [startup-config]?
Building configuration...
[OK]
Router(config-router)#end
Router#
%SYS-5-CONFIG_I: Configured from console by console
Router#Already if you go into PC2's CLI, you will see that you can now ping PC0.
Cisco Packet Tracer PC Command Line 1.0
C:\>ping 172.16.1.17
Pinging 172.16.1.17 with 32 bytes of data:
Reply from 172.16.1.17: bytes=32 time=13ms TTL=254
Ping statistics for 172.16.1.17:
Packets: Sent = 1, Received = 1, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 13ms, Maximum = 13ms, Average = 13ms
Control-C
^C
C:\>ping 172.16.1.18
Pinging 172.16.1.18 with 32 bytes of data:
Reply from 172.16.1.18: bytes=32 time=36ms TTL=126
Reply from 172.16.1.18: bytes=32 time=32ms TTL=126
Reply from 172.16.1.18: bytes=32 time=2ms TTL=126
Ping statistics for 172.16.1.18:
Packets: Sent = 3, Received = 3, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 2ms, Maximum = 36ms, Average = 23ms
Control-CCisco Packet Tracer PC Command Line 1.0
C:\>ping 172.16.1.17
Pinging 172.16.1.17 with 32 bytes of data:
Reply from 172.16.1.17: bytes=32 time=13ms TTL=254
Ping statistics for 172.16.1.17:
Packets: Sent = 1, Received = 1, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 13ms, Maximum = 13ms, Average = 13ms
Control-C
^C
C:\>ping 172.16.1.18
Pinging 172.16.1.18 with 32 bytes of data:
Reply from 172.16.1.18: bytes=32 time=36ms TTL=126
Reply from 172.16.1.18: bytes=32 time=32ms TTL=126
Reply from 172.16.1.18: bytes=32 time=2ms TTL=126
Ping statistics for 172.16.1.18:
Packets: Sent = 3, Received = 3, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 2ms, Maximum = 36ms, Average = 23ms
Control-CNow, we setup Router2 and we will soon be done. :) We are almost there guys.
Router>
Router>enable
Router#
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#
Router(config)#router ospf 1
Router(config-router)#
Router(config-router)#router-id 3.3.3.3
Router(config-router)#network 10.10.10.0 0.0.0.255 area 0
Router(config-router)#network 192.168.10.0 0.0.0.3 area 0
Router(config-router)#network 19
07:44:44: %OSPF-5-ADJCHG: Process 1, Nbr 1.1.1.1 on Serial0/0/0 from LOADING to FULL, Loading Done
^
% Invalid input detected at '^' marker.
Router(config-router)#network 192.168.10.8 0.0.0.3 area 0
Router(config-router)#
07:44:58: %OSPF-5-ADJCHG: Process 1, Nbr 2.2.2.2 on Serial0/0/1 from LOADING to FULL, Loading Done
Router(config-router)#do copy run start
Destination filename [startup-config]?
Building configuration...
[OK]
Router(config-router)#
Router(config-router)#end
Router#
%SYS-5-CONFIG_I: Configured from console by console
Router#Router>
Router>enable
Router#
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#
Router(config)#router ospf 1
Router(config-router)#
Router(config-router)#router-id 3.3.3.3
Router(config-router)#network 10.10.10.0 0.0.0.255 area 0
Router(config-router)#network 192.168.10.0 0.0.0.3 area 0
Router(config-router)#network 19
07:44:44: %OSPF-5-ADJCHG: Process 1, Nbr 1.1.1.1 on Serial0/0/0 from LOADING to FULL, Loading Done
^
% Invalid input detected at '^' marker.
Router(config-router)#network 192.168.10.8 0.0.0.3 area 0
Router(config-router)#
07:44:58: %OSPF-5-ADJCHG: Process 1, Nbr 2.2.2.2 on Serial0/0/1 from LOADING to FULL, Loading Done
Router(config-router)#do copy run start
Destination filename [startup-config]?
Building configuration...
[OK]
Router(config-router)#
Router(config-router)#end
Router#
%SYS-5-CONFIG_I: Configured from console by console
Router#As you can see, the LOADING to FULL statement appears twice because we're configuring the 3rd node of our triangle.
Now that we've configured OSPF, we need to test that it works.
Part 4โ Testing the Network
This part is pretty straightforward.
You click the closed envelope symbol within packet tracer and click on one PC as the sender and the other as the recipient.
If PC0 โ PC1, PC1 โ PC0, and every other PC can send and receive from the others, it worked.
I'll display the statuses below.
PC0 and PC1 can successfully communicate.
PC0 and PC2 are in business.
And there we go! Everything can reach everything.
If you got this to work, incredible job. OSPF is successfully up and running.
Here is our final network diagram. If everything is green and reachable, you did it.
If you made it this far into the blog, I give a lot of credit to you.
OSPF and dynamic routing aren't simple the first time around, but once you do it once thoroughly and you understand why everything works, you will be a much larger step closer towards the CCNA.
For me personally, this was a massive step in the right direction, and going forward I plan to show you guys a lot more setups as part of my own CCNA journey.
Until then, have a great rest of your week, and I will see you next time. :)