EIGRPネットワークにおける再配送の挙動について

Unanswered Question
Nov 21st, 2010

お世話になっております。

弊社が管理する eigrp networkにおいて、他社装置からstaticルートを再配送で受けています。

ですが、他者装置から再配送される当該ルートが、外部(EX)ではなく内部(D)となって、弊社装置のルーティングテーブルに表示されます。

バグを疑っているのですが、これは正しい挙動なのでしょうか?

ご存じの方いらっしゃいましたら、ご教授願います。

I have this problem too.
0 votes
  • 1
  • 2
  • 3
  • 4
  • 5
Average Rating: 0 (0 ratings)
furumotoyuichi Sun, 11/21/2010 - 06:48

バグの可能性もあるかとは思いますが、その前に御社、他社様の該当機器configはあります

でしょうか?

takeshi.itohara Sun, 11/21/2010 - 06:51

他社装置のためconfigはありません。

弊社装置のconfig内容については、正常であることを確認しております。

furumotoyuichi Sun, 11/21/2010 - 08:43

configがないので確認できないのかもしれませんが、staticの宛先ネットワークがeigrpのネットワーク範囲内で、かつnexthopをfa0などinterfaceで記述していませんでしょうか?

この条件ならStaticでも内部ルートとして表示されたかと思います。

以上お役に立てれば幸いです。

takeshi.itohara Sun, 11/21/2010 - 16:10

おはようございます。

ご回答いただいた内容・情報は、信頼性の高いものでしょうか?

(疑ってるような書き方ですいません)

情報ソースをいただけると助かります。

経験則?CCO?その他?

furumotoyuichi Sun, 11/21/2010 - 16:25

以前、同じ環境でトラブりましたので間違いないと思います。その時はnexthopがnull interfaceでしたが。

furumotoyuichi Sun, 11/21/2010 - 16:33

実機にても確認取れましたので、間違いないかと思います。

takeshi.itohara Sun, 11/21/2010 - 17:26

実機検証までいただいたようで、ありがとうございます。

では、対処としては、他社装置におけるStaticルートの記述方法に修正が必要で、

・nexthopにIPアドレスを指定する

・インターフェースも指定する??

という設定になれば、弊社装置にて、外部ルートとして表示されるということでしょうか?

他社装置の設定内容も、再度確認を依頼してみます。

t-yamashita Sun, 11/21/2010 - 19:11

こんにちは。

furumoto さんの回答に少し補足させて頂きます。

static ルートをインターフェース指定で記述し、当該経路を EIGRP の Network で指定した場合、Neighbor ルータでは、内部経路として認識します。

これは、IOS の不具合ではなく、仕様になります。

具体的には、EIGRP プロセスは、インターフェース指定の static ルートを、directly connect ネットワークとして認識します。

詳細は以下を参照ください。
http://www.ciscosystems.com/en/US/tech/tk365/technologies_white_paper09186a0080094cb7.shtml#statictointerface

Redistribution of Static Routes to Interfaces

Router One redistributes this route, even though it is not redistributing staticroutes,
because EIGRP considers this a directly attached network
.


もし、他社ルータにおいて、インターフェース指定(or null0)の static ルートを記述し、redistribute static を実行している場合は、
以下のように eigrp の network から当該ネットワークを削除する事も対応策の 1 つかと考えます。


ip route 172.16.1.0 255.255.255.0 dialer1
!

router eigrp 2000
redistribute static
network 10.0.0.0 0.0.0.255
no network 172.16.1.0 0.0.0.255
no auto-summary


static 調整(next-hop の ip 指定)と比較し、インターフェースを指定せざるを得ない p2p 環境においても対応できるといった利点があります。

他社ルータでは以下のように、ネットワークを削除できない場合は、furumoto さんが書かれているように、ip 指定する事が対応策になると思います。

ip route 172.16.1.0 255.255.255.0 dialer1

