BIRDを使用してDNSエニーキャストを設定しました。OSPF:QuaggaをBIRDに移行する
ただし、コマンドに「showroutes」を使用すると、birdc
OSPFが内部ネットワークで学習したルートがたくさん表示されます。
実際、このエニーキャスト設定では、(通常)ルートを受信するのではなく広告するだけです。
OSPFパスを無視するためにBIRDでフィルタを作成する方法は?
私の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;
};
};
}
答え1
ここで答えを見つけました。カーネルテーブルから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パスを期待どおりに表示しなくなります。