RIB vs FIB: маршрут существует, но пакет идёт иначе Маршрут есть в… — Network Admin — TG.ME

RIB vs FIB: маршрут существует, но пакет идёт иначе

Маршрут есть в RIB, но пакет всё равно уходит не туда. Особенно неприятно это становится после изменений BGP, ECMP или policy routing.

В Linux полезно сразу смотреть не только таблицу маршрутов, а конкретное решение forwarding для нужного адреса:

ip route get <ip> from <source-ip>


Здесь уже учитываются source address и выбранная таблица маршрутизации. Результат может отличаться от того, что вы видите обычным ip route.

Для нескольких routing tables:

ip rule


Потому что маршрут в main может быть абсолютно правильным, но пакет до неё вообще не дойдёт.

А дальше начинается интересное: control plane может считать маршрут лучшим, а dataplane уже использовать другую запись.

На сетевом оборудовании это удобно проверять отдельно:

show ip route <prefix>
show ip cef <destination>


Первая команда показывает решение routing process, вторая - что реально установлено в forwarding table.

Если между ними есть расхождение, искать проблему уже нужно не в самом маршруте, а в процессе установки маршрутов в FIB, ECMP, next-hop resolution или policy routing.


Именно поэтому “маршрут есть” ещё не означает, что пакет пойдёт по этому маршруту.

N.A.
👍2
August 11, 2026 1.7K 27