çè«
ãŸããããã€ãã®çšèªïŒ
RPKIïŒResource Public Key InfrastructureïŒã¯ãã€ã³ã¿ãŒãããäžã®ã°ããŒãã«ã«ãŒãã£ã³ã°ã®ã»ãã¥ãªãã£ã確ä¿ããããã«èšèšãããéå±€åå ¬éããŒã·ã¹ãã ïŒPKIïŒã§ãã RPKIã¯ãIPã¢ãã¬ã¹ãšASçªå·ïŒ RFC3779 ïŒã®äœ¿çšãèš±å¯ããè¿œå ã®æ¡åŒµæ©èœãåããX.509 PKI蚌ææžã¢ãŒããã¯ãã£ïŒ RFC5280 ïŒã䜿çšããŸãã 蚌ææžã®æ§é ã«ãããã€ã³ã¿ãŒããããªãœãŒã¹ïŒIPã¢ãã¬ã¹ãšèªåŸã·ã¹ãã ã®æ°ïŒã®ååžã決å®ã§ããŸãã ã€ã³ã¿ãŒããããªãœãŒã¹ã¯ãIANAã«ãã£ãŠæåã«å°åã€ã³ã¿ãŒãããã¬ãžã¹ããªïŒRIRïŒãä»ããŠé ä¿¡ããã次ã«ããŒã«ã«ã€ã³ã¿ãŒãããã¬ãžã¹ããªïŒLIRïŒã«é ä¿¡ãããããŒã«ã«ã€ã³ã¿ãŒãããã¬ãžã¹ããªïŒLIRïŒã顧客éã§ã€ã³ã¿ãŒããããªãœãŒã¹ãé ä¿¡ããŸãã RPKIã·ã¹ãã ãåãæ¹æ³ã§æ§ç¯ãããŸãã ã€ã³ã¿ãŒããããªãœãŒã¹ã®ãã®åŸã®åé åžã«ã¯ãã芪ããã€ãŸããããã®ã€ã³ã¿ãŒããããªãœãŒã¹ãæåã«æäŸããçµç¹ã®ããŒã§çœ²åããã蚌ææžã®äœæã䌎ããŸãã åã€ã³ã¿ãŒããããªãœãŒã¹ã«é¢é£ä»ãããããã®ãããªèšŒææžã®å šäœãããŒã¿ããŒã¹ãæ§æããããã«ãã£ãŠæ å ±ã®æ£ç¢ºæ§ãæ€èšŒã§ããŸãã ãã®ãããªããŒã¿ããŒã¹ã¯ããã¹ãŠã®RIRã®ããââãªãã¯RPKIãªããžããªã«ãããŸãã
ROAïŒã«ãŒããªãªãžã³èªèšŒïŒ -ã«ãŒããäœæããèš±å¯ã ä»æ§ã«åŸã£ãŠãROAã«ã¯ãèš±å¯ãããASã®çªå·ããã®ASãã¢ããŠã³ã¹ããèš±å¯ãæã£ãŠããIPãã¬ãã£ãã¯ã¹ã®ãªã¹ããããã³å¯Ÿå¿ããæ å ±ãªãœãŒã¹ã説æãã蚌ææžãå«ãŸããŠããŸãã èªèšŒã·ã¹ãã ã®è©³çŽ°ã«ã€ããŠã¯ãèšäºãã¢ãã¬ã¹æå®å¯èœãªã€ã³ã¿ãŒããããªãœãŒã¹ã®èªèšŒããåç §ããŠãã ããããã®ãªã³ã¯ã¯æçš¿ã®æåŸã«ãããŸãã
ãã¬ãã£ãã¯ã¹ã®æ€èšŒã¯çŽæ¥RPKIã»ãã·ã§ã³ã§åã«ãŒã¿ãŒã«ãã£ãŠåå¥ã«å®è¡ã§ããŸããããã®ã¢ãããŒãã¯ã«ãŒã¿ãŒãªãœãŒã¹ïŒRPKIããŒã¿ãåä¿¡ããéã®ãªãœãŒã¹éçŽçãªæå·åæäœïŒã®å€§ããªæ¯åºãå¿ èŠãšããããæšå¥šãããŸããã ãã®ããŒã¿ã䜿çšããã«ã¯ãããŒã¹ããããªãã¯RPKIãªããžããªãšåæããããŒã«ã«RPKIãã£ãã·ã¥ãµãŒããŒããµããŒãããããšããå§ãããŸãã åä¿¡ããããŒã¿ã¯åŠçããããã£ãã·ã¥ãµãŒããŒã§ãã§ãã¯ãããŸãã 次ã«ããã£ãã·ã¥ãµãŒããŒã¯ãã¬ãã£ãã¯ã¹ããASãžã®ãšã³ããªãçæããŸãã çæãããããŒã¿ããŒã¹ã¯ãRPKI-RTRãããã³ã«ã䜿çšããå®å šãªTCPæ¥ç¶ãä»ããŠã«ãŒã¿ãŒã«ã¢ããããŒããããŸãã ãããã£ãŠãã«ãŒã¿ãŒã¯æå·åæ å ±ãåŠçããRPKIããŒã¿ãæäœããå¿ èŠããããŸããã ãã®åŸãã«ãŒã¿ãŒã¯æ¢è£œã®ããŒãã«ã䜿çšããŠãã¬ãã£ãã¯ã¹ããã§ãã¯ããŸãã
ã«ãŒã¿ãŒã§ã¯ãããŒã¿ããŒã¹ã¯RVïŒã«ãŒãæ€èšŒïŒãšã³ããªã®åœ¢åŒã§è¡šç€ºãããŸãã RVããŒã¿ããŒã¹ã«ã¯ãRPKIãã£ãã·ã¥ãµãŒããŒããã«ãŒã¿ãŒãããŠã³ããŒãã§ããRVã¬ã³ãŒãã®ã³ã¬ã¯ã·ã§ã³ãå«ãŸããŠããŸãã RVã¬ã³ãŒãã¯ããã¬ãã£ãã¯ã¹ãæ倧ãã¬ãã£ãã¯ã¹é·ãASãœãŒã¹ã§æ§æãããŸãã ãã®ã¬ã³ãŒãã¯ãRVã¬ã³ãŒããã¬ãã£ãã¯ã¹ãã£ãŒã«ããäžèŽããåã«ãŒãããã§ãã¯ããããã«äœ¿çšãããŸãã ãŸããRVã¬ã³ãŒãã§æå®ãããæ倧é·ãšASçªå·ããã§ãã¯ããŸãã RVèšé²ã¯ãROAèšé²ã®ç°¡ç¥åããã圢åŒã§ãã ROAãšã³ããªèªäœã¯ã«ãŒãã®æ€èšŒã«äœ¿çšãããªãããããã£ãã·ã¥ãµãŒããŒã¯æ¢ã«çæãããRVãšã³ããªãã«ãŒã¿ãŒã«ãšã¯ã¹ããŒãããŸãã
RVèšé²ã®ã«ãŒãã確èªããæé ïŒ
- RVã¬ã³ãŒãã®æ倧ãã¬ãã£ãã¯ã¹é·ã¯ãã¬ã³ãŒããäœæãããã«ãŒããã¹ã¯ã®é·ã以äžã§ãªããã°ãªããŸããã
- AS_PATHã§ç€ºãããæåã®ïŒå³ã®ïŒASãã¬ãã£ãã¯ã¹ã¯ãRVã¬ã³ãŒãã®ASçªå·ãšäžèŽããå¿ èŠããããŸãã
RVã¬ã³ãŒãã®ããŒã«ã«ããŒã¿ããŒã¹ã®ç¶æ ã«é¢ä¿ãªãããã¹ãŠã®ãã¬ãã£ãã¯ã¹ãã«ãŒã¿ãŒã«ãã£ãŠãã§ãã¯ãããŸãã æ€èšŒæã«ããŒã¿ããŒã¹ã空ã®å ŽåãããŒã¿ããŒã¹ã«ã¯ãã®ãã¬ãã£ãã¯ã¹ã«é¢ããæ å ±ããªãããããã¹ãŠã®ãã¬ãã£ãã¯ã¹ã«ã¹ããŒã¿ã¹äžæãèšå®ãããŸãã ããŒã¿ããŒã¹ãæŽæ°ããããã³ã«ãã«ãŒã¿ãŒã¯ãã£ãã·ã¥ãµãŒããŒã®ã¿ã€ããŒããªã»ãããããããããŒã¿ããŒã¹ã®å€æŽã®åç §ãã€ã³ããèšå®ãããããŒã¿ããŒã¹ã®ããŒãžã§ã³ãã¡ã¢ãªã«ä¿åãããŸãã åæ¥ç¶ãããšãã«ãŒã¿ãŒã¯ã¡ã¢ãªå ã«ããããŒã¿ããŒã¹ã®ããŒãžã§ã³ããã£ãã·ã¥ãµãŒããŒã«éä¿¡ããããŒãžã§ã³ãææ°ã§ãªãå Žåã¯æŽæ°ãè¡ãããŸãã
æ€èšŒã«åºã¥ããŠeBGPãåä¿¡ãããã¬ãã£ãã¯ã¹ã«ã¯ã次ã®3ã€ã®ç¶æ ããããŸãã
- æå¹-ãã¬ãã£ãã¯ã¹ãšASçªå·ãããŒã¿ããŒã¹ã«ããããšã瀺ããŸã
- ç¡å¹-ãã¬ãã£ãã¯ã¹ãããŒã¿ããŒã¹ã§èŠã€ãã£ããããã¬ãã£ãã¯ã¹ã®ãœãŒã¹ã®ASçªå·ãããŒã¿ããŒã¹ã§æå®ãããASçªå·ãšäžèŽããªãããBGPã¡ãã»ãŒãžã®ãã¬ãã£ãã¯ã¹é·ãããŒã¿ããŒã¹ã§æå®ãããæ倧蚱容é·ãè¶ ããŠããããšã瀺ããŸã
- äžæ-ãã¬ãã£ãã¯ã¹ãããŒã¿ããŒã¹ã«èŠã€ããããããŒã¿ããŒã¹ã®ã©ã®ãããã¯ãŒã¯ã«ãå«ãŸããŠããªãããšã瀺ããŸã
ç·Žç¿ãã
ãŸããã«ãŒã¿ãŒãéä¿¡ããRPKIãã£ãã·ã¥ãµãŒããŒãæ§æããå¿ èŠããããŸãã ãããã®ç®çã®ããã«ãRIPE NCCã¯ãUNIXã«äŒŒãOSäžã§å®è¡ããã2ã€ã®éšåã§æ§æãããRPKIæ€èšŒã¢ããªã±ãŒã·ã§ã³ãéçºããŸããã
- RPKIããŒã¿ããŒã¹ãæäœããããã®Webã€ã³ã¿ãŒãã§ã€ã¹
- ã«ãŒã¿ãŒããŒã¢ã³
Java 7ãã€ã³ã¹ããŒã«ããå¿ èŠããããŸããRPKIããªããŒã¿ãŒãã€ã³ã¹ããŒã«ããããã®ä»¥éã®ãã¹ãŠã®æé ã¯ãUbuntu 12.04ã§å®è¡ãããŸãã
Java 7ãã€ã³ã¹ããŒã«ããŸãã
sudo apt-get remove openjdk* sudo add-apt-repository ppa:webupd8team/java sudo apt-get update sudo apt-get install oracle-java7-installer export JAVA_HOME=/usr/lib/jvm/java-7-oracle # bashrc echo "export JAVA_HOME=/usr/lib/jvm/java-7-oracle" >> /etc/bash.bashrc
RIPEããŒãžããããªããŒã¿ãŒèªäœãã€ã³ã¹ããŒã«ããŸãã
cd /tmp wget https://certification.ripe.net/content/static/validator/rpki-validator-app-2.15-dist.tar.gz tar -xzvf /tmp/rpki-validator-app-2.15-dist.tar.gz -O <_>
ããªããŒã¿ãŒãéå§ããŸãïŒ
cd <_> ./rpki-validator.sh start
å¿çãšããŠã以äžã衚瀺ãããŸãã
[ info ] Starting rpki-validator... [ info ] writing logs under log directory [ info ] Web user interface is available on port 8080 [ info ] Routers can connect on port 8282 [ info ] Writing PID 15860 to validator.pid
ã¡ãã»ãŒãžãããããããã«ãæ€èšŒããŒã¢ã³ã¯2ã€ã®ããŒããå æããŸãã
- 8080-RPKIæ€èšŒWeb管çã€ã³ã¿ãŒãã§ã€ã¹
- 8282-ã«ãŒã¿ãŒãæ¥ç¶ããããã®ã€ã³ã¿ãŒãã§ãŒã¹
APIã䜿çšããŠcurlã䜿çšãããšãRPKIããªããŒã¿ãŒã®åäœã確èªã§ããŸãã
curl http://localhost:8080/api/v1/validity/AS174/89.207.56.0/21
AS174ã¯ASçªå·ã89.207.56.0 / 21ã¯æ€èšŒãå¿ èŠãªASãã¬ãã£ãã¯ã¹ã§ãã å¿çãšããŠã次ã®ãã®ãååŸããŸã
{ "validated_route":{ "route":{ "origin_asn":"AS174", "prefix":"89.207.56.0/21" }, "validity":{ "state":"Valid", "description":"At least one VRP Matches the Route Prefix", "VRPs":{ "matched":[{ "asn":"AS174", "prefix":"89.207.56.0/21", "max_length":21 }], "unmatched_as":[{ "asn":"AS3257", "prefix":"89.207.56.0/21", "max_length":21 },{ "asn":"AS41073", "prefix":"89.207.56.0/21", "max_length":21 }], "unmatched_length":[] } } } }
ãã©ãŠã¶ã§ã¢ãã¬ã¹<server_ip_address>ïŒ8080ã«ç§»åãããšã管çã€ã³ã¿ãŒãã§ã€ã¹ã衚瀺ãããŸãã
![ç»å](https://habrastorage.org/getpro/habr/post_images/8bd/460/7d9/8bd4607d93eb92b3a95854cf4e716418.png)
[ä¿¡é Œã¢ã³ã«ãŒ]ã¿ãã§ããã¹ãŠã®ã«ãŒãRPKIãµãŒããŒã®ãªã¹ãã
![ç»å](https://habrastorage.org/getpro/habr/post_images/dd6/06b/56e/dd606b56ea69f95df01247474a6669e6.png)
[ROA]ã¿ãã§ãã€ã³ã¹ããŒã«ãããRPKI眲åãæã€ãã¹ãŠã®ãã¬ãã£ãã¯ã¹ã®ãªã¹ãïŒãã¹ãŠã®æ¢ç¥ã®ROAïŒã ãã®ã€ã³ã¿ãŒãã§ãŒã¹ã§ã¯ãASçªå·ïŒAS174-Cogentãããã€ããŒïŒãªã©ã®ä»»æã®ãã©ã¡ãŒã¿ãŒã§æ€çŽ¢ã§ããŸãã
![ç»å](https://habrastorage.org/getpro/habr/post_images/5ae/22f/1f9/5ae22f1f9638aeaaf7d573e3ffea0dc1.png)
[BGPãã¬ãã¥ãŒ]ã¿ãã§ãROAã®æç¡ã«ããããããã¹ãŠã®ãã¬ãã£ãã¯ã¹ã®ãªã¹ãã ãã®ã¿ãã¯ãASã®ãã¹ãŠã®ãã¬ãã£ãã¯ã¹ããã§ãã¯ããã®ã«äŸ¿å©ã§ãã
![ç»å](https://habrastorage.org/getpro/habr/post_images/eda/e2e/e18/edae2ee181a98aa90d04cdf51d941e3e.png)
ãã®ã€ã³ã¿ãŒãã§ã€ã¹ã¯ããªã¢ãŒãããŒã¿ååŸçšã®APIãæäŸããŸãã
![ç»å](https://habrastorage.org/getpro/habr/post_images/991/400/426/9914004263731a0c297865eb226c9ef5.png)
次ã«ãRPKIãã£ãã·ã¥ãµãŒããŒãšé£æºããããã«Juniperã«ãŒã¿ãŒèªäœãæ§æããŸãã
ãã¬ãã£ãã¯ã¹ããã§ãã¯ããããã«ãRPKIãã£ãã·ã¥ãµãŒããŒãšã®ã»ãã·ã§ã³ãèšå®ããŸãã ãã®äŸã§ã¯ãRPKIããªããŒã¿ãŒã¯ãµãŒããŒ192.168.0.10:8282ã§å®è¡ãããŠãããã«ãŒã¿ãŒã¯ã¢ãã¬ã¹192.168.0.1ããã¢ã¯ã»ã¹ããŸãïŒ
{master}[edit] user@router# show | compare [edit routing-options] + validation { + group RPKI-validator { + session 192.168.0.10 { + refresh-time 120; + hold-time 180; + port 8282; + local-address 192.168.0.1; + } + } + }
Juniperã«ãŒã¿ãŒã§REä¿è·ã䜿çšããå Žåã¯ãRPKIãã£ãã·ã¥ãµãŒããŒããã®ãã©ãã£ãã¯ãèš±å¯ããã«ãŒã«ãè¿œå ããå¿ èŠããããŸãã
{master}[edit] user@router# show | compare | display omit [edit policy-options] + prefix-list RPKI-servers { + apply-path "routing-options validation group <*> session <*>"; + } + prefix-list RPKI-locals { + apply-path "routing-options validation group <*> session <*> local-address <*>"; + } [edit firewall family inet] + filter accept-rpki { + apply-flags omit; + interface-specific; + term accept-rpki { + from { + source-prefix-list { + RPKI-servers; + } + destination-prefix-list { + RPKI-locals; + } + protocol tcp; + } + then { + count accept-rpki; + accept; + } + } + } [edit interfaces lo0 unit 0 family inet filter] - input-list [ accept-bgp accept-common-services discard-all ]; + input-list [ accept-rpki accept-bgp accept-common-services discard-all ];
æ§æãé©çšãããšãã»ãã·ã§ã³ã確ç«ãããŸãã
{master}[edit] user@router# run show validation session detail Session 192.168.0.10, State: up, Session index: 2 Group: RPKI-validator, Preference: 100 Local IPv4 address: 192.168.0.1, Port: 8282 Refresh time: 120s Hold time: 180s Record Life time: 3600s Serial (Full Update): 16 Serial (Incremental Update): 16 Session flaps: 0 Session uptime: 00:00:16 Last PDU received: 00:00:14 IPv4 prefix count: 7061 IPv6 prefix count: 1109
RVã«ãŒã¿ãŒããŒã¿ããŒã¹ãæŽæ°ãããŸãã
user@router> show validation database | last 20 2a04:71c0::/29-32 200086 192.168.0.10 valid 2a04:81c0::/29-48 48526 192.168.0.10 valid 2a04:8400::/32-64 41887 192.168.0.10 valid 2a04:8d40::/29-32 50304 192.168.0.10 valid 2a04:8f00::/29-29 49531 192.168.0.10 valid 2a04:92c0::/29-29 62240 192.168.0.10 valid 2a04:93c0::/32-48 60251 192.168.0.10 valid 2a04:9fc0::/29-32 24904 192.168.0.10 valid 2a04:a5c0::/29-29 199789 192.168.0.10 valid 2c0f:f668::/32-32 37519 192.168.0.10 valid 2c0f:f970::/32-32 37596 192.168.0.10 valid 2c0f:f9b0::/32-32 37390 192.168.0.10 valid 2c0f:f9b8:a::/48-48 37674 192.168.0.10 valid 2c0f:f9b8:f::/48-48 16265 192.168.0.10 valid 2c0f:faf8::/32-32 37403 192.168.0.10 valid 2c0f:fbf0::/28-28 32653 192.168.0.10 valid 2c0f:fc00::/27-27 3741 192.168.0.10 valid 2c0f:feb0::/32-32 37100 192.168.0.10 valid IPv4 records: 7061 IPv6 records: 1109
確ç«ãããã»ãã·ã§ã³ã¯ãRPKIæ€èšŒWebã€ã³ã¿ãŒãã§ã€ã¹ã§ã確èªã§ããŸãã
![ç»å](https://habrastorage.org/getpro/habr/post_images/543/8bd/7e0/5438bd7e0e049581377be4467586bbdf.png)
ã«ãŒã¿ã§ãã¬ãã£ãã¯ã¹ããã§ãã¯ããããã®ããªã·ãŒã¹ããŒãã¡ã³ããèšå®ããŸãã æè»ãªãã¬ãã£ãã¯ã¹ãã£ã«ã¿ãŒãæ§ç¯ããããã«ããžã¥ãããŒãããã¯ãŒã¯ã¹ã¯ç¹å¥ãªBGPã³ãã¥ããã£ã®äœæãæšå¥šããŠããŸãã
- èµ·ç¹æ€èšŒç¶æ æå¹
- èµ·æºæ€èšŒç¶æ ç¡å¹
- èµ·æºæ€èšŒç¶æ äžæ
ããã«ãããã«ãŒã¿ãŒã¯ã¹ãã£ã³çµæã«åºã¥ããŠãã¬ãã£ãã¯ã¹ãããŒã¯ã§ããŸãã ãã®ã¡ã«ããºã ã¯ãeBGPãä»ããŠåä¿¡ãããã¬ãã£ãã¯ã¹ã解æããå¢çã«ãŒã¿ãŒã§äœ¿çšãããšäŸ¿å©ã§ãã ããšãã°ããã®ãããªãšããžã«ãŒã¿ãŒã¯ãã¹ãŠã®ãã¬ãã£ãã¯ã¹ããã®ãããªã³ãã¥ããã£ã«ããŒã¯ã§ããRPKIãã£ãã·ã¥ãµãŒããŒãä»ããè¿œå ã®ç¢ºèªãªãã§ãiBGPãä»ããŠæ¥ç¶ããããã¹ãŠã®ASã«ãŒã¿ãŒã¯ããããã®ã³ãã¥ããã£ãä¿¡é Œããã«ãŒãã£ã³ã°ããŒãã«ãæ§ç¯ããŸãã ãã®æ¹æ³ã§ã¯ãäžéšã®ã«ãŒã¿ãŒã§ã®ã¿RPKI-RTRã»ãã·ã§ã³ãæ§æã§ãããããRPKIãã£ãã·ã¥ãµãŒããŒã®è² è·ã軜æžã§ããŸãã ãŸããããªã·ãŒã¯ããã§ãã¯ã®çµæã«åºã¥ããŠãã¬ãã£ãã¯ã¹ã«ç°ãªãããŒã«ã«èšå®ãèšå®ããŸãã ããã«ããã IETFã®æšå¥šäºé ãèæ ®ããŠã«ãŒãã£ã³ã°ããŒãã«ãæ§ç¯ãããã¹ãã«åæ Œããªãã£ããã¬ãã£ãã¯ã¹ã®æäœåªå 床ãèšå®ã§ããŸãã
ããªã·ãŒãäœæããŸãã
{master}[edit] user@router# show | compare [edit policy-options] + policy-statement RPKI-validation { + term valid { + from { + protocol bgp; + validation-database valid; + } + then { + local-preference 110; + validation-state valid; + community add origin-validation-state-valid; + next policy; + } + } + term invalid { + from { + protocol bgp; + validation-database invalid; + } + then { + local-preference 90; + validation-state invalid; + community add origin-validation-state-invalid; + next policy; + } + } + term unknown { + from protocol bgp; + then { + local-preference 100; + validation-state unknown; + community add origin-validation-state-unknown; + next policy; + } + } + } [edit policy-options] + community origin-validation-state-invalid members 0x43:100:2; + community origin-validation-state-unknown members 0x43:100:1; + community origin-validation-state-valid members 0x43:100:0;
ã³ãã¥ããã£æ§æã§ã¯ãASçªå·ã¯100ã§ããASçªå·ã«çœ®ãæããå¿ èŠããããŸãã
ã«ãŒã¿ãŒã®ã«ãŒãã£ã³ã°ããŒãã«ãèŠãŠã¿ãŸãããã
{master} user@router> show route protocol bgp validation-state valid | last 12 2c0f:faf8::/32 *[BGP/170] 2d 01:27:30, localpref 110 AS path: 174 30844 37105 37403 37403 I, validation-state: valid > to 2001:978:2:b4::1:1 via ae0.12 2c0f:fbf0::/28 *[BGP/170] 2d 01:27:30, localpref 110 AS path: 174 6939 3741 32653 I, validation-state: valid > to 2001:978:2:b4::1:1 via ae0.12 2c0f:fc00::/27 *[BGP/170] 2d 01:27:30, localpref 110 AS path: 174 3356 3741 I, validation-state: valid > to 2001:978:2:b4::1:1 via ae0.12 2c0f:feb0::/32 *[BGP/170] 2d 01:27:30, localpref 110 AS path: 174 37100 ?, validation-state: valid > to 2001:978:2:b4::1:1 via ae0.12 {master} user@router> show route protocol bgp validation-state invalid | last 12 2a03:f85:1::/48 *[BGP/170] 2d 01:27:36, localpref 90 AS path: 174 34305 I, validation-state: invalid > to 2001:978:2:b4::1:1 via ae0.12 2a03:f86:4::/48 *[BGP/170] 2d 01:27:36, localpref 90 AS path: 174 174 54020 59692 I, validation-state: invalid > to 2001:978:2:b4::1:1 via ae0.12 2a03:f87:ffff::/48 *[BGP/170] 2d 01:27:36, localpref 90 AS path: 174 9002 57169 I, validation-state: invalid > to 2001:978:2:b4::1:1 via ae0.12 2a03:bb40::/32 *[BGP/170] 2d 01:27:36, localpref 90 AS path: 174 174 I, validation-state: invalid > to 2001:978:2:b4::1:1 via ae0.12 {master} user@router> show route protocol bgp validation-state unknown | last 12 2c0f:ff40::/26 *[BGP/170] 2d 01:29:56, localpref 100 AS path: 174 6939 10474 I, validation-state: unknown > to 2001:978:2:b4::1:1 via ae0.12 2c0f:ff90::/32 *[BGP/170] 2d 01:29:56, localpref 100 AS path: 174 174 6453 15808 I, validation-state: unknown > to 2001:978:2:b4::1:1 via ae0.12 2c0f:ffa0::/32 *[BGP/170] 01:39:27, localpref 100 AS path: 174 9498 37273 I, validation-state: unknown > to 2001:978:2:b4::1:1 via ae0.12 2c0f:ffd8::/32 *[BGP/170] 2d 01:29:56, localpref 100 AS path: 174 174 33762 I, validation-state: unknown > to 2001:978:2:b4::1:1 via ae0.12
ãããã®ã³ãã³ãã®çµæã¯ãã«ãŒãã£ã³ã°ããŒãã«ã§æå¹ãªã«ãŒãã«åªå é äœãäžããããŠããããšã瀺ããŠããŸãã
çŸå®
æ®å¿µãªãããçŸæç¹ã§ã¯ãå€ãã®ãããã€ããŒãRPKIã䜿çšããã¹ããŒã ãé¿ããŠããŸããããã¯ãäžçã®ãã«ãã¥ãŒã«ãŒãã£ã³ã°ããŒãã«ããã®ãã¬ãã£ãã¯ã¹ã®ã»ãã®äžéšã«èšŒææžãããããã§ãã ããã«ããã¹ãŠã®ã客æ§ããããã¯ãŒã¯ã®ROAã¬ã³ãŒããæ§æã