{"id":5329,"date":"2016-08-16T14:06:30","date_gmt":"2016-08-16T20:06:30","guid":{"rendered":"http:\/\/gregsowell.com\/?p=5329"},"modified":"2019-02-07T13:46:37","modified_gmt":"2019-02-07T19:46:37","slug":"arins-route-registry-why-you-need-as-set","status":"publish","type":"post","link":"https:\/\/gregsowell.com\/?p=5329","title":{"rendered":"ARIN&#8217;s Route Registry &#8211; Why You Need AS-SET"},"content":{"rendered":"<p>Believe it or not, I&#8217;m just now having to create entries in <a href=\"https:\/\/www.arin.net\/resources\/routing\/\">ARIN&#8217;s RRs<\/a>&#8230;and I&#8217;ve been doing this thing for ages hehehe.  A RR is a searchable database of route policy information.  There are some that are easy to use with web interfaces, but these are generally pay to play.  If you stick with ARIN, it&#8217;s free&#8230;which means I&#8217;m going with ARIN.<\/p>\n<p>Ultimately, what&#8217;s the point?  When you are peering with other BGP ASNs, they will often seek to verify what information they will allow you to advertise to them.  One easy way for them to lookup what to expect from you is to connect to an RR.  I can also dictate some more advanced policies inside of special records.<\/p>\n<p>Getting started, ARIN has a <a href=\"https:\/\/www.arin.net\/resources\/routing\/\">very complete list<\/a> of information on how\/what you should submit to them.  The problem is, it&#8217;s pretty complex.  I did a lot of googling, but I eventually happened on <a href=\"https:\/\/ciscodude.net\/2015\/08\/01\/working-with-arins-rr\/\">Theodore&#8217;s blog entry <\/a>on the subject.  This guy is kind enough to explain the basics which will guide you through most of the process.  It looks like his page is dead for now(hopefully it will be back).<\/p>\n<p>The most important part for me were the AS-SET entries.  In simple terms, this is a list of autonomous systems that peer with you.  Since I&#8217;m a service provider, this will be all of my customers(not my upstream ISPs) that I&#8217;ll be sending traffic sourced from.  More and more upstream ISPs have started requiring an AS-SET entry that contains your downstream customer AS&#8217;s.  I&#8217;ve noticed that just because you have this entry, doesn&#8217;t mean you don&#8217;t need to also tell them all of the subnets to expect as well as the source AS&#8217;, because they will.  I&#8217;ve also noticed that I don&#8217;t have to create an RR record including customer subnets, I just need their AS# in my AS-SET list.<\/p>\n<p>Here&#8217;s an example of my AS-SET:<\/p>\n<blockquote><p>as-set:      AS-MNS-1<br \/>\npassword:    MyPassword<br \/>\ndescr:       Managed Network Solutions AS-SET-1<br \/>\nmembers:     AS19366, AS13701, AS16903, AS29808, AS46724, AS32768, AS55291<br \/>\nmbrs-by-ref: ANY<br \/>\nnotify:      somepeople@gregsowell.com<br \/>\nadmin-c:     SOWEL6-ARIN<br \/>\ntech-c:      SOWEL6-ARIN<br \/>\nmnt-by:      MNT-MNSL<br \/>\nchanged:     somepeople@gregsowell.com 20160519<br \/>\nsource:      ARIN<\/p>\n<p>aut-num:   AS19366<br \/>\npassword:  MyPassword<br \/>\nas-name:   MNS-AS19366<br \/>\ndescr:     Managed Network Solutions AUT-NUM-1<br \/>\nmember-of: AS-MNS-1<br \/>\nnotify:    somepeople@gregsowell.com<br \/>\nadmin-c:   SOWEL6-ARIN<br \/>\ntech-c:    SOWEL6-ARIN<br \/>\nmnt-by:    MNT-MNSL<br \/>\nchanged:   somepeople@gregsowell.com 20160519<br \/>\nsource:    ARIN<\/p><\/blockquote>\n<p>As you can see my AS-SET simply lists all of my downstream customers.  Keeps it pretty simple.<\/p>\n<p>If you plan to simply update an entry, just submit the same information with the modification, and the entry will be overridden in the IRR entry.<\/p>\n<p>Once you have it submitted and would like to verify it, use the <a href=\"http:\/\/irrexplorer.nlnog.net\/\">IRRExplorer online portal<\/a>!<\/p>\n<p><strong>**Line wrap warning**<\/strong><\/p>\n<p>If you get errors described as:<br \/>\nmembers:     AS19366, AS13701, AS16903, AS29808, AS46724, AS32768, AS55291, AS12345<br \/>\n***Error: Syntax error in &#8220;&#8221;<br \/>\n:<br \/>\n***Error: Attribute missing colon, &#8216;:&#8217; <\/p>\n<p>You likely have a line that is too long.<br \/>\nBreak the errored line into two like this:<br \/>\nmembers:     AS19366, AS13701, AS16903, AS29808<br \/>\nmembers:     AS46724, AS32768, AS55291, AS12345<\/p>\n<p><strong>**End of warning**<\/strong><\/p>\n<p>I know there is a lot more you can do with it, and I&#8217;m sure some of you kind fellows will be happy to leave me comments on best practices \ud83d\ude42<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Believe it or not, I&#8217;m just now having to create entries in ARIN&#8217;s RRs&#8230;and I&#8217;ve been doing this thing for ages hehehe. A RR\u2026<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[],"class_list":["post-5329","post","type-post","status-publish","format-standard","hentry","category-networking"],"_links":{"self":[{"href":"https:\/\/gregsowell.com\/index.php?rest_route=\/wp\/v2\/posts\/5329","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gregsowell.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gregsowell.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gregsowell.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/gregsowell.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=5329"}],"version-history":[{"count":4,"href":"https:\/\/gregsowell.com\/index.php?rest_route=\/wp\/v2\/posts\/5329\/revisions"}],"predecessor-version":[{"id":5952,"href":"https:\/\/gregsowell.com\/index.php?rest_route=\/wp\/v2\/posts\/5329\/revisions\/5952"}],"wp:attachment":[{"href":"https:\/\/gregsowell.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=5329"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gregsowell.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=5329"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gregsowell.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=5329"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}