ROAキャッシュ 技術情報

Topページ  > BBIX RPKI活動  > ROAキャッシュ 技術情報

ROAキャッシュサーバ基本情報

ホスト情報

                              
Host Name Host IP (IPv4) Host IP (IPv6) Listen Port
roa1.bbix.net 103.120.84.196 2403:5440:1701:1:103:120:84:196 tcp:323
roa2.bbix.net 103.120.84.197 2403:5440:1701:1:103:120:84:197 tcp:323
            

Trust Anchor

ルータ設定例

下記にAS138033のBGPルータがROAキャッシュサーバにRPKI-RTRプロトコルで接続するための基本的な設定例とコマンド例を示します。



■ Cisco設定(Cisco IOS XR 5.3.3)

RPKI-RTR基本設定例

当設定例は、AS番号138033のBGPルータでROAキャッシュサーバ2台にIPv4アドレスで接続を行う設定例です。

configue
!
router bgp 138033
 rpki server 103.120.84.196
  transport tcp port 323
  purge-time 360
  refresh-time 600
  response-time 1300
 !
router bgp 138033
 rpki server 103.120.84.197
  transport tcp port 323
  purge-time 360
  refresh-time 600
  response-time 1300
 !
  • rpki server
    • アクセスするROAキャッシュサーバのIPアドレスを指定。ホスト情報を参照。
  • transport tcp port
    • ポート番号を指定。上記ホストのroutinator-rtrは323番でListenしています。
  • purge-timerefresh-time
    • セッションがドロップした後もBGP でセッション保持する期間、およびリフレッシュ間隔
  • response-time
    • RPKI キャッシュ サーバにシリアルまたはリセット クエリーを送信した後にサーバからの応答を待つ時間

RPKI-RTRセッション確認

# show bgp rpki server summary

ROAキャッシュサーバとの接続が確立されると以下のように表示されます。

実行例
# show bgp rpki server summary
Tue Feb 14 18:58:00.800 jst

Hostname/Address        Transport       State           Time            ROAs (IPv4/IPv6)
103.120.84.196           TCP:323         ESTAB           00:20:03        329410/7062
103.120.84.197           TCP:323         ESTAB           00:20:03        329410/7062

ROAセッションテーブル

ROAキャッシュサーバを通じて得られたprefixとOrigin ASなどの表を表示します。 コマンド例では(ipv4| ipv6)それぞれのオプションを指定し表示を制御していますが省略することで一覧表示も可能です。
設定例ではROAキャッシュサーバを2台接続先にしているため、それぞれのサーバから取得した情報が表示されています。


IPv4

# show bgp rpki table ipv4
実行例
# show bgp rpki table ipv4
  Network               Maxlen          Origin-AS         Server
  A.A.A.A/24            24              65001             103.120.84.196
  A.A.A.A/24            24              65001             103.120.84.197
  B.B.B.B/22            22              65002             103.120.84.196
  B.B.B.B/22            22              65002             103.120.84.197
               :
     >>>Snipped output<<<

IPv6

# show bgp table rpki ipv6
実行例
# show bgp rpki table ipv6
Tue Feb 14 19:14:23.311 jst

  Network               Maxlen          Origin-AS         Server
  2001:db8::1/32         32              65003              103.120.84.196
  2001:db8::1/32         32              65003              103.120.84.197
  2001:db8:AAAA::/48     48              65004              103.120.84.196
  2001:db8:AAAA::/48     48              65004              103.120.84.197
               :
     >>>Snipped output<<<

Prefix毎の有効状態確認

ROAキャッシュサーバを通じて得られたprefixのvalidationを一覧表示します。

# show bgp origin-as validity
実行例
# show bgp origin-as validity

     >>>Snipped output<<<

Status codes: s suppressed, d damped, h history, * valid, > best
              i - internal, r RIB-failure, S stale, N Nexthop-discard
Origin codes: i - IGP, e - EGP, ? - incomplete
Origin-AS validation codes: V valid, I invalid, N not-found, D disabled
    Network            Next Hop            Metric LocPrf Weight Path
N*> A.A.A.A/0        X.X.X.X                             0 65005 i
V*> B.B.B.B/24       X.X.X.X             100             0 65007 65008 65009 i
I*> C.C.C.C/22       X.X.X.X             100             0 65007 65008 65009 65050 65051 65052 i
I*> C.C.C.C/24       X.X.X.X             100             0 65007 65008 65009 65050 65051 65052 i
I*> D.D.D.D/24       X.X.X.X             100             0 65007 65008 65009 65050 65051 65052 i
N*> Z.Z.Z.Z/24       X.X.X.X             100             0 65007 65008 65009 65050  i
               :
     >>>Snipped output<<<

# show bgp origin-as validity validなどコマンド末尾に状態(valid , invalid, not-found, standby)を指定することでstateフィルターをかけることも可能。
また、# show bgp と打つことで個別に確認することも可能。



■ Juniper設定(Junos OS)

RPKI-RTR基本設定例

当設定例は、AS番号138033のBGPルータでROAキャッシュサーバ2台にIPv4アドレスで接続を行う設定例です。

