# IRR をwhoisで引いたり pevalする ## インストール [IRRToolset](https://github.com/irrtoolset/irrtoolset)を入れます。aptなどはありません。 ## IRRを使うために。 sourceはちゃんと指定しましょう。 - RADB: whois.radb.net - NTTCOM: rr.ntt.net - JPIRR: jpirr.nic.ad.jp ## source指定の重要さ:こんなことになる あるIRRサーバは他のIRRサーバのエントリをミラーしていることが多いです。(上記のIRRサーバは相互をミラーします) ただし、この同期は非同期です。このため、見に行くIRRサーバとSOURCEにより状態が異なることがあります。 ``` peval -h rr.ntt.net -s NTTCOM AS290 ({202.17.220.0/23, 130.128.0.0/15, 45.0.0.0/16}) peval -h rr.ntt.net -s RADB AS290 ({192.16.170.0/24}) ``` ## whoisでのクエリの仕方 ### AS-SHOWNETのASMembers = AS-SETを確認したい ``` whois -h whois.radb.net AS-SHOWNET # or whois -h rr.ntt.net AS-SHOWNET > as-set: AS-SHOWNET > members: AS290, AS131154 ``` などで、AS-SHOWNETという名前で2つのAS-SETが含まれていることがわかります。 このシナリオはSHOWNETという団体が、ASを2つ持っているケースです。 ### あるAS-SETに含まれる経路を確認したい ``` whois -h rr.ntt.net \!oMAINT-AS290 ... route: 202.17.220.0/23 ... route6:2001:3e8:0::/32 ``` など。Route-Objectが見えます。適当にgrep route:などしてパースするとエントリだけを抜き出せます。 ### あるAS-SETに含まれる経路を確認したい(IPv4とIPv6) と上記のように頑張りましたが、実は、"!g"でクエリするともう少し楽です。 ``` whois -h rr.ntt.net \!gAS290 A86 202.17.220.0/23 45.0.0.0/15 130.129.0.0/16 130.128.0.0/15 45.0.0.0/16 192.16.170.0/24 whois -h rr.ntt.net \!6AS290 A66 2001:df8::/32 2001:418:1c05::/48 2620:102:f000::/46 2001:3e8::/32 ``` ### とある経路はどのAS-SETに含まれているの? ``` whois -h rr.ntt.net 2001:0418:1c05::/48 | egrep '(^route|origin)' route6: 2001:418::/32 origin: AS2914 route6: 2001:418::/32 origin: AS2914 route6: 2001:418::/32 origin: AS2914 route6: 2001:418:1c00::/38 origin: AS2914 route6: 2001:418:1c05::/48 origin: AS290 ``` ## peval ### ある子のAS-memberの経路をIPv4,IPv6全部取る ``` peval -h rr.ntt.net -s NTTCOM 'afi ipv6,ipv4 AS-SHOWNET' ({202.17.220.0/23, 130.128.0.0/15, 45.0.0.0/16}) OR ({2001:418:1c05::/48, 2001:3e8::/32}) ``` ### あるAS-SETの経路を見る(IPv4のみ) 標準ではIPv4の経路しかQueryされません。 ``` peval -h rr.ntt.net AS290 ({202.17.220.0/23, 130.128.0.0/15, 130.129.0.0/16, 45.0.0.0/15}) peval -h rr.ntt.net AS131154 NOT ANY ``` ### SOURCEの指定 IRRはmirrorしあっているため、RADBにSource: NTTCOMのIRRもmirrorされています。 ``` peval -h whois.radb.net -s NTTCOM AS290   ``` などします。