Git Product home page Git Product logo

sdn's Introduction

Tests Linter

TP2 - Software-Defined Networks

Introducción

Segundo trabajo práctico de la materia Introducción a los sistemas distribuidos de la Facultad de Ingeniería de la Universidad de Buenos Aires.

Integrantes del grupo:

  • Grüner, Tomás
  • Gonzalez, Matias Ignacio
  • Sotelo Guerreño, Lucas Nahuel
  • Pareja, Facundo Jose
  • D’Alessandro Szymanowski, Sebastián Javier

Instalación

Dependencias:

Una vez instaladas estas herramientas, make se encargará del resto 😌

$ make install

Ejecución

Ejecutar formatters y linter

Este repositorio usa GitHub Workflows para correr un linter en cada push o pull request. Para correr el formatter o linter manualmente se puede usar el siguiente comando:

$ make lint

Ejecutar test

Comenzar lanzando el modulo firewall de Pox

$ src/pox/pox.py firewall

Lanzar Mininet con controlador remoto

$ sudo mn --custom ./src/topo.py --topo xwing --mac --switch ovsk --controller=remote,ip=127.0.0.1,port=6633

Puede especificarse el número de switches de la topología luego del nombre, separado por una coma. Por ejemplo, para 5 switches: --topo xwing,5

O tambien se puede ejecutar un test (pingall) con

$ sudo mn --custom ./src/topo.py --topo xwing --mac --switch ovsk --controller=remote,ip=127.0.0.1,port=6633 --test pingall

Configuracion de reglas

El firewall implementado permite una rápida configuración de reglas mediante la edición del archivo src/pox/rules.txt. Alternativamente, puede especificarse otro archivo del cual tomar las reglas a través del parámetro --rules-file:

$ src/pox/pox.py firewall --rules-files=path/al/archivo

Las reglas disponibles son:

  • Bloquear paquetes con un puerto destino de port
BLOCK_PORT port
  • Bloquear todo el tráfico entre dos hosts (especificándolos con su dirección IP)
BLOCK_TRAFFIC ip_hos1 ip_host2
  • Bloquear paquetes provenientes del host con ip ip_host, de protocolo de transporte protocol, y puerto destino port
BLOCK_PORT_HOST_PROTOCOL port ip_host protocol

Adicionalmente, puede especificarse qué switch hará de firewall con la regla:

FIREWALL dpid_switch

Esta aplica a todas las siguientes reglas, hasta el próximo FIREWALL.

sdn's People

Contributors

megaredhand avatar facundopareja avatar

Watchers

 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.