inex / IXP-Manager

Full stack web application powering peering at over 200 Internet Exchange Points (IXPs) globally.
https://www.ixpmanager.org/
GNU General Public License v2.0
379 stars 164 forks source link

route collector template for cisco ios #268

Closed listerr closed 8 years ago

listerr commented 8 years ago

Hello,

as per: https://github.com/inex/IXP-Manager/wiki/Route-Collector

"At INEX we use a Cisco IOS router with VRFs for our collector - please open a ticket if you'd like us to document that configuration also."

Thanks,

barryo commented 8 years ago

Hi @listerr - we're actually phasing this out. Using IOS has a couple of issues:

  1. config has to be fed via RANCID (or some other tool that can ssh in and push configuration changes)
  2. IOS is not stateful. When you add a peer, it has to be manually removed if that user leaves. I.e. only a current config is pushed, there is no removal.

These are both addressed by using Bird instead. There is a working Bird version:

https://github.com/inex/IXP-Manager/tree/v4/application/views/router-cli/collector/bird

and we're about to update this for INEX Cork.

Would that work better for you?

listerr commented 8 years ago

Hi Barry

We are actually in the process of rolling out our shiny new Cisco collector router, and thought "Now would be a good time to automate this"

Is there a decent looking glass for bird?

Rob

On Mon, 18 July, 2016 at 2:35:24 PM, barryo wrote:

Hi @listerr- we're actually phasing this out. Using IOS has a couple of issues: config has to be fed via RANCID (or some other tool that can ssh in and push configuration changes) IOS is not stateful. When you add a peer, it has to be manually removed if that user leaves. I.e. only a currentconfig is pushed, there is no removal. These are both addressed by using Bird instead. There is a working Bird version: https://github.com/inex/IXP-Manager/tree/v4/application/views/router-cli/collector/bird and we're about to update this for INEX Cork. Would that work better for you?

Regards,

Rob

Rob Lister rob@lonap.net +44 20 3137 8330

barryo commented 8 years ago

Is there a decent looking glass for bird?

Not really 😢 There is this one but I'm not sure how in love I am with it. Something else we're also looking at is creating a simple one like the existing Perl-based IOS looking glass.

So - pros and cons:

  1. IXP Manager does not support removing peers from IOS
  2. There is no good looking glass for either (have you tried installing the Perl/RANCID IOS looking glass lately? ouch). We've pulled the web based version at INEX and just let people ssh in (TACACS+ from IXP Manager user/password database, limited list of commands via TACACS+).
  3. IXP Manager support for Bird is much better and there is a looking glass.
  4. We'll put resources into Bird / LG. In particular, we want to slurp more detail from Bird such as showing members if route collector / server sessions are down. I was heartened to see the Bird team being impressed with GoBGP's API access and state they'd look at it at the recent Euro-IX meeting.

If you want to press on with IOS in the meantime, let me know and we'll share the Perl based scripts and templates.

listerr commented 8 years ago

Yes please - We already use RANCID (though not as much as we used to) and the mrlg looking glass is usable still. I had started to work on something already but if you have something that may be useful.

barryo commented 8 years ago

Okay @listerr - to be honest, these will be of limited use to you unless you're willing to hack them a bit. The reason they haven't been pushed before is because of all of the above arguments as to why we're moving away from IOS for this (and have done so for INEX Cork). Plus they've never been in a de-INEX-ified committable state.

Now, all of that said, it's still a good idea to commit them for legacy's sake - so look at this directory.

That's the INEX versions as they are but to be of use you'd need to:

Important

The above is really our legacy legacy legacy stuff that we DO NOT RECOMMEND. As it stands today (and for the past 3+ years), a better version has all been documented:

The Quagga config is very like IOS and the means of pushing it (RANCID/clogin) is identical.

@listerr - let me know if there's an issue with the Quagga based (but IOS compatible) docs?

nickhilliard commented 8 years ago

build-tt-member-configuration.pl is srsly headed for the bin. Fine in its day, but that was 10y ago and things have moved on. The quagga config would be a better place to start.

listerr commented 8 years ago

Thanks - we'll give this some thought.

I had thought about the quagga version, except for the specific comment on that page:

https://github.com/inex/IXP-Manager/wiki/Route-Collector

"At INEX we use a Cisco IOS router with VRFs for our collector - please open a ticket if you'd like us to document that configuration also."

Which implies that there's something else for Cisco IOS rather than "this will work with Cisco with some changes / caveats."

Will have a tinker with this/ the quagga version.

Cheers,

Rob

On Mon, 1 August, 2016 at 8:34:46 PM, barryo wrote:

Okay @listerr- to be honest, these will be of limited use to you unless you're willing to hack them a bit. The reason they haven't been pushed before is because of all of the above arguments as to why we're moving away from IOS for this (and have done so for INEX Cork).

The above is really our legacy legacy legacy stuff that we DO NOT RECOMMEND. As it stands today (and for the past 3+ years), a better version has all been documented: https://github.com/inex/IXP-Manager/wiki/Route-Collectorhttps://github.com/inex/IXP-Manager/wiki/Route-Collector---Sample-Quagga-Base-Config The Quagga config is very like IOS and the means of pushing it (RANCID/clogin) is identical. @listerr- let me know if there's an issue with the Quagga based (but IOS compatible) docs?

Rob Lister rob@lonap.net +44 20 3137 8330

barryo commented 8 years ago

"At INEX we use a Cisco IOS router with VRFs for our collector - please open a ticket if you'd like us to document that configuration also."

Nah, all I meant by that was that IOS can support multiple peering LANs via VRFs where as Quagga would need multiple instances (same way we'd do it with Bird).

Either way, shouldn't be an issue for you as you just have the one peering LAN.

There is a Bird version / support already by the way and we're using it in INEX Cork:

https://github.com/inex/IXP-Manager/tree/v4/application/views/router-cli/collector/bird

I do appreciate you want the web based looking glass though.