how to avoid buying expensive routers - nlnog · 2017. 6. 16. · how to avoid buying expensive...

Post on 31-Dec-2020

4 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

Wat wij doen

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

OptiesOpties

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

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

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

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

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

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

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; } }}

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

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

€€ Profit €€

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

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

top related