問題解説 : プロバイダ業務に自信あります
問題文
この部署ではAS番号を持たない組織に対して、プロバイダのルータと組織内のルータの間に境界ルータを設置し、プロバイダのルータと境界ルータの間で双方向にStatic Routeを書くことで対応している。
ある組織は複数のIPアドレス(192.168.23.0/24)を持っており、組織内では独自でルーティングしている。
組織内では、割り当てられた中で使ってないIPアドレスがあり、その箇所に対しpingを行うと余計な帯域を食われてしまう問題が発生しているという苦情が届いた。
この問題に対して組織側のネットワークに影響が出ないようこの問題を解決し、原因を報告してほしい。
トラブルの概要
この問題はプロバイダ側が使用していないアドレス帯があることを想定しておらず双方向にStaticを書いたことで発生したトラブルであった。
解説
この問題はプロバイダ側が使用していないアドレス帯があることを想定しておらず双方向にStaticを書いたことで発生したトラブルであった。
この場合、未使用アドレス帯にパケットを投げた場合、組織内では、自身のルーティングテーブルに情報が乗っていないため、Default Routeである境界ルータに転送する。
境界ルータはStaticRouteより、プロバイダのルータにパケットを送るが、プロバイダは組織内のIPアドレスであると判断し境界ルータにパケットを送る。その結果、境界ルータとプロバイダのルータ間でループが発生しパケットのTTL倍の帯域を無駄に消費していた。
この問題を解決するためにはパケットを破棄するNullInterfaceを設定しNullRoutingの設定を行う必要があった。
解答例(一例)
ip route 192.168.23.128 255.255.255.128 Null 0
講評
この問題はPCからpingを実行した際のエラー文からループが発生していることを見抜けるかどうかを問う問題であった。
解答方法はチームごとに異なり、Nullを使用していない場合でも現状のネットワークに支障の出ないACLを書いているチームにも等しく点数を与えていた。
しかし、ACLを使用する場合既に書かれてある場合もあり導入が困難なケースや、設定次第で新たなトラブルの原因になりやすいため扱いには十分注意が必要である。
参加者の中にはdenyが一行書かれたACLを解答として送ってきたチームもあった。これでは全てのパケットが対外に出ることができなくなるため、暗黙のdenyに関する知識やaccess-listに関する理解を深める必要がある。
ルーティングプロトコルが集約されるときには常に、集約内のすべての IPアドレスに対するトラフィックをルータが受信する可能性がある。
しかし、すべてのIPアドレスが常に使用されているわけではないので、集約対象のトラフィックを受信するルータでデフォルトルートが使用されている場合にはパケットがループする危険性があるので注意する必要がある。