!
router eigrp 2000
redistribute static
network 10.0.0.0
network 172.16.0.0 … 内部に配信したい別ネットワークがあるケース
no auto-summary

以上、ご参考になれば幸いです。

Yamashita

furumotoyuichi Sun, 11/21/2010 - 17:28

Aが御社想定、Bが他社様想定となります。

A#sh ip route

D       99.99.99.0 [90/30720] via 192.168.1.2, 00:00:05, FastEthernet1
C    192.168.1.0/24 is directly connected, FastEthernet1

B#sh run | se eig


router eigrp 1
redistribute static
network 99.99.99.0 0.0.0.255
network 192.168.1.0
auto-summary

B#sh run | i ip route


ip route 99.99.99.0 255.255.255.0 FastEthernet0/0

お役に立てれば幸いです。

furumotoyuichi Sun, 11/21/2010 - 17:40

nexthopにipが入っていれば外部ルートという認識でよいかと思います。

nexthopにはipとinterfaceを両方記述することをお勧めします。

見当違いの可能性もありますので、他社様機器の設定内容が確認できればまた教えていただければと思います。

ちなみに他社様機器の型番、versionなどはわかりますでしょうか?

snakayama Tue, 11/23/2010 - 17:37

こんにちは。

config がありませんので、Takeshi Itohara さんの経験されている事象と同じではないかもしれませんが、私も似たような経験をしたことがあります。

その時の設定は、

ip route 100.2.0.0 255.255.0.0 Null0

router eigrp 3
network 100.2.0.0

といったものでした。redistribute static の設定はしていません。

ip route で設定している 100.2.0.0 が

router eigrp 3
network 100.2.0.0

にある network コマンドで設定されていることから、EIGRP では 100.2.0.0 を directly attached network と認識しますので、逆に redistribute static が設定されていなくても redistribute されました。directly attached network なので、Internal 扱いとなりました。

sh ip eigrp topo では、以下のように Rstatic、Internal となりました。

sh ip eigrp to 100.2.0.0

  0.0.0.0, from Rstatic, Send flag is 0x0
      Composite metric is (256/0), Route is Internal

また、directly attached network なので、redistribute static が設定されていても、redistribute static により再配信されたルートではありませんので、redistribute 時の default-metric は適用されず、通常の計算が行なわれました。

今回懸案とあっている EIGRP のルートが外部(EX)ではなく内部(D)となっている原因は、そのルートが redistribute static に該当していないルートだからではないでしょうか。

以上です。

ご参考になれば幸いです。

takeshi.itohara Fri, 11/26/2010 - 07:38

furumotoyuichi様

t-yamashita様

snakayama様

こんばんは。

本件、結論としましては「StaticルートのnexthopにIPアドレスを指定」する形で想定通りの挙動を確認致しました。

皆様の推測通り、内部ルートとして再配送されていたStaticルートのnexthopとして、intefaceが設定されていたようです。

(他社ルータで、networkコマンドの削除による影響を、当方で判断できない(したくないかった?)ため、上記を適用しました)

皆様からの多大のご支援により、大変助かりました。本当にありがとうございました。

snakayama Sun, 11/28/2010 - 18:00

こんにちは。

実際に検証したわけではありませんが・・・

先ず、

- ip route で outgoing interface を指定した場合は EIGRP internal として扱われる
- ip rotue で next hop address を指定した場合は EIGRP external として扱われる

ということではないと思います。

redistribute static を設定した時、ip route コマンドで指定した outgoing interface が

EIGRP の network コマンドで定義されている (network コマンドに含まれている) 場合
 directly attached network と認識されるため、redistribute static は動作せず、EIGRP では internal として扱われる。

EIGRP の network コマンドで定義されていない (network コマンドに含まれていない) 場合
 通常の redistribute static の動作となり、EIGRP では external として扱われる。逆に redistribute static が設定されていない場合には再配信されない

