Know which neighbours and prefixes should exist
PC-A, 192.168.1.10/24, needs to reach the server, 192.168.3.10/24. R1 connects PC-A's LAN, R2 joins the router links and R3 connects the server's LAN. All three routers use area 0. R2 should have R1 and R3 as directly attached OSPF neighbours. R1 and R3 learn about each other through R2; they do not need a direct neighbour relationship.
A prefix is an IP network and its mask, such as 192.168.3.0/24. OSPF advertises that network so routers can reach any matching host, including the server. A router ID identifies the OSPF router; it is not the host destination or necessarily an interface address.
Each fault starts independently from the healthy three-router configuration below.
- R1 · RID 1.1.1.1
- Gi0/0 192.168.1.1/24 → SW1; Gi0/1 10.0.12.1/30 → R2 Gi0/0 10.0.12.2/30; Gi0/2 203.0.113.2/30 → ISP Gi0/0 203.0.113.1/30 (outside OSPF).
- R2 · RID 2.2.2.2
- Gi0/0 → R1; Gi0/1 10.0.23.1/30 → R3 Gi0/0 10.0.23.2/30; Gi0/2 192.168.2.1/24 → SW2.
- R3 · RID 3.3.3.3
- Gi0/0 → R2; Gi0/1 192.168.3.1/24 → SW3. LAN interfaces on all three routers are passive but included in area 0.
- Hosts and access switches
- PC-A 192.168.1.10/24, PC-B 192.168.2.10/24, server 192.168.3.10/24. Each gateway is its LAN's .1 router address. Each switch Gi0/1 → router, Gi0/2 → host Ethernet; one local access VLAN per LAN.
- OSPF assumptions
- Area 0, local process 1, unique explicit RIDs. Router links: point-to-point, Hello 10 / Dead 40 s, no authentication, matching MTU 1500. All interfaces up; gigabit bandwidth, reference 10000 Mbps, outgoing cost 10 unless stated.
- Address key
- /24 mask 255.255.255.0; /30 mask 255.255.255.252. Prefixes describe networks; host/interface addresses identify devices. No URL is shown. ISP range is documentation addressing; Internet service needs NAT, return routing and permitting policy beyond this OSPF example.
See the fault-finding decision path
- First commands
- show ip interface brief plus interface addressing/mask; show ip ospf interface for activation, area, passive status and network type; show ip ospf neighbor for the observed state. Ping tests ICMP reachability, not acceptance of OSPF protocol 89.
- Expected result for this lab
- R2 should be Full to R1 on Gi0/0 and R3 on Gi0/1. All transit links use point-to-point, area 0 and 10/40 timers. R1 and R3 do not directly neighbour each other. User LANs are passive.
Start with show ip interface brief to check address and up/up state. On the R2–R3 link, R2 Gi0/1 is 10.0.23.1/30 and R3 Gi0/0 is 10.0.23.2/30. If the link or addressing is wrong, fix that before changing OSPF. Then inspect the OSPF interface and neighbour entries on both ends.
Ping success does not prove OSPF can pass. Check filtering of IP protocol 89 and the required multicast traffic.
R2#show ip ospf neighbor Neighbor ID Pri State Dead Time Address Interface 3.3.3.3 0 FULL/ - 00:00:34 10.0.23.2 GigabitEthernet0/1 1.1.1.1 0 FULL/ - 00:00:39 10.0.12.1 GigabitEthernet0/0
Area mismatch · compare the interface area
The area ID in received OSPF packets must match the area expected on this ordinary link. R2 expects area 0. If R3 uses area 1, the routers reject the incompatible exchange even though an ordinary ping may succeed. Compare the active interface area, not just a process name in the saved configuration.
Compare the two ends of the area mismatch
- Devices, interface IPs and mask
- R2 Gi0/1 10.0.23.1/30 ↔ R3 Gi0/0 10.0.23.2/30. Subnet 10.0.23.0/30; mask 255.255.255.252. R2 RID 2.2.2.2; R3 RID 3.3.3.3 except in the duplicate-RID fault. These are interface addresses and IDs, not URLs.
- Baseline and fault scope
- Local process 1 on both routers; area 0, point-to-point, Hello 10 / Dead 40 s, IP MTU 1500, no authentication, OSPF enabled and active. Change only the highlighted setting for this case. R3 alone is changed to area 1. Addressing and both 10/40 timers still match. Area 0 and 0.0.0.0 are equivalent; area 1 is different.
%OSPF-4-ERRRCV: Received invalid packet: mismatched area ID from 10.0.23.2, GigabitEthernet0/1
interface GigabitEthernet0/0
ip ospf 1 area 0
exitR3 only, from global configuration mode: restore the intended area. Verify the active interface area and neighbour state after the change.
Timer mismatch · compare two values on two interfaces
The Hello interval controls how often discovery packets are sent. The Dead interval says how long a router waits without hearing its neighbour before declaring it lost. Both configured values must agree on this link. A shorter interval on one end is not enough to make detection faster; mismatched settings can prevent the adjacency.
Compare the mismatched Hello and Dead intervals
- Devices, interface IPs and mask
- R2 Gi0/1 10.0.23.1/30 ↔ R3 Gi0/0 10.0.23.2/30. Subnet 10.0.23.0/30; mask 255.255.255.252. R2 RID 2.2.2.2; R3 RID 3.3.3.3 except in the duplicate-RID fault. These are interface addresses and IDs, not URLs.
- Baseline and fault scope
- Local process 1 on both routers; area 0, point-to-point, Hello 10 / Dead 40 s, IP MTU 1500, no authentication, OSPF enabled and active. Change only the highlighted setting for this case. Both interfaces are in area 0, but R3 has explicit 5/20 timers. Compare both values; do not infer a configured Dead interval from the Hello interval.
show ip ospf interface GigabitEthernet0/1Privileged EXEC on R2. On R3 use GigabitEthernet0/0 instead. Compare both Hello and Dead values in the output; the interface names differ.
interface GigabitEthernet0/0
no ip ospf hello-interval
no ip ospf dead-interval
exitR3 only, from global configuration mode: remove this example's overrides. Verify that both P2P ends now report the intended 10/40-second defaults.
Passive router link · keep the LAN passive
A passive interface sends no OSPF Hellos and forms no adjacency. That is useful on the PC LAN, where no OSPF neighbour is expected. It is a fault on R2 Gi0/1 because R3 is there. Repair the affected router link; do not remove the passive policy from every LAN.
See why passive is wrong on this transit interface
- Devices, interface IPs and mask
- R2 Gi0/1 10.0.23.1/30 ↔ R3 Gi0/0 10.0.23.2/30. Subnet 10.0.23.0/30; mask 255.255.255.252. R2 RID 2.2.2.2; R3 RID 3.3.3.3 except in the duplicate-RID fault. These are interface addresses and IDs, not URLs.
- Baseline and fault scope
- Local process 1 on both routers; area 0, point-to-point, Hello 10 / Dead 40 s, IP MTU 1500, no authentication, OSPF enabled and active. Change only the highlighted setting for this case. R2 alone is passive on Gi0/1. It remains OSPF-enabled, but no adjacency forms on that link. R2's separate Gi0/0 adjacency to R1 is unaffected in this example; Gi0/2 towards PC-B should stay passive.
R2#show ip ospf interface GigabitEthernet0/1 Internet Address 10.0.23.1/30, Area 0 No Hellos (Passive interface)
router ospf 1
no passive-interface GigabitEthernet0/1
exitR2 only, from global configuration mode. Restore Hellos towards R3; retain passive on the user LAN. Check the live neighbour table after convergence.
ExStart or Exchange · investigate database exchange
ExStart is where neighbours negotiate how to exchange database descriptions. In Exchange, they compare descriptions of their stored records. Repeatedly remaining in these states means discovery has progressed, but synchronisation has not finished.
The maximum transmission unit (MTU) is the largest IP packet the interface can send without fragmentation in this context. A mismatch can cause a router to reject a database description (DBD) packet based on its advertised MTU. A small ping can succeed while this OSPF check fails.
Compare the MTU values in the failed exchange
- Devices, interface IPs and mask
- R2 Gi0/1 10.0.23.1/30 ↔ R3 Gi0/0 10.0.23.2/30. Subnet 10.0.23.0/30; mask 255.255.255.252. R2 RID 2.2.2.2; R3 RID 3.3.3.3 except in the duplicate-RID fault. These are interface addresses and IDs, not URLs.
- Baseline and fault scope
- Local process 1 on both routers; area 0, point-to-point, Hello 10 / Dead 40 s, IP MTU 1500, no authentication, OSPF enabled and active. Change only the highlighted setting for this case. Hellos agree; DBD means Database Description. Without mtu-ignore, R3 rejects an announced MTU larger than its 1400 interface MTU. ExStart/Exchange can have other causes; exact states and retries vary.
ExStart/Exchange alone does not diagnose MTU. If MTUs agree, inspect loss, filtering, duplicate RIDs and exchange logs.
show ip interface GigabitEthernet0/0 | include MTUPrivileged EXEC on R3. On R2 use GigabitEthernet0/1. Confirm the IP MTU and the actual path capability before changing it.
interface GigabitEthernet0/0
no ip mtu
exitR3 only, from global configuration mode, for this lab where the default IP MTU and the complete path support 1500. Confirm the resulting value. Do not apply this blindly to tunnels or links designed for a smaller MTU.
ip ospf mtu-ignore bypasses the DBD check; it does not fix data-packet MTU.
Duplicate router ID · verify the active identity
OSPF associates topology records with the router that created them. If R2 and R3 both identify themselves as 2.2.2.2, the records no longer describe distinct routers reliably. Give R3 its intended unique ID, then check the ID the running process actually uses.
Compare duplicated identities and different interface addresses
- Devices, interface IPs and mask
- R2 Gi0/1 10.0.23.1/30 ↔ R3 Gi0/0 10.0.23.2/30. Subnet 10.0.23.0/30; mask 255.255.255.252. R2 RID 2.2.2.2; R3 RID 3.3.3.3 except in the duplicate-RID fault. These are interface addresses and IDs, not URLs.
- Baseline and fault scope
- Local process 1 on both routers; area 0, point-to-point, Hello 10 / Dead 40 s, IP MTU 1500, no authentication, OSPF enabled and active. Change only the highlighted setting for this case. R2 and R3 have different interface addresses but the same router ID. Restore a unique R3 RID and verify the active value. Existing IOS processes may need a planned restart, which interrupts adjacencies.
%OSPF-4-DUP_RTRID_NBR: OSPF detected duplicate router-id 2.2.2.2 from 10.0.23.2 on interface GigabitEthernet0/1
router ospf 1
router-id 3.3.3.3
exitR3 only, from global configuration mode. Verify the RID actually in use. An already running IOS process may retain the old ID until restarted.
If the active RID still shows the old value
Plan an interruption before restarting OSPF. On R3, return to privileged EXEC and use clear ip ospf 1 process where supported; confirm the intended process. Recheck RID, neighbours and routes afterwards. Do not restart the healthy peer to repair R3's identity.
Authentication mismatch · compare the intended policy
Authentication checks whether OSPF packets carry the proof expected by the receiver. If the two ends expect different methods or keys, the link can remain up while OSPF packets are rejected. Compare the approved method and key settings locally without putting real key material into a ticket or screenshot. Disabling authentication just to reach Full leaves the policy fault unresolved.
See the authentication rejection scenario
- Devices, interface IPs and mask
- R2 Gi0/1 10.0.23.1/30 ↔ R3 Gi0/0 10.0.23.2/30. Subnet 10.0.23.0/30; mask 255.255.255.252. R2 RID 2.2.2.2; R3 RID 3.3.3.3 except in the duplicate-RID fault. These are interface addresses and IDs, not URLs.
- Baseline and fault scope
- Local process 1 on both routers; area 0, point-to-point, Hello 10 / Dead 40 s, IP MTU 1500, no authentication, OSPF enabled and active. Change only the highlighted setting for this case. This separate fault adds authentication on R2 only. Compare authentication mode, algorithm, key IDs, shared key and any key lifetimes as applicable. Keep secret values out of screenshots and shared diagnostic output.
Restore the intended authentication policy on both ends. See OSPF authentication.
Full neighbours · trace the missing prefix
Full confirms that an adjacency has completed database synchronisation. It does not prove that R3 included its server LAN. A link-state advertisement (LSA) is a stored network record. Check whether R3's record describes 192.168.3.0/24, then check whether R1 can calculate a route from those records.
- Router links and IDs
- R1 RID 1.1.1.1, Gi0/1 10.0.12.1/30 ↔ R2 RID 2.2.2.2, Gi0/0 10.0.12.2/30. R2 Gi0/1 10.0.23.1/30 ↔ R3 RID 3.3.3.3, Gi0/0 10.0.23.2/30. Area 0, P2P, Hello 10 / Dead 40 s; both adjacencies Full.
- Missing LAN activation
- R3 Gi0/1 192.168.3.1/24 → SW3 Gi0/1; SW3 Gi0/2 → server Ethernet 192.168.3.10/24, gateway 192.168.3.1. Fault: network 192.168.3.0 0.0.0.0 area 0 does not match the .1 interface; no interface-level activation exists. Gi0/1's passive setting alone cannot enable OSPF.
show ip ospf interface GigabitEthernet0/1Privileged EXEC on R3: confirm LAN 3 is actually included in OSPF. Passive-interface alone does not activate the interface.
interface GigabitEthernet0/1
ip ospf 1 area 0
exitR3 only, from global configuration mode: explicitly select LAN 3. Its existing passive policy remains in place; the actual subnet is 192.168.3.0/24.
show ip ospf database router 3.3.3.3Privileged EXEC on R1: inspect R3's router LSA for the 192.168.3.0/24 link and mask after convergence. A summary list containing R3's RID alone does not prove that LAN is included.
A broadcast/P2P mismatch can allow Full but prevent route calculation. Compare network types and LSA link descriptions on both ends.
A known OSPF route · check which source won
A router can learn the same prefix from more than one source. Administrative distance compares those sources locally. A smaller distance is preferred for otherwise usable routes to the identical prefix. OSPF path cost is a separate comparison within OSPF; lowering it does not make a default-distance OSPF route beat a default-distance static route.
- Evidence required
- R3's LAN advertisement is restored, the LSDB is consistent, network types agree and SPF yields a usable route. R1 has an installed static for exactly 192.168.3.0/24 via reachable next hop 10.0.12.2. This is a separate fault from the unselected-LAN example.
- Topology and result
- R1 RID 1.1.1.1 → R2 RID 2.2.2.2 → R3 RID 3.3.3.3, normal area 0, P2P. Next hop R2 Gi0/0 10.0.12.2/30, out R1 Gi0/1 10.0.12.1/30. All outgoing routed interface costs are 10; LAN 3 is R3 Gi0/1 192.168.3.1/24. Static and OSPF use the same next hop here.
R1#show ip route 192.168.3.0 Routing entry for 192.168.3.0/24 Known via "static", distance 1, metric 0 Routing Descriptor Blocks: * 10.0.12.2
Remove the static only if it is unintended. A usable OSPF route can then install if no preferred source remains.
no ip route 192.168.3.0 255.255.255.0 10.0.12.2R1 only, global configuration mode, for the confirmed unintended static route in this separate lab case. Recheck the exact prefix and resulting next hop.
Verify the repair at both control and data layers
The control plane learns routes through neighbour exchanges and calculations. The data plane forwards the user's packets using the installed result. A repair is complete only when the relevant control checks recover and the intended traffic works in both directions.
Recheck the interface, neighbour, prefix and next hop. Test server 192.168.3.10 ↔ PC-A 192.168.1.10; check gateways and filtering if hosts still fail. Save after validation.
When show commands are not enough
Inspect relevant logs first. A brief, scoped OSPF debug can expose rejection or exchange details, but output and CPU load depend on the device. Use it under the local operating procedure and finish with undebug all. A process reset is not a substitute for finding a mismatched setting.
Practise with the OSPF troubleshooting tickets.
Short lab: find one deliberate fault
Start from the working isolated lab and record R2's two Full neighbours. On R3 only, enter passive-interface GigabitEthernet0/0 under router ospf 1. Wait for the neighbour-loss condition to be reflected on both routers. Do not introduce another fault.
show ip interface brief
show ip ospf interface GigabitEthernet0/0
show ip ospf neighborR3, privileged EXEC. The interface can stay up/up while the OSPF interface reports passive and the R2 adjacency is absent. Compare R2 using Gi0/1, not Gi0/0.
Explain the evidence before repairing it. Restore no passive-interface GigabitEthernet0/0 under R3's OSPF process, confirm Full returns, then verify the LAN route and PC-A-to-server traffic. The correct repair changes the setting responsible for the fault, rather than restarting every router.
Sources: Cisco neighbour troubleshooting, ExStart/Exchange checks, database and route issues, and administrative distance.
Test yourself on broken OSPF labs
R2 and R3 can ping each other, but show ip ospf neighbor on R2 is empty. R3's interface shows Area 1 and R2's Area 0. What's the fix?
A neighbour sits in EXSTART. Hello and dead timers match. What do you check next?
R1 has a usable OSPF candidate for 192.168.3.0/24 at AD 110. Its routing table instead installs a static for the identical prefix at AD 1. Why?
In this healthy single-area lab, which command lists the router LSAs held in the local database?
You configured R3 router-id 3.3.3.3, but the active process still uses 2.2.2.2. What action applies the new RID on this IOS router?