Jump to content
Калькуляторы

Bird BGP транзитные маршруты

Всем привет.

Имею машинку на FreeBSD: FreeBSD 14.0-RELEASE-p6 #0: Tue Mar 26 20:26:20 UTC 2024

На нем BIRD version 1.6.8.

 

Никак не пойму почему у меня маршруты, принимаемые от одного соседа iBGP, не анонсируются другому iBGP соседу.

 

Конфиг такой имею:

Скрытый текст
# Configure logging
log "/var/log/bird.log" all;

# Override router ID
router id 10.100.100.7;

protocol direct {
        interface "ix*";        # Restrict network interfaces it works with
}

protocol kernel {
        learn;                  # Learn all alien routes from the kernel
        scan time 20;           # Scan kernel routing table every 20 seconds
        import all;             # Default is import all
        export all;             # Default is export none
}

protocol static {
         route 1.1.1.0/24 via 10.33.33.21;
}

protocol device {
        scan time 10;           # Scan interfaces every 10 seconds
}

####################
# TO TERMINAL-VLAN0
####################

filter nas2_out_nexus {
bgp_next_hop = 10.33.33.22;
        if net = 0.0.0.0/0 then {
           accept;
        } else
        if net = 10.33.33.24/30 then {
           accept;
        }
        else reject;
}

filter nas2_in_nexus {
       if net = 1.1.1.0/24 then {
          accept;
       } else
       else reject;
}


protocol bgp terminal_vlan0 {
        description "uplink terminal_vlan0";
        local as 11111;
        neighbor 10.33.33.21 as 11111;
        export filter nas2_out_nexus;
        import filter nas2_in_nexus;
}

############
# TO BORDER
############

filter nas2_out_border {
bgp_next_hop = 10.33.33.25;
       if net = 1.1.1.0/24 then {
          accept;
       }
       else if net = 10.33.33.20/30 then {
           accept;
       }
       else reject;
}

filter reject_all {
       reject;
}


protocol bgp border {
        description "uplink border";
        local as 11111;
        neighbor 10.33.33.26 as 11111;
        export filter nas2_out_border;
        import filter reject_all;
}

 

 

Сейчас вышел из ситуации, добавив статический маршрут. Анонсить необходимо 1.1.1.0/24 (за этим скрывается реальная сеть).

 

Сильно не пинайте, с Birdом второй раз в жизни сталкиваюсь.

 

Как все-таки правильно в Bird транзитные анонсы прокидывать?

Share this post


Link to post
Share on other sites

6 минут назад, sol сказал:

https://linkmeup.ru/blog/1201/#DIFF

 

 

Делайте полносвязную топологию внутри iBGP.

 

 

Не понимаю как мне Full Mesh поможет. Почему нельзя без этого сделать?

 

У меня пока схема простая:

 

image.thumb.png.85a7b0ca2b28968ccb924dbbd5df986a.png

 

И вот у меня вопрос по R2. R2 от R1 маршрут принимает, а в R3 не передает.

 

 

Update:

 

Понял как оно мне поможет, только можно ли такое организовать без Full Mesh.

Share this post


Link to post
Share on other sites

4 минуты назад, sol сказал:

Т.е. недлинный текст по ссылке вы так и не прочитали?

 

Еще нет. Думаю сегодня-завтра осилю. Надо еще не просто прочитать, а понять смысл изложенного

Share this post


Link to post
Share on other sites

Update: Все, прочитав первый раздел, уже стало понятно, что я пошел немного неверным путем.

 

Что ж, буду делать Full Mesh

 

Спасибо :-)

 

В общем случае хочу реализовать такую схему:

image.thumb.png.c7378ca4d5b4494a231ceafa48a0d72e.png

Share this post


Link to post
Share on other sites

17 минут назад, vurd сказал:

Можно использовать или RR или полносвязные топологии

https://createnetech.tistory.com/53

Спасибо, тоже будет интересно поизучать.

 

 

Единственное я думаю, а реально ли будет реализовать мою схему, придется три bgp сессии поднять между R1 и R5, естественно эта связность будет на разных адресах. Будет ли при этом работать multipath, интересно конечно

Share this post


Link to post
Share on other sites

Коллеги, читая статейку СДСМ я понял, что мне будет необходимо сначала связать маршруты с Loopback адресов железок, используя OSPF, а уже поверх этого на Loopback адресах поднять iBGP и там анонсить свои внешние подсети. При этом multipath будет отрабатывать на стороне OSPF.

 

Я все верно мысли выстроил?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.