Giter Club home page Giter Club logo

bgp_flowspec_automation_with_pyez's Introduction

Demo BGP Flow Spec with PyEZ

Overview

In case we have to demonstrate our capabilities automating BGP FlowSpec data handling on a route reflector BFS can be used for.

Use Cases

  • Automate handling of flow route data on the route reflector or external flow route source
  • Automate generating flow route test data on route reflector

Features

  • Flow route actions on route reflector

    • Add new flow route
    • Modify flow route
    • Delete flow route
  • Flow route viewer

    • retrieve flow route information from RR / PE / ASBR / etc.
  • Interact with external flow route source like Arbor APS

    • send change request to flow route source
  • Test data generator

    • Generate static flow route entries on route reflector to demonstrate scale / functionality

Requirements

  • Linux Box (Centos 7)
    • 1 CPU
    • 1G RAM
  • Python 2.7
  • Working internet connection
    • WebUI loads needed javascript libraries and CSS files from CDN
  • vMX
    • Tested with version 14.1R1 / 17.1R1

Installation

All steps should be done as root user.

  • Get Centos 7 box ready
  • Log into to Centos 7 box via SSH
  • Install required packages if needed (This step is only needed if we have to install a newer python version)
    • Centos 7.x should come with python 2.7.5
    • With the next steps we would install python 2.7.14 which is not needed if 2.7.5 is installed
yum install python-devel libxml2-devel libxslt-devel gcc openssl libffi-devel wget curl
yum groupinstall "Development tools"
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel
  • Install python 2.7
cd /usr/src
wget https://www.python.org/ftp/python/2.7.14/Python-2.7.14.tgz
tar xzf Python-2.7.14.tgz
cd Python-2.7.14
./configure
make altinstall
  • Install BFS Demo Tool
    • pip2.7 should be directly available if not use which pip2.7 to obtain the path to binary
git clone https://github.com/JNPRAutomate/BGP_Flowspec_automation_with_PyEZ.git
cd BGP_Flowspec_automation_with_PyEZ
pip2.7 or pip install --upgrade -r requirements.txt

Configuration

We need to add some information about RR and / or the edge router by editing ui/config.yml file and change the settings to fit your environment.

At least one router of type RR has to be configured

age_out_interval: 00:01:00
dev_pw: juniper123
dev_user: root
routers:
  - rt1:
      type: rr
      ip: 10.11.111.120
  - rt2:
      type: asbr
      ip: 10.11.111.121
  • Start bfs tool
    • Python binary should be in path if not use which python2.7 to obtain path info
    • change directory to bfs root
    • Start UI with python2.7 main.py or python main.py
  • Access WebUI URL <IP>:8080

WebUI

Screen_Shot_2018-04-11_at_11.25.39

Screen_Shot_2018-04-11_at_11.26.18

Screen_Shot_2018-04-11_at_11.26.31

Screen_Shot_2018-04-11_at_11.26.42

Screen_Shot_2018-04-11_at_11.26.53

bgp_flowspec_automation_with_pyez's People

Contributors

ksator avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.