Skip to main content

SDN starter kit "StackFlowOS"




The SDN stack nicked named "StackFlowOs" based on Debian 7.2 is available for download here  or here as a VM.  The Stack will help you get started quickly with the deployment of SDN enable lab for research or education purpose I highly recommend not to take this stuck to production "do it under your own risk" you have been warned


OUT-OF The BOx

The SDN starter kit "StackFlowOs" is made up by integrating a controller, the popular Quagga open source routing suite and the low-level vendor-independent OpenFlow interface OVS.With StackFlowOS Networking, you get the flexibility and granularity of Flowbased network policy on the same device/VM that's running traditional Layer2/ Layer3 protocols for efficient packet forwarding. StackFlowOS Networking users can use OpenFlow fine tune the switching (FIB) or router (RIB) tables in a switch. This allows users to inject OpenFlow rules for specific applications and policies. While also preserving the networking topology that's built on tried and true Layer2 and Layer3 protocols.
The "StackFlowOs" delivers advanced routing for physical, virtual and cloud networking environments. The StackFlowOs includes dynamic routing, Policy-Based Routing (PBR), stateful firewall, VPN support, traffic management and more in a package that is optimized to perform
in virtualized environments. All features are configured through "StackFlowOs" CLI, or third party management
The "StackFlowOs" supports all major hypervisors or when using tools like LiveCD it can be
installed on any standard x86 based system. Advancements in x86 processing power have proven that readily available multi-core systems can easily handle small packet processing and deep packet inspection up to 10Gbps.Since the Debian OS has not been modified your able to pull all software updates, bug fixes and security from Debian repository and you're not limited when it comes to add new features that you wish. To meet your Lab requirements.


Network Connectivity
At the core of the "StackOs" is OVS a key virtualization technology that traditional has been used to manage virtual machine i.e VLAN technology setting QoS parameters managing flows around virtual machine environment or automation of process the reason I'm keen on OVS as technology it helps me fulfill  open source stack, and there  is a complex routing engine (Quagga) with full support of IPv4 and IPv6 dynamic routing protocols (BGP Multipath, OSPF, RIP) and Policy-Based Routing.


username: root   ( ssh access have been granted out of the box for security reasons you can change this behavior)
password weed123

username: weed     (very limited privilege you will need to su - to have more fun)
password weed123





What is included on the stack

Os=Debian7,2

----OVS

----Quagga

----Shorewall

----Bind9

----isc-dhcp-server

----openswan

----xl2tpd

----NTP

-----Vlan

-----SSH

-----Pox

----keepalived vrrpd

------iperf, hping3, arping, tcpdump, nmap.


Release 1.0 feat


IPv4 / IPv6 Routing »» BGPv4, BGPv6
»» OSPFv2
»» BGP Multipath
»» RIPv2
»» Static Routes
»» Policy-Based Routing (PBR)
»» IPv6 Policy
»» VXLAN Tunnel Endpoint
»»VLAN routing
IP Address Management »» Static
»» DHCP Server
»» DHCP Client
»» DHCP Relay
»» Dynamic DNS
»» DNS Forwarding
»» IPv6 DNS Resolver
»» IDHCPv6 Server, Client
»» DHCPv6 Relay
Encapsulations »» Ethernet
»» 802.1Q VLANs
»» PPP
»» PPPoE
»» IP in IP
»» Frame Relay
»»L2 switching
»»Flow control
802.1D Bridging and Spanning
Tree Protocol
• 802.1s Multiple Spanning Tree
Protocol
• 802.1w Rapid Spanning Tree
Protocol
• 802.1p QOS/COS
• 802.1Q VLAN Tagging
Firewall »» Stateful Inspection Firewall
»» Zone-based Firewall
»» P2P Filtering
»» IPv6 Firewalling
»» Time-based Firewall Rules
»» Rate Limiting
»» ICMP Type Filtering
»» Stateful Failover
Tunneling / VPN »» SSL-based OpenVPN
»» Site to Site VPN (IPSec)
»» Remote VPN (PPTP, L2TP, IPSec)
»»OpenFlow Implementation
• Based on Open-vSwitch (OVS) 2.3.1
• Compatible with OpenFlow 1.4
specification
• TCAM Flow Optimization for better
scalability and performance
• Interoperable with RYU, OpenDaylight,
Floodlight, Trema and NOX
• OpenFlow encapsulation: L2oGRE,
L3oGRE, NVGRE, PBB, VXLAN,
»»Command line interface (CLI)
• Telnet and SSH remote login
• Centralized control plane policing
and filtering

Popular posts from this blog

django react app setting up the backend

On the previous article I demonstrated how we can use the generic views along with ModelSerializer classes to rapidly develop our REST APIs. Knowledge that you will need  in your career as full stack / backend developer, however think of this article as an extension to the previous one, equipped with what we already know about REST API we will step our game up and discuss about ViewSet, ModelViewset we will dig deep into the concepts of Routers which allow us to manage our api routes in a simple and sophisticated manner as well as helping to speed up building APIs even further. There for on part II of this article i'll work you through on how React application can consume this RESTful API. There for at the end of the day we will have a full stack web app, in short we strat our development at the backend then later on we move at the frontend... so are you excited and ready to take the challange? lets do this then..... you can get source code for the bakend on github Preparat...

How to Install PostgreSQL on debian stretch in oder to use it with your Django application and allow remote connection

In this guide, we'll demonstrate how to install and configure PostgreSQL to use with your Django applications. We will install the necessary software, create database credentials for our application, and then start and configure a Django project to use this backend. We will start by  install the database software and the associated libraries required to interact with them. This guide assumes that you allready have a working Django project. Step 1 – Prerequsities apt-get install python3-pip python3-dev libpq-dev postgresql postgresql-contrib Step 2 – Connect to PostgreSQL After installing the PostgreSQL database server by default, it creates a user ‘postgres’ with role ‘postgres’. It also creates a system account with the same name ‘postgres’. So to connect to postgres server, login to your system as user postgres and connect database. su - postgres You should now be in a shell session for the postgres user. Log into a Postgres session by typing:...

How to create REST API using Django REST Framework

This post begins with already working project and app's, I found that there some few requirement's that my project needed to handle and the best option for those requirement's was to use the Django's  Rest Framework. The way that I will tackle this task is more specific to the needs of the project rather than a one to one how to..., that being said you can still follow along, the approach that I'm going to use is easy to follow since I'll be providing a lot of information a log the way for better understanding of the why and how.....this code is available on Github , enough with the alerts and on with the show. Note:  If you would want to mimic the exactly settings then you will need to enable user authentication on your project you can follow this link for details .  Start with the DRF (Django Rest Framework) installation pip3 install djangorestframework For our app to use DRF, we'll have to add rest_framework into our settings.py.   nan...