OSPFでredistributeとdistribute-listを使い、特定のStaticルートのみをOSPFで再配信するよう設定したところ、想定したように動作しませんでした。
EIGRPでほぼ同じ設定をした際にはうまく動いたのになぜ?と思って確認してみると、OSPFではEIGRPと仕様が異なることが原因でした。
OSPFの仕様
以下の記載を確認しました。http://www.infraexpert.com/study/rp4ospf12.htm
OSPFでは distribute-list [ out ]で制御できる経路はLSA5の外部経路だけとなりますので、OSPFに再配布される経路にだけ distribute-list out が適用される事になります。
なるほど。
ルータ自身に設定したStaticルートはdistribute-list outの適用外になるのですね。
OSPFはなぜそんな仕様なんでしょう?
ルーティング再配布については、ルーティングプロトコルごとに微妙に差異があって想定した通りに動かない事が多く、トラブルの原因になるので大変です。
仕方がないので追加した設定を削除を行いました。
(スポンサーリンク)
distribute-listの設定コンフィグ
以下は10.1.11.0のStaticルートのみをOSPFで再配布するつもりだったコンフィグです。
distribute-list 1でACL1に合致した10.1.11.0 0.0.0.255のみを配信対象とするつもりでした。
コンフィグサンプル
router ospf 100
redistribute static metric 1 metric-type 1 subnets
distribute-list 1 out static
ip route 10.1.10.0 255.255.255.0 10.3.1.1
ip route 10.1.11.0 255.255.255.0 10.3.1.1
access-list 1 permit 10.1.11.0 0.0.0.255
redistribute staticの削除コマンド
乗騎のコンフィグが動作が出来なかったため、削除を行います。(config)#router ospf 100
(config-router)#no redistribute static metric 1 metric-type 1 subnets
% OSPF supports only classless redistribution, keyword 'subnets' can only be disabled together with redistribution
(config-router)#no distribute-list 1 out static
(config-router)#no access-list 1
(config-router)#
エラーが出ましたのでsh runでOSPFの箇所を確認します。
router ospf 100
redistribute static subnets
ん?
redistribute static metric 1 metric-type 1 subnets
が
redistribute static subnets
に化けました。
急いでno redistribute static subnetsを入力して該当箇所を削除します。
※このままでは10.1.11.0のStaticルートだけではなく、10.1.10.0のルートもOSPFで再配布されてしまうため
ルーティングに関わる設定変更は影響が大きいので、設定削除前に実機でコマンド確認をしておくべきでした。
今回の変更箇所はネットワークに殆ど影響がないところだったので問題はなかったのですが、下手すると致命的なエラーになりかねない場合もありますからね。
こわい
>ん?
返信削除> redistribute static metric 1 metric-type 1 subnets
>が
> redistribute static subnets
>に化けました。
この事象に出くわしたことがあります。
これが起きる理由は何でしょうか?