Skip to content

Latest commit

 

History

History
159 lines (122 loc) · 3.28 KB

install.md

File metadata and controls

159 lines (122 loc) · 3.28 KB

ddosdn installation

Build Instructions

OS Requirements

ddosdn is developed and has primary testing on Ubuntu 18.04.

Install Prerequisites

  • docker
  • docker-compose
  • Java 8
    sudo apt install openjdk-8-jdk
  • maven
  • openvswitch
    sudo apt install openvswitch-common
    sudo apt install openvswitch-switch
  • containernet

Installation

1. Containernet

sudo apt-get install ansible git aptitude
git clone https://github.com/containernet/containernet.git
cd containernet/ansible
sudo ansible-playbook -i "localhost," -c local install.yml
cd ..

For Ubutu 20.04 replace in containernet/util/install.sh

  • cgroup-bin for cgroup-tools ,
  • python-scapy for python3-scapy

run containernet/util/install.sh.

NOTE: there are some compiling erros whit Openflow but ignore those. and install mininet

apt install mininet
make -f Makefile develop

2. Enviroment

git clone https://github.com/ser0090/ddosdn
cd ddosdn/envr

docker-compose build snort
docker-compose build apache
docker-compose build bot
docker-compose build usr

3. Onos

This projecs use onos-1.13 . We suggest clone ONOS repositoy here. Then add onos 1.13 commands to .bashrc

wget https://github.com/opennetworkinglab/onos/archive/1.13.10.tar.gz
tar -xf 1.13.10.tar.gz
# add to .bashrc
export ONOS_ROOT=~/onos-1.13.10
source $ONOS_ROOT/tools/dev/bash_profile

We suggest up onos 1.13 in a docker container instead of up locally

docker-compose up onos

Building apps

1. onos apps

in ddosdn folder build apps

cd apps

mvn clean install -f ddos-detection/ -Dcheckstyle.skip
mvn clean install -f ddos-mitigation/ -Dcheckstyle.skip

Install Apps

then install apps in onos controller (docker container),

Required Apps

IP_CONTAINER=192.168.60.2 # IP controller

onos-app ${IP_CONTAINER} activate org.onosproject.openflow-base # App Openflow
onos-app ${IP_CONTAINER} activate org.onosproject.openflow
onos-app ${IP_CONTAINER} activate org.onosproject.ofagent

onos-app ${IP_CONTAINER} activate org.onosproject.faultmanagement # alarms REST

Built Apps

onos-app ${IP_CONTAINER} reinstall! ddos-detection/target/*.oar
onos-app ${IP_CONTAINER} reinstall! ddos-mitigation/target/*.oar

Config test enviroment

Start Containernet SDN Topology similar to an ISP infrastructure.

Simplified block of the system.

Devices:

  • EDGE (8)
  • DISTRIBUTION (4)
  • CORE (2)
  • BORDER (1)

Hosts:

  • Common user (13)
  • Bot (7)
  • IDS (4)
  • Web Server (3)

Install dependencies

cd topo
pip3 install -e .

Configure annotations devices on Onos

onos-netcfg ${IP_CONTAINER} resources/jsonAnnotations.json

Run topology

python3 topo.py

Default values

IP_CONTROLLER = '192.168.50.2'
PORT_CONTROLLER = 6653

Commands

  • pingall to test connectivity
  • Use docker for access to Hosts
  • ContainerNet commands in Doc