#1台目のROAキャッシュサーバ cisco-xr-router (config-bgp)# rpki server <ROAキャッシュサーバのIPアドレス> cisco-xr-router (config-bgp-rpki-server)# transport tcp port <ROAキャッシュサーバのポート番号>
#2台目のROAキャッシュサーバ cisco-xr-router (config-bgp)# rpki server <ROAキャッシュサーバのIPアドレス> cisco-xr-router (config-bgp-rpki-server)# transport tcp port <ROAキャッシュサーバのポート番号>
上記の例では、ROAキャッシュサーバを2台設定しています。
1 2 3
cisco-xr-router(config-bgp)# do show run cisco-xr-router(config-bgp)# do show ip bgp rpki server summary #(RPKIキャッシュサーバに接続していれば情報が表示されます)
ROAキャッシュサーバからルータがVRPの受信を確認します。
1 2 3 4 5 6 7 8 9 10 11 12 13
#VRPを表示 cisco-xr-router# do show ip bgp rpki table
#存在すべきROAのVRPは得られているかを確認 #(本設定例では、文書用IPv4アドレスとして、192.0.2.0/24をVRPとして確認しています。実際の設定では、自組織のROAなど適宜 読み替えてください。) cisco-xr-router# show ip bgp rpki table | include 192.0.2.0/24
#VRPの総数を確認 cisco-xr-router# show ip bgp rpki summary RPKI cache-servers configured: 2 RPKI database Total IPv4 net/path: 351268/394829
B) ROVの結果により経路の優先順位などを変更する 以下の例では、BGPピア192.0.2.1から受け取ったUpdateパケットに対してROVを行い、validの経路のLocal Preference値を150に、not foundの経路のLocal Preference値を100に設定します。この場合、validの経路が優先されます。
1 2 3 4 5 6 7 8 9 10 11 12
cisco-xr-router(config)# route-policy ROV-IN cisco-xr-router(config-route-map)# if validation-state is valid then cisco-xr-router(config-route-map)# set local-preference 150
cisco-xr-router(config-route-map)# elseif validation-state is not-found then cisco-xr-router(config-route-map)# set local-preference 100 cisco-xr-router(config-route-map)# exit
#1台目のROAキャッシュサーバ cisco-xe-router (config-router)# bgp rpki server tcp <ROAキャッシュサーバのIPアドレス> port <ROAキャッシュサーバ のポート番号> refresh < refresh-time > #2台目のROAキャッシュサーバ cisco-xe-router (config-router)# bgp rpki server tcp <ROAキャッシュサーバのIPアドレス> port <ROAキャッシュサーバ のポート 番号> refresh < refresh-time > ※IOS-XEでは、サーバ設定時にrefresh-timeを指定。
上記の例では、ROAキャッシュサーバを2台設定しています。
1 2 3 4 5
設定の確認 cisco-xe-router# show running-config cisco-xe-router# show ip bgp rpki server 設定がされていれば何らかの情報が表示されます。
ROAキャッシュサーバからルータがVRPの受信を確認します。
1 2 3 4 5 6 7 8 9 10 11 12 13
#rrtキャッシュの概要を表示 cisco-xe-router# show bgp rpki roa summary
#VRPを表示(IPv4) cisco-xe-router# show bgp ipv4 unicast rpki table
#VRPを表示(IPv6) cisco-xe-router# show bgp ipv6 unicast rpki table
#存在すべきROAのVRPは得られているかを確認 #(文書用IPv4アドレスとして、192.0.2.0/24をVRPとして確認しています。実際の設定では、自組織のROAなど適宜読み替えてくだ さい。) cisco-xe-router# show ip bgp ipv4 unicast rpki table | include 192.0.2.0/24
B) ROVの結果により経路の優先順位などを変更する 以下の例では、BGPピア192.0.2.1から受け取ったUpdateパケットに対してROVを行い、validの経路のLocal Preference値を150にnot foundの経路のLocal Preference値を100に設定しています。 この場合、validの経路が優先されます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
cisco-xe-router(config)# route-map ROV-IN deny 10 cisco-xe-router(config-route-map)# match rpki invalid cisco-xe-router(config-route-map)#exit cisco-xe-router(config)# route-map ROV-IN permit 10 cisco-xe-router(config-route-map)# match rpki valid cisco-xe-router(config-route-map)# set local-preference 150 cisco-xe-router(config-route-map)# exit cisco-xe-router(config)# route-map ROV-IN permit 20 cisco-xe-router(config-route-map)# match rpki not-found cisco-xe-router(config-route-map)# set local-preference 100 cisco-xe-router(config-route-map)# exit
set policy-options prefix-list rpki-rtr-v4 apply-path "routing-options validation group <*> session <*.*>" set policy-options prefix-list rpki-rtr-v6 apply-path "routing-options validation group <*> session <*:*>"
set firewall family inet filter protect-re-v4 term rpki-rtr from source-prefix-list rpki-rtr-v4 set firewall family inet filter protect-re-v4 term rpki-rtr from protocol tcp set firewall family inet filter protect-re-v4 term rpki-rtr from source-port <ROAキャッシュサーバのポート番号> set firewall family inet filter protect-re-v4 term rpki-rtr then accept
set firewall family inet filter protect-re-v6 term rpki-rtr from source-prefix-list rpki-rtr-v6 set firewall family inet filter protect-re-v6 term rpki-rtr from next-header tcp set firewall family inet filter protect-re-v6 term rpki-rtr from source-port <ROAキャッシュサーバのポート番号> set firewall family inet filter protect-re-v6 term rpki-rtr then accept
A) ROAキャッシュサーバを設定し、VRPを取得できることを確認する
1 2 3 4 5 6 7 8
set routing-options validation group rpki-roa-cache session <ROAキャッシュサーバのIPアドレス> refresh-time 150 set routing-options validation group rpki-roa-cache session <ROAキャッシュサーバのIPアドレス> hold-time 300 set routing-options validation group rpki-roa-cache session <ROAキャッシュサーバのIPアドレス> record-lifetime 1800 set routing-options validation group rpki-roa-cache session <ROAキャッシュサーバのIPアドレス> port <ROAキャッシュ サーバのポート番号> set routing-options validation group rpki-roa-cache session <ROAキャッシュサーバのIPアドレス> local-address <ルー タに設定されたlo0のIPアドレス>
set routing-options validation group rpki-roa-cache max-sessions {sessions-in-group}
ROAキャッシュサーバとRTRセッションが確立していることを確認します。
1 2 3 4
user@junos> show validation session Session State Flaps Uptime #IPv4/IPv6 records 2406:e240:d000:1::feed Up 0 08:13:21 490424/117711 2406:e240:d000:2::feed Up 0 08:13:21 490424/117711
B) ROVの結果により経路の優先順位などを変更する 以下の例では、BGPピア192.0.2.1から受け取ったUpdateパケットに対してROVを行い、validの経路のLocal Preference値を150に、not foundの経路のLocal Preference値を100に、invalidの経路のLocal Preference値を50に設定しています。 この場合、valid > not found > invalidの順に経路が優先されることになります。
set policy-options community origin-validation-state-invalid members large:<AS番号など>:1000:4 set policy-options community origin-validation-state-unknown members large:<AS番号など>:1000:2 set policy-options community origin-validation-state-valid members large:<AS番号など>:1000:1 #communityの値は例です。
set policy-options policy-statement rpki-rov term valid from protocol bgp set policy-options policy-statement rpki-rov term valid from validation-database valid set policy-options policy-statement rpki-rov term valid then local-preference 150 set policy-options policy-statement rpki-rov term valid then validation-state valid set policy-options policy-statement rpki-rov term valid then community add origin-validation-state-valid set policy-options policy-statement rpki-rov term valid then next policy #上記then階層での設定のその他の選択肢として、communityの付与のみに留めるケースや、local-preference add 50などとして、 Local Preference値を加算するなどの方法もあります。
set policy-options policy-statement rpki-rov term not-found from protocol bgp set policy-options policy-statement rpki-rov term not-found from validation-database unknown set policy-options policy-statement rpki-rov term not-found then local-preference 100 set policy-options policy-statement rpki-rov term not-found then validation-state unknown set policy-options policy-statement rpki-rov term not-found then community add origin-validation-state-unknown set policy-options policy-statement rpki-rov term not-found then next policy #上記then階層での設定のその他の選択肢として、communityの付与のみに留めるケースなども考えられます。
set policy-options policy-statement rpki-rov term invalid from protocol bgp set policy-options policy-statement rpki-rov term invalid from validation-database invalid set policy-options policy-statement rpki-rov term invalid then local-preference 50 set policy-options policy-statement rpki-rov term invalid then validation-state invalid set policy-options policy-statement rpki-rov term invalid then community add origin-validation-state-invalid set policy-options policy-statement rpki-rov term invalid then next policy #上記then階層での設定のその他の選択肢として、communityの付与のみに留めるケースや、reject(経路を拒否)するケースなど も考えられます。
set protocols bgp group <BGP設定グループ> import rpki-rov set protocols bgp group <BGP設定グループ> import other-policy set protocols bgp group <BGP設定グループ> peer-as <AS Number> set protocols bgp group <BGP設定グループ> neighbor 192.0.2.1