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

How To Install the Anaconda Python Distribution on Debian 9 And Running a public notebook server

Anaconda Distribution is an open-source package manager, environment manager and distribution of Python and R programming languages. With a collection of 1,000+ open source packages with free community support. Designed for data science and machine learning workflows, you can use it whether you are on Windows, macOS or Linux. The Anaconda distribution ships with the conda command-line package management utility. You can learn more about Anaconda and conda by reading the official Anaconda Documentation . Jupyter is a browser-based interpreter that allows you to interactively work with Python and R. Anaconda provides Jupyter as well. You can think of Jupyter as a digital notebook that gives you an ability to execute commands, take notes and draw charts.It’s primarily used by Data Scientists. But I find that very useful tool if you are learning Python or R. It’s basically the same as working on a shell but much better. The Jupyter notebook web application is based on a

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

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