OSPF Error: Subnet mask mismatch on broadcast network interface
Маршрутизаторы OSPF соединены через Ethernet-коммутатор или прямой кабель, но соседство застревает в состоянии INIT или пакеты отбрасываются. В журнале фиксируется:
%OSPF-4-ERRRCV: Received Hello from 10.0.0.2 on GigabitEthernet0/1 subnet mask mismatch
%OSPF-4-PACKET_DROP: Neighbor mask 255.255.255.0 does not match local interface mask 255.255.255.240
%OSPF-7-DEBUG: Ignored Hello: Subnet Mask field in OSPF Hello (255.255.255.0) != configured (255.255.255.240)- Соседство OSPF не переходит в состояние
2-WayиFULL. - В выводе
show ip ospf neighborсосед отсутствует либо периодически появляется со статусомINIT/DROTHER. - Связанная подсеть отсутствует в таблице маршрутизации RIB.
1. Требования стандарта RFC 2328 к маске подсети
В сетях с типом Broadcast и Non-Broadcast Multi-Access (NBMA) поле Network Mask в пакете Hello является строго обязательным для сверки:
- Если маска подсети входящего пакета Hello не совпадает с маской локального IP-интерфейса, пакет отбрасывается.
- Исключение: На интерфейсах с типом сети Point-to-Point (P2P) и Point-to-Multipoint маска подсети в пакетах Hello игнорируется стандартом.
2. Диагностика масок подсети на стыке
# Cisco IOS-XE
show ip interface brief | include GigabitEthernet0/1
show interface GigabitEthernet0/1 | include Internet address
show ip ospf interface GigabitEthernet0/1 | include Network Type
# Junos
show interfaces ge-0/0/1
show ospf interface ge-0/0/1.0 detail3. Решение 1: Синхронизация IP-масок на интерфейсах (Стандарт)
Приведите конфигурацию IP-адресов с обеих сторон к единой маске (например, /29):
# Router 1
interface GigabitEthernet0/1
ip address 10.0.0.1 255.255.255.248
# Router 2
interface GigabitEthernet0/1
ip address 10.0.0.2 255.255.255.2484. Решение 2: Перевод линка в Point-to-Point (Для межсетевых линков /31 и /30)
Если смена маски невозможна или линк является выделенным P2P соединением, переключите тип сети OSPF:
# Cisco IOS-XE (на обоих концах)
interface GigabitEthernet0/1
ip ospf network point-to-point
# Junos
set protocols ospf area 0.0.0.0 interface ge-0/0/1.0 interface-type p2p Частые вопросы (FAQ)
Почему OSPF требует одинаковую маску на Broadcast интерфейсах?
В Broadcast-сегментах выбирается Designated Router (DR), который генерирует Type-2 Network LSA, описывающий всю подсеть. Если маски у хостов различаются, расчет графа SPF для этой сети станет некорректным.
Можно ли поднять OSPF P2P соседство между /30 и /24 подсетями?
Да. Если на обоих интерфейсах явно настроен тип 'ip ospf network point-to-point', проверка маски отключается, и смежность перейдет в FULL (при условии IP-связности).
Поддерживает ли OSPF маску /31 на интерфейсах?
Да, OSPF полностью поддерживает маску /31 (RFC 3021) при условии настройки типа сети Point-to-Point.
Влияет ли secondary IP-адрес на проверку маски OSPF?
OSPF отправляет Hello-пакеты исключительно с Primary IP-адреса интерфейса. Маски Secondary-адресов при валидации входящих Hello игнорируются.