となるのではないかと思います。

そして、ip rotue で next hop address を指定した場合は EIGRP external として扱われる件ですが、これは next hop address が指定されたことはすなわち少なくとも 1 ホップ先のネットワークということになり、少なくとも directly attached network/connected network ではない、と認識されるため、通常の redistribute static の動作となり、EIGRP では external として扱われるのではないかと思います。

snakayama Sun, 11/28/2010 - 18:29

こんにちは。

メール通知の本文にありました、

>本題とは離れた、そもそも素朴な疑問なのですが。。
>Staticルートの設定において、nexthopのIPアドレスに加え、interfaceを設定する理由を理解できておらず、ご教授>いただければ幸いです。

についてですが、これは、Recursive routing (再帰ルーティング) の防止のために必要であると思います。

この他にも、

スタティック ルートのためのネクスト ホップ IP アドレス指定
http://www.cisco.com/JP/support/public/ht/tac/100/1007800/ip_static_routes-j.shtml

に書かれていますのでご参照頂ければと思います。

例えば、(頭の中で描いたアドレスを書いていますのでアドレッシングに矛盾があったらすいません)

ip route 10.10.10.0 255.255.255.0 20.20.20.1

が設定されているとします。この場合、正常時は next hop ip address が 20.20.20.1 となります。
そして、この next hop ip adderss である 20.20.20.1 の実際の outgoing interface は F0/0/0 になっているとします。

ip route 10.10.10.0 255.255.255.0 20.20.20.1

には、next hop ip address 20.20.20.1 は設定されていますが、outgoing interface は明示的に設定されていません。

そして、以下のように、他の interface で EIGRP Default route を学習しているとします。

 D*EX 0.0.0.0/0 [200/13086720] via 30.30.30.1, 09:08:09, F0/0/1

あるいは、他の next hop ip address が指定されたデフォルトルートが設定されているとします。

 ip route 0.0.0.0 0.0.0.0 30.30.30.1

上記のような設定がある場合、next hop ip address 20.20.20.1 の実際の outgoing interface である F0/0/0 が down した場合、実際には next hop 20.20.20.1 への reachability は失われますが、

D*EX 0.0.0.0/0 [200/13086720] via 30.30.30.1, 09:08:09, F0/0/1

あるいは

 ip route 0.0.0.0 0.0.0.0 30.30.30.1

がルーティングテーブルに存在していることから、next hop ip address 20.20.20.1 への reachability は、F0/0/1 経由で可能であると認識してしまいます。このため、

ip route 10.10.10.0 255.255.255.0 20.20.20.1

は利用可能であると認識され、ルーティングテーブルから削除されませんので、ブラックホールのようになってしまいます。outgoing interface が down したら、ルーティングテーブルから削除するために、outgoing interface も指定する必要があります。

また、static route の outgoing interface にブロードキャストのインターフェイス (LAN インターフェース) を指定した場合、ルータはその static route の範囲内の全てのホストがそのインターフェイスを介して直接接続されていると見なします。例えば、ip route 0.0.0.0 0.0.0.0 F0/0/0 がこれに該当します。

この設定では、ルータは、すべての宛先が F0/0/0 に直接接続されていると認識するため、この static route を使用して発見する全ての宛先に対して ARP を実行してしまいます。

これに対して、next hop ip address を指定すると、ルータがそれぞれの宛先アドレスで ARP を実行するのを防止することができます。しかし、next hop ip address だけを設定した場合には、上記の Recursive routing (再帰ルーティング) が発生する可能性がありますので、ip route の設定では、next hop ip address と outgoing interface の両方を設定することが推奨されていると思います。

ご参考になれば幸いです。

Actions

Login or Register to take actions

This Discussion

Posted November 21, 2010 at 6:31 AM
Stats:
Replies:14 Avg. Rating:
Views:2295 Votes:0
Shares:0
Tags: No tags.

Discussions Leaderboard