Giter VIP home page Giter VIP logo

opendaylight-firewall's Introduction

opendaylight-firewall

A litte experiment that tries to ensure a security policy into a set o openflow switches, similar to a firewall or a ACL, using Opendaylight Controller.

Requirements

Walkthrough

  1. Clone the repository

https://github.com/mauromoura/opendaylight-firewall.git

  1. Compile with maven

mvn clean install -DskipTests

  1. Run Opendaylight controller

karaf/target/assembly/bin/karaf

  1. Create a topology with mininet

If you are using a VM with VirtualBox, male sure to use Host-only networking so your virtual swithes can comunicate with the controller running on the host machine.

sudo mn --topo single,3 --mac --switch ovsk --controller remote,ip={controller_ip}

  1. Add some flows to the switchs using openvswitch

ovs-ofctl add-flow s1 in_port=1,actions=output:2

ovs-ofctl add-flow s1 in_port=2,actions=output:1

  1. Test the conectivity between the clients in mininet

h1 ping h2

h2 ping h1

  1. Adding security rules to opendaylight

Security rules can be added to the controller using restconf. To add a rule, you can make a POST to:

http://localhost:8181/restconf/config/sdnfirewall:rule-registry/

The security rule must be a JSON with the format :

{"rule-registry-entry": [{ "name":"name_of_security_rule [test]", "node":"switch_name [openflow:1]", "ip-addr":"ip_ to block_traffic [10.0.0.2/24]", "port":"port [8080]" }] }

To view previosly saved rules, send a GET request to the same URL.

opendaylight-firewall's People

Contributors

mauromoura avatar

Stargazers

Seif-Allah Homrani avatar Dimitris Galanis avatar Luis Meza avatar jeffrey avatar

Watchers

James Cloos avatar  avatar

Forkers

zhouyl5 sysong13

opendaylight-firewall's Issues

Make a Post

Can you describe make a post in more details please ?

Cannot Compile

[ERROR] Non-resolvable parent POM: Could not find artifact org.opendaylight.odlparent:odlparent:pom:1.6.0-SNAPSHOT and 'parent.relativePath' points at wrong local POM @ line 10, column 11 -> [Help 2]

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.