Top Banner
How to avoid buying How to avoid buying expensive expensive routers routers How to avoid buying How to avoid buying expensive expensive routers routers Mark Schouten Mark Schouten Tuxis Internet Engineering Tuxis Internet Engineering
13

Lekker weer nlnog_how_to_avoid_buying_expensive_routers

Jan 22, 2018

Download

Technology

Pavel Odintsov
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Lekker weer nlnog_how_to_avoid_buying_expensive_routers

How to avoid buyingHow to avoid buyingexpensiveexpensive routers routers

How to avoid buyingHow to avoid buyingexpensiveexpensive routers routers

Mark SchoutenMark SchoutenTuxis Internet EngineeringTuxis Internet Engineering

Page 2: Lekker weer nlnog_how_to_avoid_buying_expensive_routers

Wat wij doen

Page 3: Lekker weer nlnog_how_to_avoid_buying_expensive_routers

WatWat

● Routers met ondersteuning voor– Large BGP communities (anders wordt Job boos)

– DDoS detectie & mitigatie

– Netflow & Accounting– VRRP voor IPv4 en IPv6– RPKI validatie

– Check && Commit || Stop

– Config in Git repository

Page 4: Lekker weer nlnog_how_to_avoid_buying_expensive_routers

OptiesOpties

● Juniper vMX● Brocade vRouter (Vyatta)● Vyos (Vyatta fork)● Mogelijk andere opties● Lekker eigenwijs zelluf doen

Page 5: Lekker weer nlnog_how_to_avoid_buying_expensive_routers

Opties wegstrepenOpties wegstrepen● Juniper vMX

● Brocade vRouter (Vyatta)

Relatief duur en is het nou echt zulke geweldige kwaliteit?

● Vyos (Vyatta fork)

Traag in development en dus nieuwe features zoals LargeBGP Communities

Ergo: Lekker eigenwijs zelluf doen

Page 6: Lekker weer nlnog_how_to_avoid_buying_expensive_routers

ToolboxToolbox● SuperMicro, 8 Core Xeon, 8GB RAM

● 4x 10Gbit (2x Koper, 2x SFP+)

● Debian

● Ansible

● Bird (BGP, OSPF, RA, Statics)

● Keepalived (VRRP)

● Pmacct

● Fastnetmon

● Ferm

● Elasticsearch

● RabbitMQ

Page 7: Lekker weer nlnog_how_to_avoid_buying_expensive_routers

ypconfigypconfig

● Mensen die aan NIS denken zijn oud, Googlebegint er niet eens over op de eerste pagina

● Python naar Netlink● Netwerkconfiguratie in YAML● Commit && Confirm || Rollback

Page 8: Lekker weer nlnog_how_to_avoid_buying_expensive_routers

ypconfig interface configypconfig interface configv-nlix: vlanid: 7 parent: eno1 addresses: - 193.239.116.56/22 - 2001:7f8:13::a519:7731:1/64 autoconfigure: none description: 'Peering: NL-IX'

Interfacenaam is v-nlixVlan 7 op interface eno1Adressen op interfaceBird hoeft geen autoconfig op deze interface te sturenOmschrijving voor snmpd/librenms

Page 9: Lekker weer nlnog_how_to_avoid_buying_expensive_routers

ypconfig commitypconfig commit

mark@tuxis:~/src/ypconfig$ ./ypconfig commit --cfg=test.ymlAdding IP fd::10:10:10:1/64 to eth0We had an error confirming this new configuration: - '(1, 'Operation not permitted')Rolling backRolled back to /tmp/ypconfig_backup_1497297531.1137033

mark@tuxis:~/src/ypconfig$ sudo ./ypconfig commit --cfg=test.ymlAdding IP fd::10:10:10:1/64 to eth0New configuration commited. Type 'confirm' to confirm, we will rollback in 60 secondsotherwise.confirm

mark@tuxis:~/src/ypconfig$ sudo ./ypconfig commit --cfg=test.yml --confirmRemoving IP fd::10:10:10:1/64 from eth0

Page 10: Lekker weer nlnog_how_to_avoid_buying_expensive_routers

FermFerm● Functies

● Variabelen

● Commit && Confirm || Rollback

● Mix IPv4 en IPv6@def $NAMESERVERS = ( 31.3.104.61 2a03:7900:2:0:31:3:104:61);

table filter { chain INPUT { policy DROP; proto udp sport 53 { saddr @ipfilter($NAMESERVERS) ACCEPT; DROP; } }}

Page 11: Lekker weer nlnog_how_to_avoid_buying_expensive_routers

Pmacct, Fastnetmon, RabbitMQ, ElasticsearchPmacct, Fastnetmon, RabbitMQ, Elasticsearch

● Pmacct luistert mee op externe interfaces● Sflow → Fastnetmon● RabbitMQ (AMQP) → Elasticsearch● Elasticsearch → Python → Nipap → Counters

€€ Profit €€

Page 12: Lekker weer nlnog_how_to_avoid_buying_expensive_routers

LeerpuntjesLeerpuntjes

● Bird kan RA’s selectief RA’s sturen, als er eenroute bestaat (i.v.m. VRRP)

● Keepalived zorgt samen met SNMPD voorVRRP-flaps

● Ferm is cool● Lekker zelluf doen is zo slecht nog niet

Page 13: Lekker weer nlnog_how_to_avoid_buying_expensive_routers

Vragen & LinksVragen & Links

● Bird: http://bird.network.cz● Ferm: http://ferm.foo-projects.org● Ypconfig: https://gitlab.tuxis.nl/mark/ypconfig● Pyroute2: https://github.com/svinota/pyroute2

PR’s & Feedback voor ypconfig: welkom