[О блоге] [наверх] [пред] [2024-08-10 20:53:42+03:00] [00d9a473e8c475152bafd316675dc3945ae64e3a]
Темы: [bgp]

Снова смена OSPF на BGP

Ради переключения контекста и отдыха, решил снова повозиться с тестовым
кластером на работе, который когда-то (c7e63aec647725b80611c735b34f39474888c6cc)
настраивал стажёр, где был поднят OSPF в стойке. Решил сделать простейшую
задачу: подключать двумя Ethernet хвостами (не только одним) серверы в
коммутатор, чтобы OSPF автоматом понял что есть несколько путей и появился
бы failover (а то и ECMP).

Был уверен, что OSPF весь из себя такой умный и легко сможет понять, что
если он слышит через коммутатор себя самого, то значит просто двумя
хвостами подключён. BIRD пишет сообщения что получен плохой пакет с
таким же идентификатором маршрутизатора как и у него. И как бы типа в
общем-то всё работает, но... маршрут постоянно прыгает и меняется то на
один NIC, то на другой. Так что на практике ничего не работает.

Пошёл к сетевикам, спросить это либо я криворукий, либо от OSPF многого
хочу, либо ещё чего. Говорят, что OSPF такое не дюжит, действительно.
Облом. Удручён. Ну не хочу я с L2 связываться, ибо нефиг.

Додумался только до того, чтобы BGP поднять на них, ибо он уже
point-to-point и коммутатор ему не помеха. Неприятно с ним то, что нет
autodiscovery и нужно прописывать номера автономных систем. Но это мелочи.

Избавился и дома от OSPF, снова, просто ради практики. Но с появлением
10GbE мне надо чтобы трафик до второго сервера, пускай даже с
дополнительным hop-ом, но ходил через 10GbE соединения. В OSPF я это
решал добавляя руками стоимость каналов. А в BGP такого нет. MED
например имеет меньший приоритет чем проверка длины AS-пути.

Вариантов как поменять приоритетность маршрутов в BGP -- масса. Возможно
я творю ещё большую дичь, но пока сделал так: для каждого интерфейса
(WAN, 1GbE или 10GbE) применяется export фильтры, который добавляет
один из трёх community, типа метка по какому каналу он приходит. А в
import фильтрах, если среди community есть только та, которая с меткой
10GbE, то priority увеличивается. До одного и того же хоста мой
компьютер может дойти напрямую через WG туннели поверх 1GbE, через WG
туннели до промежуточного сервера, с которого снова либо через 1GbE,
либо через 10GbE соединения до сервера. В общем, много путей. Но только
тот, кто проходит исключительно через 10GbE, будет иметь ровно один
нужный мне community.

Вроде работает всё как надо. До управления приоритетами в этом BGP, у
меня на одном хосте могли быть выбраны маршруты через один интерфейс, а
на другом через совершенно другой и трафик шёл вообще асимметрично.

В DN42: https://dn42.eu/howto/BGP-communities
community используются чтобы помечать и скорости и задержки и уровень
безопасности каналов между хостами.

    [оставить комментарий]