Route Reflector 構成での RPKI の動作検証 インフラストラクチャ本部データセンターチーム 黒河内倫倫
背景 現 行行でている Router/Switch などでは RPKI を対応していない機器もある RPKI のために Router をリプレースすることは難しい場合もあるため Route Reflector 構成で集中的に管理理できる 方法がないか検討をする なお現状 ibgp で RPKI Validation ができる機種は Juniper 製しかないため 今回は Router Reflector を Juniper 製の機器で実装した JUNOS の実装上 ebgp と ibgp を区別していないだけで 特に ibgp での Validation を意識識した実装というわけではないと予想される
基本情報
基本ネットワーク構成 AS65513(Origin AS) AS65514(Origin AS) AS65515(Origin AS) Router03 192.168.128.13/24 10.13.0.0/16 Router01 192.168.128.11/24 Router04 192.168.128.14/24 10.14.0.0/16 Router05 192.168.128.15/24 Router02 192.168.128.12/24 10.15.0.0/24 AS65511 RouteReflecter01(RR01) RR- Client に返す際に以下の Community をつけて送付 Valid 65535:3 Not- found 65535:2 Invalid 65535:1 Validation Router01,02 RR01 から受け取った Community を元に 以下の通り LP 値を変更更 Valid 150 Not- found 100 Invalid 50 RouteReflecter01(Juniper M7i) 192.168.128.50/24 ROA Server 192.168.128.1/24
物理理結線図 192.168.128.0/24 VMware ESXi サーバ Router01 (CSR1000v) Router02 (CSR1000v) Router03 (CSR1000v) ROA Server Router04 (CSR1000v) Router05 (CSR1000v) RouterReflecter2 (CSR1000v) RouteReflecter1(Juniper M7i) OS Juniper M7i : JUNOS 12.3R8.7 CSR1000v : IOS- XE 15.4 機材提供 :JPNIC 様
ROA Prefix MaxLengeth AS-Number 10.12.0.0/16 24 AS65512 10.13.0.0/16 24 AS65513 10.14.0.0/16 24 AS65514 10.15.0.0/16 24 AS65515 IP2AS-Number
検証
検証 1(Invalid 経路路の送付 ) AS65512 で広報する経路路を 誤った経路路に設定し RR で Validation できるか確認する AS65512(Mis Originated AS) AS65514(Origin AS) 10.13.0.0/16 MisOriginPrefix Router03 192.168.128.13/24 Router04 192.168.128.14/24 10.14.0.0/16 Router01 192.168.128.11/24 Router02 192.168.128.12/24 AS65511 Validation RouteReflecter01 192.168.128.50/24 ROA Server 192.168.128.1/24
RouteReflector01Validation Client(Router01,02)LPBestPath
検証 2(Invalid 経路路と Best Path Selection) AS65512 で広報する経路路を AS65514 の経路路に設定し RR で Validation できるか確認する またその際に Router01 で 10.14.0.0/16 の Best Path が AS65514 となるか AS65512(Mis Originated AS) AS65514(Origin AS) 10.14.0.0/16 MisOriginPrefix Router03 192.168.128.13/24 Router04 192.168.128.14/24 10.14.0.0/16 Router01 192.168.128.11/24 Router02 192.168.128.12/24 AS65511 Validation RouteReflecter01 192.168.128.50/24 ROA Server 192.168.128.1/24
RouteReflector01Validation Client(Router01,02)LPBestPath 10.14.0.0/16Nexthop192.168.128.14@AS65514
検証 3(Longest Match) AS65515 で広報する経路路を AS65514 の経路路に設定を 行行い 更更に 小さいサブネットに設定 この場合 RR01 で Validation できるか また Router01 で AS65514 を BestPath に選択できるか AS65512(Origin AS) AS65514(Origin AS) AS65515(Mis Originated AS) Router03 192.168.128.13/24 10.12.0.0/16 Router04 192.168.128.14/24 10.14.0.0/16 Router05 192.168.128.15/24 10.14.0.0/24 MisOriginPrefix Router01 192.168.128.11/24 Router02 192.168.128.12/24 AS65511 Validation RouteReflecter01 192.168.128.50/24 ROA Server 192.168.128.1/24
10.14.0.0/16@AS65514RouteReflector01 Router02BestPath RouteReflector01 Router02LongestMatch 10.14.0.0/24
検証 4(RR2 台構成 ) 片側の Router Reflector のみ RPKI が動作していている状況で AS65512(Mis Originated AS) AS65514(Origin AS) 10.13.0.0/16 MisOriginPrefix Router03 192.168.128.13/24 Router04 192.168.128.14/24 10.14.0.0/16 Router01 192.168.128.11/24 Router02 192.168.128.12/24 AS65511 Validation RouteReflecter02 192.168.128.16/24 RouteReflecter01 192.168.128.50/24 ROA Server 192.168.128.1/24
Router01,02Route Reflector01 ValidationCommunityRoute Reflector02 ASRouteReflector2 Policy
考察
Route Reflector での ibgp での Validation 自体は可能 前提としては ibgp で Validation 可能な Juniper のみ ただし BGP の特性上 同 一 AS 上の経路路については BestPath のみ広報されるため 一つの Router に同 一経路路で複数の Path がある場合は Valid になるはずの経路路が Router Reflector まで 届かない ADD- Path や BGP- Confederation を利利 用すれば 可能かもしれないが 今回は機器や時間の関係上 そこまではできなかった
まとめ
全体として 現在のところは ASBR(eBGP) 側で Validation を 行行うことが 無難な実装 方法であると考える ibgp での実装も可能ではあるものの 対応機器も限定的であり かつ内部の構成も複雑化させなければならないケースもある ただし RPKI の普及促進や経路路の集中管理理を考えた場合 Route Reflector での集中管理理ができた 方が良良いこともあると思う
Internet 上のどこで Validation すべきか? ただし すべての End の AS のすべての ASBR で Validation を実装することは おそらく難しいと思われる そのため Transit や IX など上位の接続となるキャリアが Validation した結果を 接続先の AS に伝えることが望ましい IX の場合は Route Server を利利 用した経路路伝搬をサポートすればよい 個別の Peering で実装していくことは難しいだろう 提供 方法としては Validation した結果を BGP- Community で送付するのが現実的であろう
仮に Route Reflector 構成で Validation を実装する場合 非常に限定的ではあるが 以下の構成を実装することで Route Reflector 構成でも Validation を実装することは可能である 1. ASBR にてすべての経路路を Route Reflector に送信できる仕組みにする ext) 1Router に 1Transit だけを収容し ASBR で Best Path Selection をさせないなど 2. Route Reflector には ibgp で Validation 可能な Juniper 製の機器を選定する ただし今後の Junos の仕様 方針によっては ibgp での Validation ができなくなる可能性もある
最後に
今回の検証にご協 力力いただいた 方 インターネットマルチフィード株式会社 川上雄也さん 一般社団法 人 日本ネットワークインフォメーションセンター 岡 田雅之さん ご協 力力ありがとうございました