Bird

為 BIRD 移植 OSPF 路由過濾規則

  • May 1, 2019

我有一個使用 BIRD OSPF 的 DNS 任播設置:將 Quagga 遷移到 BIRD

但是,在命令中使用“顯示路由”時,birdc我看到很多 OSPF 從我們的內部網路學習到的路由。

事實上,在這種任播設置中(通常情況下),只需要宣布路由,而不是接收它們。

如何在 BIRD 中創建過濾器以忽略 OSPF 路由?

我的 OSPF 設置是這樣的:

protocol ospf {
       tick 2;
       rfc1583compat yes;

       area 0.0.0.0 {

           networks {
               1.1.1.0/22;
           };
           stubnet 2.2.2.2/32 {
                cost 100;
           };
           stubnet 3.3.3.3/32 {
                cost 500;  
           };
           stubnet 4.4.4.4/32 {
                cost 1000;
           };
           stubnet 5.5.5.5/32 {
                cost 900;
           };
           interface "eth0" {
               cost 1000;
               password "MySecretPassword" {
                   id 5;
               };
               authentication cryptographic; 
           };

           interface "dummy0" {
               stub;
           };
           interface "dummy1" {
               stub;
           };
           interface "dummy2" {
               stub;
           };
           interface "dummy3" {
               stub;
           };

       };
}

我在這裡找到了答案,如何將路由從核心表重新分配到 OSPF 協議?,並修改了 OSPF 配置以創建過濾器以丟棄從 OSPF 獲知的路由。

將根據任播DNS 集群的所有元素進行相應的修改。

注意在修改後的 OSPF 配置中添加的 import_OSPF 過濾器。

filter import_OSPF {
   reject;
}

protocol ospf {
       tick 2;
       rfc1583compat yes;

       import filter import_OSPF;
       area 0.0.0.0 {

           networks {
               1.1.1.0/22;
           };
           stubnet 2.2.2.2/32 {
                cost 100;
           };
           stubnet 3.3.3.3/32 {
                cost 500;  
           };
           stubnet 4.4.4.4/32 {
                cost 1000;
           };
           stubnet 5.5.5.5/32 {
                cost 900;
           };
           interface "eth0" {
               cost 1000;
               password "MySecretPassword" {
                   id 5;
               };
               authentication cryptographic; 
           };

           interface "dummy0" {
               stub;
           };
           interface "dummy1" {
               stub;
           };
           interface "dummy2" {
               stub;
           };
           interface "dummy3" {
               stub;
           };

       };
}

重新啟動 BIRD 後,“show route”診斷命令中birdc已經沒有顯示任何導入的 OSPF 路由,如預期的那樣。

引用自:https://unix.stackexchange.com/questions/382120