QUAGGA – TRIANGLE NETWORK ENGINEERS - Sean … · Sean Cavanaugh – CCIE #40514 ... BGP ! ISIS !...

21
QUAGGA – TRIANGLE NETWORK ENGINEERS Sean Cavanaugh – CCIE #40514 – Sr. Consultant Cumulus Networks Presented Feb – 24 – 2014 @seanx820

Transcript of QUAGGA – TRIANGLE NETWORK ENGINEERS - Sean … · Sean Cavanaugh – CCIE #40514 ... BGP ! ISIS !...

Page 1: QUAGGA – TRIANGLE NETWORK ENGINEERS - Sean … · Sean Cavanaugh – CCIE #40514 ... BGP ! ISIS ! Open Source ... See next slide . HOW TO INSTALL 7 Cumulus Release

v ®

QUAGGA – TRIANGLE NETWORK ENGINEERS

Sean Cavanaugh – CCIE #40514 – Sr. Consultant Cumulus Networks

Presented Feb – 24 – 2014

@seanx820

Page 2: QUAGGA – TRIANGLE NETWORK ENGINEERS - Sean … · Sean Cavanaugh – CCIE #40514 ... BGP ! ISIS ! Open Source ... See next slide . HOW TO INSTALL 7 Cumulus Release

WHAT IS QUAGGA? !  Routing Software Suite (Application)

!  Support for !  OSPFv2 & OSPFv3

!  RIP & RIPng

!  BGP

!  ISIS

!  Open Source (written in C)

!  Modal cli

!  FREE!

2

Figure A: Routing

Page 3: QUAGGA – TRIANGLE NETWORK ENGINEERS - Sean … · Sean Cavanaugh – CCIE #40514 ... BGP ! ISIS ! Open Source ... See next slide . HOW TO INSTALL 7 Cumulus Release

WHO USES QUAGGA?

3

