我正在将任播 OSPF 路由 BIND 冗余设置从 Quagga 迁移到 BIRD。
我的困难之一是使用 BIRD 获得几条不同成本的路线,就像我在 quagga 中所做的那样。
正如我在 Quagga 中所做的那样/etc/quagga/ospfd.conf
:
interface dummy0
ip ospf cost 100
!
interface dummy1
ip ospf cost 500
!
interface dummy2
ip ospf cost 1000
!
interface dummy3
ip ospf cost 900
!
我可以在birdc
使用命令时看到show ospf state
我的配置没有给出权重,尽管已经在/etc/bird.conf
.该怎么办?
protocol ospf {
tick 2;
rfc1583compat yes;
area 0.0.0.0 {
networks {
1.1.1.0/22;
2.2.2.2/32;
3.3.3.3/32;
4.4.4.4/32;
5.5.5.5/32;
};
interface "eth0" {
cost 1000;
password "xxxxxxxxxx" {
id 5;
};
authentication cryptographic;
};
interface "dummy0" {
stub;
cost 100;
};
interface "dummy1" {
stub;
cost 500;
};
interface "dummy2" {
stub;
cost 1000;
};
interface "dummy3" {
stub;
cost 900;
};
};
}
答案1
我最终从show ospf state
我在 BIRD 术语中提到的输出中学习stubnet
,并在一个晦涩的问题中找到了正确的语法和位置,并在 BIRD 语法定义中找到了正确的语法和位置。
因此,最后,在这种情况下,为 OSPF 宣布的特定路由提供成本的配置是定义一个存根网络,在 OSPF 区域定义中宣布网络,如下所示:
protocol ospf {
tick 2;
rfc1583compat yes;
area 0.0.0.0 {
#stub;
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 "xxxxxxxxxxxxxxxxxxxx" {
id 5;
};
authentication cryptographic;
};
interface "dummy0" {
stub;
};
interface "dummy1" {
stub;
};
interface "dummy2" {
stub;
};
interface "dummy3" {
stub;
};
};
}
通过使用可以看出birdc
,它有效:
dns:/etc/bird# birdc
BIRD 1.6.3 ready.
bird> show ospf state
bird>
area 0.0.0.0
.....................
router 1.1.1.1
distance 1000
network 1.1.1.0/22 metric 1000
stubnet 4.4.4.4/32 metric 1000
stubnet 5.5.5.5/32 metric 900
stubnet 3.3.3.3/32 metric 500
stubnet 2.2.2.2/32 metric 100
.................
dns:/etc/bird# exit