> ## Content Index
> Fetch the complete content index at: https://www.pinglabz.com/llms.txt
> Use this file to discover other available public pages before exploring further.

# OSPF Neighbors Not Forming: Complete Troubleshooting Guide
- URL: https://www.pinglabz.com/troubleshoot-ospf-neighbors-not-forming/
- Published: 2026-03-24T03:16:21.000Z
- Updated: 2026-08-02T05:13:21.000Z
- Description: OSPF neighbors not forming has a short list of root causes: connectivity, Hello/Dead mismatch, area, subnet, MTU, or authentication. Here is the full checklist with commands.
- Author: Jaime
- Tags: OSPF, #Import 2026-08-01 19:54

## 1\. Verify IP Connectivity

**First rule:** If routers can't ping each other, they can't become OSPF neighbors.

If you want the bigger picture first, the [OSPF complete guide](https://www.pinglabz.com/ospf/) covers the architecture this article plugs into.

### Test:

```
R1# ping 10.1.1.2
.....
Success rate is 0 percent (0/5)

```

❌ **No connectivity = no neighbors**

### Common causes:

- Interface shut down
- Wrong IP address/subnet
- Layer 2 issue (VLAN, switch port)
- Cable unplugged

### Fix:

```
R1(config)# interface gi0/0
R1(config-if)# no shutdown

```

Verify:

```
R1# ping 10.1.1.2
!!!!!
Success rate is 100 percent (5/5)

```

## 2\. Check OSPF is Enabled on Interfaces

### Check which interfaces have OSPF:

```
R1# show ip ospf interface brief
Interface    PID   Area            IP Address/Mask    Cost  State Nbrs F/C
Lo0          1     0               1.1.1.1/32         1     LOOP  0/0
Gi0/0        1     0               10.1.1.1/30        1     P2P   0/0

```

❌ **If interface is missing from this output, OSPF isn't enabled on it.**

### Common causes:

- Missing network statement
- Wrong wildcard mask
- Interface not included in OSPF

### Fix (add network statement):

```
R1(config)# router ospf 1
R1(config-router)# network 10.1.1.0 0.0.0.3 area 0

```

Or use interface-based config:

```
R1(config)# interface gi0/0
R1(config-if)# ip ospf 1 area 0

```

## 3\. Verify Area IDs Match

**OSPF rule:** Neighbors must be in the same area.

### Check Area ID:

```
R1# show ip ospf interface gi0/0 | include Area
  Internet Address 10.1.1.1/30, Area 0

R2# show ip ospf interface gi0/0 | include Area
  Internet Address 10.1.1.2/30, Area 10  ← MISMATCH!

```

❌ **Area 0 ≠ Area 10 = No adjacency**

### Fix:

```
R2(config)# router ospf 1
R2(config-router)# no network 10.1.1.0 0.0.0.3 area 10
R2(config-router)# network 10.1.1.0 0.0.0.3 area 0

```

**Learn more:** [Fixing OSPF Area Mismatch](https://www.pinglabz.com/fix-ospf-area-mismatch/)

## 4\. Check Subnet Masks Match

**OSPF rule (broadcast/NBMA):** Routers must be in the same subnet.

### Symptom:

```
R1# show ip ospf neighbor
Neighbor ID     Pri   State           Dead Time   Address         Interface
2.2.2.2         1     INIT/DROTHER    00:00:35    10.1.1.2        Gi0/0

```

**State: INIT** \= One-way communication (mismatch issue)

### Check subnet masks:

```
R1# show ip interface gi0/0 | include Internet address
  Internet address is 10.1.1.1/30

R2# show ip interface gi0/0 | include Internet address
  Internet address is 10.1.1.2/24  ← MISMATCH!

```

❌ **/30 ≠ /24**

### Fix:

```
R2(config)# interface gi0/0
R2(config-if)# ip address 10.1.1.2 255.255.255.252

```

**Learn more:** [OSPF Subnet Mask Mismatch](https://www.pinglabz.com/ospf-subnet-mask-mismatch/)

## 5\. Verify Hello/Dead Timers Match

**OSPF rule:** Hello and Dead timers must match.

### Check timers:

```
R1# show ip ospf interface gi0/0 | include Timer
  Timer intervals configured, Hello 10, Dead 40

R2# show ip ospf interface gi0/0 | include Timer
  Timer intervals configured, Hello 5, Dead 20  ← MISMATCH!

```

❌ **Timers don't match = No adjacency**

### Fix (match to default):

```
R2(config)# interface gi0/0
R2(config-if)# no ip ospf hello-interval
R2(config-if)# no ip ospf dead-interval

```

Or explicitly set:

```
R2(config-if)# ip ospf hello-interval 10
R2(config-if)# ip ospf dead-interval 40

```

**Learn more:** [OSPF Timers Explained](https://www.pinglabz.com/ospf-timers-hello-dead-intervals/)

## 6\. Check for Passive Interface Misconfiguration

**OSPF rule:** Passive interfaces don't send Hellos.

### Check passive interfaces:

```
R1# show ip protocols | include Passive
  Passive Interface(s):
    GigabitEthernet0/0  ← Interface to neighbor is passive!

```

❌ **Uplink is passive = No Hellos = No neighbor**

### Fix:

```
R1(config)# router ospf 1
R1(config-router)# no passive-interface gi0/0

```

**Learn more:** [Common Passive Interface Mistakes](https://www.pinglabz.com/ospf-passive-interface/)

## 7\. Verify Authentication Settings

**OSPF rule:** Authentication type and keys must match.

### Check authentication:

```
R1# show ip ospf interface gi0/0 | include auth
  Simple password authentication enabled

R2# show ip ospf interface gi0/0 | include auth
  Message digest authentication enabled  ← MISMATCH!

```

❌ **Plain text ≠ MD5**

### Also check keys match:

```
R1# show run interface gi0/0
 ip ospf authentication-key cisco123

R2# show run interface gi0/0
 ip ospf authentication-key cisco456  ← WRONG KEY!

```

### Fix:

```
R2(config)# interface gi0/0
R2(config-if)# ip ospf authentication-key cisco123

```

**Learn more:** [OSPF Authentication Mismatch](https://www.pinglabz.com/troubleshoot-ospf-authentication-mismatch/)

## 8\. Check MTU Settings

**OSPF rule:** MTU mismatch prevents adjacency from reaching FULL state.

### Symptom:

```
R1# show ip ospf neighbor
Neighbor ID     Pri   State           Dead Time   Address         Interface
2.2.2.2         1     EXSTART/DR      00:00:35    10.1.1.2        Gi0/0

```

**Stuck in EXSTART or EXCHANGE** \= MTU mismatch

### Check MTU:

```
R1# show interface gi0/0 | include MTU
  MTU 1500 bytes

R2# show interface gi0/0 | include MTU
  MTU 1400 bytes  ← MISMATCH!

```

### Fix (match MTU):

```
R2(config)# interface gi0/0
R2(config-if)# ip mtu 1500

```

Or tell OSPF to ignore MTU:

```
R2(config-if)# ip ospf mtu-ignore

```

**Learn more:** [OSPF MTU Mismatch](https://www.pinglabz.com/ospf-mtu-mismatch-troubleshooting/)

## 9\. Look for Duplicate Router IDs

**OSPF rule:** Router IDs must be unique.

### Check for duplicates:

```
R1# show ip ospf
%OSPF-4-DUP_RTRID1: Detected router with duplicate router ID 1.1.1.1 in area 0

```

### Fix:

```
R2(config)# router ospf 1
R2(config-router)# router-id 2.2.2.2
R2(config-router)# end
R2# clear ip ospf process

```

**Learn more:** [Duplicate Router ID Troubleshooting](https://www.pinglabz.com/fix-duplicate-ospf-router-id/)

Get the OSPF Field Reference - 9 pages, free

Everything you'd want to remember about OSPF on nine printable pages. State machine diagram, LSA types, troubleshooting decision tree, copy-paste IOS XE templates, and real lab captures. Free for PingLabz members - just sign up with your email.

[Get the OSPF cheat-sheet](https://www.pinglabz.com/ospf-cheatsheet/)

## 10\. Check for ACLs Blocking OSPF

**OSPF uses IP protocol 89**

### Check for ACLs:

```
R1# show ip interface gi0/0 | include access list
  Outgoing access list is 100

```

### Check ACL:

```
R1# show access-list 100
Extended IP access list 100
    10 deny ip any any  ← Blocks everything including OSPF!

```

### Fix (permit OSPF):

```
R1(config)# ip access-list extended 100
R1(config-ext-nacl)# 5 permit ospf any any

```

An ACL like that leaves the adjacency parked in INIT rather than killing it outright, because your Hellos still reach the neighbor while theirs never come back. If that is the state you are staring at, [work out which side is not hearing the Hellos](https://www.pinglabz.com/ospf-stuck-in-init-one-way-hello/) first, so you edit the one ACL that matters instead of both.

## Debug Commands

### Enable OSPF adjacency debugging:

```
R1# debug ip ospf adj

```

**Example output:**

```
*Mar 17 12:34:56.789: OSPF-1 ADJ Gi0/0: Rcv hello from 2.2.2.2 area 0
*Mar 17 12:34:56.791: OSPF-1 ADJ Gi0/0: Mismatched hello parameters from 10.1.1.2
*Mar 17 12:34:56.792: OSPF-1 ADJ Gi0/0: Dead R 40 C 20, Hello R 10 C 5

```

**Key line:** "Mismatched hello parameters" → Timer mismatch

### Turn off debug:

```
R1# undebug all

```

⚠️ **Warning:** Debug can overwhelm CPU. Use in lab or low-traffic production windows.

## Quick Reference Checklist

Connectivity

Check Command`ping [neighbor-ip]`

Look For100% success

OSPF enabled

Check Command

`show ip ospf interface brief`

Look ForInterface listed

Area ID

Check Command

`show ip ospf interface | inc Area`

Look ForSame area

Subnet mask

Check Command

`show ip interface | inc address`

Look ForSame subnet

Timers

Check Command

`show ip ospf interface | inc Timer`

Look ForSame Hello/Dead

Passive

Check Command

`show ip protocols | inc Passive`

Look ForNot on uplink

Authentication

Check Command

`show ip ospf interface | inc auth`

Look ForType and key match

MTU

Check Command

`show interface | inc MTU`

Look ForSame value

Router ID

Check Command`show ip ospf`

Look For

Unique IDs, no dup message

ACLs

Check Command

`show ip interface | inc access`

Look ForPermits OSPF (89)

## Summary

Now you can troubleshoot:

✅ **IP connectivity issues**  
✅ **OSPF not enabled on interfaces**  
✅ **Area ID mismatches**  
✅ **Subnet mask mismatches**  
✅ **Timer mismatches**  
✅ **Passive interface mistakes**  
✅ **Authentication problems**  
✅ **MTU issues**  
✅ **Duplicate Router IDs**  
✅ **ACLs blocking OSPF**

**Next Steps:**  
Dive deeper into specific issues:

- [Fixing OSPF Area Mismatch](https://www.pinglabz.com/fix-ospf-area-mismatch/)
- [OSPF MTU Mismatch](https://www.pinglabz.com/ospf-mtu-mismatch-troubleshooting/)
- [OSPF Authentication Mismatch](https://www.pinglabz.com/troubleshoot-ospf-authentication-mismatch/)
- [Duplicate Router ID](https://www.pinglabz.com/fix-duplicate-ospf-router-id/)

**Internal Links:**

- ← [OSPF Neighbor States](https://www.pinglabz.com/ospf-neighbor-states-explained/)
- → [Fixing OSPF Area Mismatch](https://www.pinglabz.com/fix-ospf-area-mismatch/)
- → [OSPF MTU Mismatch](https://www.pinglabz.com/ospf-mtu-mismatch-troubleshooting/)
- → [OSPF Authentication Mismatch](https://www.pinglabz.com/troubleshoot-ospf-authentication-mismatch/)
- → [Duplicate Router ID](https://www.pinglabz.com/fix-duplicate-ospf-router-id/)