•  Cumulus Networks •  Midokura (Overlay Technology called Midonet) •  6wind •  Vyatta (prior to Purchase by Brocade), fork now VyOS •  Naval Research Library (http://www.nrl.navy.mil/itd/ncs/products/ospf-manet) •  NIST (http://www-x.antd.nist.gov/bgpsrx/) Sponsored by: •  Google •  Cumulus Networks •  NetDEF More Info: http://www.opensourcerouting.org/

Page 4: QUAGGA – TRIANGLE NETWORK ENGINEERS - Sean … · Sean Cavanaugh – CCIE #40514 ... BGP ! ISIS ! Open Source ... See next slide . HOW TO INSTALL 7 Cumulus Release

WHY DOES QUAGGA EXIST?

4

•  Educational Sector: to learn and test new ideas •  Large Corporation: to add their own "special" sauce (no more vendors who deny features!) •  Equipment Vendors: Lower the bar to enter the routing market and speed up innovations •  End Users: lower cost and increase available choices

Information from: http://www.opensourcerouting.org/about-us/

Page 5: QUAGGA – TRIANGLE NETWORK ENGINEERS - Sean … · Sean Cavanaugh – CCIE #40514 ... BGP ! ISIS ! Open Source ... See next slide . HOW TO INSTALL 7 Cumulus Release

Routing Database

Forwarding Information Database (FIB)

Routing Information Database (RIB)

5

bgpd ospfd ospf6d

zebra

Kernel Routing Table

Hardware Acceleration

QUAGGA ARCHITECTURE

Hardware Acceleration Of FIB (proprietary, unique to Cumulus Linux, performed by switchd)

Page 6: QUAGGA – TRIANGLE NETWORK ENGINEERS - Sean … · Sean Cavanaugh – CCIE #40514 ... BGP ! ISIS ! Open Source ... See next slide . HOW TO INSTALL 7 Cumulus Release

HOW TO INSTALL

6

Latest Accepted Release Cumulus Release

sean@sean:~$  sudo  apt-­‐get  update  

sean@sean:~$  apt-­‐cache  search  quagga  quagga  -­‐  BGP/OSPF/RIP  routing  daemon  

after update finishes search for quagga->

sean@sean:~$  sudo  apt-­‐get  install  quagga  

Package is simply called quagga

See next slide

Page 7: QUAGGA – TRIANGLE NETWORK ENGINEERS - Sean … · Sean Cavanaugh – CCIE #40514 ... BGP ! ISIS ! Open Source ... See next slide . HOW TO INSTALL 7 Cumulus Release

HOW TO INSTALL

7

Cumulus Release

sean@sean:~$  sudo  wget  http://repo.cumulusnetworks.com/pool/CumulusLinux-­‐2.5/main/quagga_0.99.23.1-­‐1+cl2.5+2_amd64.deb  

sean@sean:~$  sudo  dpkg  -­‐i  quagga_0.99.23.1-­‐1+cl2.5+2_amd64.deb  Once Downloaded use the dpkg command

The above was installed with Ubuntu 14.10 Vanilla Installation, if there are missing packages browse the Cumulus Networks online repository and dpkg –i the dependent packages:

http://repo.cumulusnetworks.com/pool/CumulusLinux-2.5/main/

Page 8: QUAGGA – TRIANGLE NETWORK ENGINEERS - Sean … · Sean Cavanaugh – CCIE #40514 ... BGP ! ISIS ! Open Source ... See next slide . HOW TO INSTALL 7 Cumulus Release

Singular configuration file (rather than separated out into bgpd.conf, ospfd.conf, etc)

8

service integrated-vtysh-config

TWEAKING QUAGGA

sean@sean:~$  sudo  vtysh  Hello,  this  is  Quagga  (version  0.99.23).  Copyright  1996-­‐2005  Kunihiro  Ishiguro,  et  al.    sean#  conf  terminal  sean(config)#  service  integrated-­‐vtysh-­‐config  sean(config)#  end  sean#  wr  Building  Configuration...  Integrated  configuration  saved  to  /etc/quagga/Quagga.conf  [OK]  sean#  

Page 9: QUAGGA – TRIANGLE NETWORK ENGINEERS - Sean … · Sean Cavanaugh – CCIE #40514 ... BGP ! ISIS ! Open Source ... See next slide . HOW TO INSTALL 7 Cumulus Release

Paging problem (END bug)

9

TWEAKING QUAGGA

http://www.brianlinkletter.com/quagga-vtysh-shell-end-problem/

To fix the vtysh (END) problem, follow these two steps: •  Add the text “export VTYSH_PAGER=more” in the /etc/bash.bashrc file •  Add the text “VTYSH_PAGER=more” in the /etc/environment file

Page 10: QUAGGA – TRIANGLE NETWORK ENGINEERS - Sean … · Sean Cavanaugh – CCIE #40514 ... BGP ! ISIS ! Open Source ... See next slide . HOW TO INSTALL 7 Cumulus Release

LOOKING AT THE ROUTE TABLE

sean#  show  ip  route  Codes:    K  -­‐  kernel  route,  C  -­‐  connected,  S  -­‐  static,  R  -­‐  RIP,                

   O  -­‐  OSPF,  I  -­‐  IS-­‐IS,  B  -­‐  BGP,  A  -­‐  Babel,  T  -­‐  Table,                    >  -­‐  selected  route,  *  -­‐  FIB  route    K>*  0.0.0.0/0  via  10.0.2.2,  eth0  C>*  10.0.2.0/24  is  directly  connected,  eth0  sean#    

Page 11: QUAGGA – TRIANGLE NETWORK ENGINEERS - Sean … · Sean Cavanaugh – CCIE #40514 ... BGP ! ISIS ! Open Source ... See next slide . HOW TO INSTALL 7 Cumulus Release

SMALL DEMO OF USE-CASE (EDUCATION)

11

Ubuntu Ubuntu

(CLONE) eth1 eth1

area 0

Macbook Network

eth0 eth0 OSPF

seannet

Page 12: QUAGGA – TRIANGLE NETWORK ENGINEERS - Sean … · Sean Cavanaugh – CCIE #40514 ... BGP ! ISIS ! Open Source ... See next slide . HOW TO INSTALL 7 Cumulus Release

NETWORK SETTINGS - VBOX

CONFIDENTIAL PRESENTED TO NRI 12

Page 13: QUAGGA – TRIANGLE NETWORK ENGINEERS - Sean … · Sean Cavanaugh – CCIE #40514 ... BGP ! ISIS ! Open Source ... See next slide . HOW TO INSTALL 7 Cumulus Release

ONE PERSONAL MODIFICATION TO UBUNTU

13

! I perfer to use /etc/network/interfaces (ifupdown) vs network-manager

sean@sean:~$  sudo  apt-­‐get  remove  network-­‐manager  

Had to remove b/c network-manager kept stealing my network-configuration and messing up my demo! (i.e. removing my eth1 config) You could use it, but would need to configure in network-manager (GUI) not /etc/network/interfaces

Page 14: QUAGGA – TRIANGLE NETWORK ENGINEERS - Sean … · Sean Cavanaugh – CCIE #40514 ... BGP ! ISIS ! Open Source ... See next slide . HOW TO INSTALL 7 Cumulus Release

CONFIGURE /ETC/NETWORK/INTERFACES

14

auto  eth1  iface  eth1  inet  static  address  172.16.0.1  netmask  255.255.255.0  

auto  eth1  iface  eth1  inet  static  address  172.16.0.2  netmask  255.255.255.0  

Ubuntu 14.10 VM #1 My Clone ☺

sean@sean:~$  ping  172.16.0.2  PING  172.16.0.2  (172.16.0.2)  56(84)  bytes  of  data.64  bytes  from  172.16.0.2:  icmp_seq=1  ttl=64  time=0.883  ms  64  bytes  from  172.16.0.2:  icmp_seq=2  ttl=64  time=0.297  ms  64  bytes  from  172.16.0.2:  icmp_seq=3  ttl=64  time=0.314  ms  

Page 15: QUAGGA – TRIANGLE NETWORK ENGINEERS - Sean … · Sean Cavanaugh – CCIE #40514 ... BGP ! ISIS ! Open Source ... See next slide . HOW TO INSTALL 7 Cumulus Release

QUAGGA.CONF

15

interface  eth1  

 ip  ospf  area  0.0.0.0  

 ip  ospf  network  point-­‐to-­‐point  

 link-­‐detect  

!  

interface  lo  

 link-­‐detect  

!  

router  ospf    

   ospf  router-­‐id  1.1.1.1  

interface  eth1  

 ip  ospf  area  0.0.0.0  

 ip  ospf  network  point-­‐to-­‐point  

 link-­‐detect  

!  

interface  lo  

 link-­‐detect  

!  

router  ospf    

   ospf  router-­‐id  2.2.2.2  

Ubuntu Clone

Page 16: QUAGGA – TRIANGLE NETWORK ENGINEERS - Sean … · Sean Cavanaugh – CCIE #40514 ... BGP ! ISIS ! Open Source ... See next slide . HOW TO INSTALL 7 Cumulus Release

CHECK CONNECTIVITY

16

sean#  show  ip  ospf  int  

eth1  is  up  

<output  removed  for  brevity>  

Ubuntu Clone

sean#  show  ip  ospf  int  

eth1  is  up  

<output  removed  for  brevity>  

Page 17: QUAGGA – TRIANGLE NETWORK ENGINEERS - Sean … · Sean Cavanaugh – CCIE #40514 ... BGP ! ISIS ! Open Source ... See next slide . HOW TO INSTALL 7 Cumulus Release

DEBUG?

17

log file /var/log/quagga/test.log

sean(config)#  debug  ospf        <1-­‐65535>    Instance  ID      event            OSPF  event  information      ism                OSPF  Interface  State  Machine    lsa                OSPF  Link  State  Advertisement      nsm                OSPF  Neighbor  State  Machine      nssa              OSPF  nssa  information      packet          OSPF  packets      zebra            OSPF  Zebra  information  

Page 18: QUAGGA – TRIANGLE NETWORK ENGINEERS - Sean … · Sean Cavanaugh – CCIE #40514 ... BGP ! ISIS ! Open Source ... See next slide . HOW TO INSTALL 7 Cumulus Release

DEBUG CONTINUED

18

root@sean:~#  tail  /var/log/quagga/test.log  

2015/02/23  16:41:30  OSPF:  ip_off  02015/02/23  16:41:30  OSPF:  ip_ttl  1  

2015/02/23  16:41:30  OSPF:  ip_p  89  

2015/02/23  16:41:30  OSPF:  ip_sum  0xf7902015/02/23  16:41:30  OSPF:  ip_src  172.16.0.22015/02/23  16:41:30  OSPF:  ip_dst  224.0.0.5  

2015/02/23  16:41:30  OSPF:  Hello  received  from  [2.2.2.2]  via  [eth1:172.16.0.1]  

2015/02/23  16:41:30  OSPF:    src  [172.16.0.2],2015/02/23  16:41:30  OSPF:    dst  [224.0.0.5]  

2015/02/23  16:41:30  OSPF:  Packet  2.2.2.2  [Hello:RECV]:  Options  *|-­‐|-­‐|-­‐|-­‐|-­‐|E|*  

Page 19: QUAGGA – TRIANGLE NETWORK ENGINEERS - Sean … · Sean Cavanaugh – CCIE #40514 ... BGP ! ISIS ! Open Source ... See next slide . HOW TO INSTALL 7 Cumulus Release

WHAT CAN’T QUAGGA DO? Validated Solutions Choice of network architectures

•  Layer 1 •  MTU •  Link-speed •  Auto-negotiation

•  Layer 2 •  Spanning-Tree •  vlan assignments

What about IP addressing? •  You can assign ip address in Quagga however

Cumulus Networks recommends only assigning them in /etc/network/interfaces so other applications can use that flat file like our own ifupdown2. Also possible risk of ‘dual’ assignment

Page 20: QUAGGA – TRIANGLE NETWORK ENGINEERS - Sean … · Sean Cavanaugh – CCIE #40514 ... BGP ! ISIS ! Open Source ... See next slide . HOW TO INSTALL 7 Cumulus Release

WHAT HAS CUMULUS DONE?

20

! Scalability enhancements for bgp and ospf ! multi-instance ospf ! non-modal interactions for automation (cl-ospf,cl-bgp, etc)’ ! json output ! #1 contributors to quagga codebase at this time ! Much more! (see http://git.savannah.gnu.org/cgit/quagga.git/log/)

Same engineers that developed routing protocols at companies like Cisco were let lose on the open source Quagga suite to bring it up to enterprise quality.

Page 21: QUAGGA – TRIANGLE NETWORK ENGINEERS - Sean … · Sean Cavanaugh – CCIE #40514 ... BGP ! ISIS ! Open Source ... See next slide . HOW TO INSTALL 7 Cumulus Release

LEARNING MORE

http://docs.cumulusnetworks.com/display/CL25/Layer+3+Features

Cumulus Documentation

http://www.nongnu.org/quagga/docs/docs-info.html

Quagga Official Documentation

IRC Channels: irc.freenode.net#quagga irc.freenode.net#cumulusnetworks

Nice writeup: Overview of Quagga: http://www.academia.edu/5754254/Introduction_to_the_Quagga_Routing_Suite