[Network] 経路フィルタを掛ける

技術のお話し

IHANetに入って、ピアを3つほど現在張ってる状態になっているんですが、3つ目のピアリングを行った際、以下のような指摘をいただきまして。

「ピアが上がったみたいです。こちらは9経路受け取っているようです」

やや、9経路とな?

我が家にはそんなに経路はないはず(我が家で広告対象なPrefixは5経路)なんですがと眺めてみると、どうやら他ASの経路を広告しているようで。IHANetは基本的に非トランジットASとして構成していることを過去に話を頂いており(IHANetのフルルートを獲得するには、全ASとピアリングする必要があるというお話を頂いたのを総解釈しています。誤ってたらごめんなちゃい)、それに反する状態になってしまうなぁ(っつーか、他人に迷惑がかかる)ということから、経路フィルタの構成を行うことにしたのです。備忘録として記載します。

具体的には広告すべき経路を明示し、それを経路フィルタとしてneighborに貼り付けるという行為をします。Ciscoだとこれをグルーピングすることも出来るようなのですが、残念ながら私の腕ではうまく出来ませんでしたので、個別に設定しています。(未熟未熟ぅ!)

■広告する経路を明示する
ipv6 prefix-list FILTER_IPv6_OUT seq 10 permit ****:***:***:****::/64
ipv6 prefix-list FILTER_IPv6_OUT seq 30 permit ****:***:***:****::/64
ipv6 prefix-list FILTER_IPv6_OUT seq 40 permit ****:***:***:****::/64
ipv6 prefix-list FILTER_IPv6_OUT seq 50 permit ****:***:***:****::/64
ipv6 prefix-list FILTER_IPv6_OUT seq 60 permit ****:***:***:****::/64
ipv6 prefix-list FILTER_IPv6_OUT seq 100 deny ::/0

ルール10~60までが広告する経路、ルール100でそれ以外の経路は広告しないよう宣言します。

■広告する経路を各neighborに対して指定(★箇所)する。「prefix-list」のくだりがそう。
router bgp 64664
 address-family ipv6
 neighbor ****:***:***:***::****:** prefix-list FILTER_IPv6_OUT out(★)
 exit-address-family

これで、広告したい経路を対向AS側に広告することが出来ました。ピアリンクの対応をしてくださった方にはご迷惑をおかけすることになってしまいました・・・。

今回、自AS→対向ASに対する経路フィルタをかけるに留まっているんですが、もしかしたら入力側についても設定が別途必要なのかなーとは思っています。

ところで、つい最近どでかい某ASがオペミスしたがゆえに日本のインターネットが大打撃を受けるという事象が発生しました。

<ネット障害>国内各地で発生 総務省など情報収集

で、詳細に関してはこちらがどうやら全容のようです。

BGP leak causing Internet outages in Japan and beyond.-BGPMON

Google側のオペミスを、アメリカの通信事業者であるベライゾンがフィルタを掛けてないがゆえに全て受け取ってしまい、大規模に広告されてしまったというのが実際に起きたことのようです。上記記事でも以下のように締めくくられてます。

Since it is easy to make configurations errors, it clearly is a necessity to have filters on both sides of an EBGP session. In this case it appears Verizon had little or no filters, and accepted most if not all BGP announcements from Google which lead to widespread service disruptions. At the minimum Verizon should probably have a maximum-prefix limit on their side and perhaps some as-path filters which would have prevented the wide spread impact.

 

以下、意訳(Google翻訳をベースに意味を整理してみました)

「設定ミスをすることは容易であるため、EBGPセッションの両側には
明示的なフィルタを持つことが必須である。

このケースでは、Verizonがほとんどもしくは全くフィルタを掛けて
居なかったために、GoogleからのBGPアナウンスを全て受け入れてしまい、
広範囲にサービス影響をおよぼすこととなってしまった。

少なくともVerizonに、Prefixの限界値を設定する、もしくは
ASパスフィルタを構成するべきだっただろう。そうすればこのような
広範囲に及ぶインパクトを防止できたのだろう。」

こうしたバックボーン系のネットワーク管理って本当にシビアなんだなぁと痛感させられる事象でした。こういう事象に対する理解が出来たのも、IHANetに接続できたおかげだなぁと思った次第です。

No tags for this post.

Tags:

Comments are closed

PAGE TOP