Bird
為 BIRD 移植 OSPF 路由過濾規則
我有一個使用 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 路由,如預期的那樣。