configure
set routing-options autonomous-system 138033
set routing-options validation group RPKI session 103.120.84.196 refresh-time 300
set routing-options validation group RPKI session 103.120.84.196 hold-time 600
set routing-options validation group RPKI session 103.120.84.196 port 323

set routing-options validation group RPKI session 103.120.84.197 refresh-time 300
set routing-options validation group RPKI session 103.120.84.197 hold-time 600
set routing-options validation group RPKI session 103.120.84.197 port 323

投入config

set routing-options validation group session refresh-time
set routing-options validation group session hold-time
set routing-options validation group session port
  • group-name
    • 設定のグループ名です。投入するconfigで中で統一します。※一意である必要はありません。設定例ではRPKIとしています。
  • server-address
    • アクセスするROAキャッシュサーバのIPアドレスを指定。ホスト情報を参照。
  • ref-time
    • キャッシュサーバーに対するliveness ヘルスチェックの実行間隔。設定例では300(秒)にしています。
  • hold-time
    • ルータとキャッシュサーバー間のセッションが、アクティビティなしで動作していると見なされる時間の長さを指定します。指定期間を超えるとセッションは破棄されます。
      キャッシュサーバーから任意のプロトコル データ ユニット(PDU)を受信すると、タイマーがリセットされます。
      hold-timeはrefresh-timeで指定する値の少なくとも2倍に設定する必要があります。 参考: Junos hold-time (Origin Validation for BGP)を参照。
  • port-number
    • ポート番号を指定。上記ホストのroutinator-rtrは323番でListenしています。


RPKI-RTRセッション確認

> show validation session

ROAキャッシュサーバとの接続が確立されると以下のように表示されます。

実行例
> show validation session
 Session                     State   Flaps   Uptime  #IPv4/IPv6  records
103.120.84.196          Up             9    1d 09:42:41  329643/70804
103.120.84.197          Up            10    1d 10:06:06  329643/70804


ROAセッションテーブル/Prefix毎の有効状態確認

ROAキャッシュサーバを通じて得られたprefixとOrigin ASなどの表を表示します。

> show validation database
実行例
> show validation database
RV database for instance master
Prefix                 Origin-AS Session                                 State   Mismatch
A.A.A.A/24-24              65001 103.120.84.196                          valid
A.A.A.A/24-24              65001 103.120.84.197                          valid
B.B.B.B/22-22              65002 103.120.84.196                          valid
B.B.B.B/22-22              65002 103.120.84.197                          valid
               :
     >>>Snipped output<<<
               :
2001:db8::1/26-48           65003 103.120.84.196                          valid   *
2001:db8::1/26-48           65003 103.120.84.197                          valid   *
               :
     >>>Snipped output<<<
               :
  IPv4 records: 659564
  IPv6 records: 141672


AS で filterした場合

実行例
> show validation database origin-autonomous-system 138033
RV database for instance master
Prefix                 Origin-AS Session                                 State   Mismatch
A.A.A.A/24-32        65001 103.120.84.196                          valid
A.A.A.A/24-32        65001 103.120.84.197                          valid
B.B.B.B/24-32        65002 103.120.84.196                          valid
B.B.B.B/24-32        65002 103.120.84.197                          valid
               :
     >>>Snipped output<<<
               :
  IPv4 records: 8
  IPv6 records: 4


Prefixでfilterした場合

実行例
> show validation database record C.C.C.C/24
RV database for instance master
Prefix                 Origin-AS Session                                 State   Mismatch
C.C.C.C/24-32        65004 103.120.84.196                          valid
C.C.C.C/24-32        65004 103.120.84.197                          valid
               :
     >>>Snipped output<<<
               :
  IPv4 records: 2
  IPv6 records: 0

Juniper(Junos)ではキャッシュサーバとの接続設定を投入するとROA cacheがルータ内に生成される。
これらのvalidation-stateは全てunverified(検証前)となるため、policy-statement でvalidationを設定し運用する。
validation設定例はTBA.

実行例
> show route validation-state unverified  
inet.0: 907093 destinations, 907093 routes (906471 active, 0 holddown, 622 hidden)
Restart Complete
+ = Active Route, - = Last Active, * = Both
A.A.A.A/0          *[Static/5] 25w5d 20:45:51
                    > to X.X.X.X via fxp0.0
B.B.B.B/24         *[BGP/170] 1w6d 21:10:14, MED 100, localpref 100
                      AS path: 65001 65002 65003 I, validation-state: unverified
                    > to X.X.X.X via xe-0/1/5.0
C.C.C.C/22         *[BGP/170] 10:46:02, MED 100, localpref 100
                      AS path: 65001 65002 65003 65005 65008 65010 I, validation-state: unverified
                    > to X.X.X.X via xe-0/1/5.0
D.D.D.D/24         *[BGP/170] 10:46:02, MED 100, localpref 100
                      AS path: 65001 65002 65003 65005 65008 65010 I, validation-state: unverified
                    > to  X.X.X.X via xe-0/1/5.0
               :
     >>>Snipped output<<<