Utilizamos Docker que ya incluye todo el ambiente necesario para poder ejecutarlo. Sólo necestamos externo a docker el ovs.
Sólo se debe de tener en la máquina donde se utilice: ovs
sudo apt update
sudo apt install openvswitch-switchsudo service openvswitch-switch startVerificá que esté funcionando:
sudo ovs-vsctl showDeberías ver la version de ovs:
ovs_version: "2.17.1"
parado donde esté el Dockerfile
docker build -t firewall-mininet .docker run -it --rm --privileged --net=host firewall-mininetEn una terminal dentro del contenedor:
cd /poxpython pox.py forwarding.l2_learning firewalldocker run -it --rm --privileged --net=host -v /var/run/openvswitch:/var/run/openvswitch firewall-mininetLevantar la topología una vez que ya esé corriendo el firefox.
mn --custom /pox/ext/topology.py --topo topologia,switches_count=3 --mac --arp --switch ovsk --controller remoteTopología que se puede ver desde Mininet ejecutando links
Se pueden probar de la siguiente manera:
UDP:
host4 iperf -u -s -p 80 &
host1 iperf -u -c host4 -p 80TCP:
host4 iperf -s -p 80 &
host1 iperf -c host4 -p 80Lo siguiente no se podría por la regla 3
host2 iperf -u -s -p 80 &
host4 iperf -u -c host2 -p 80host4 iperf -u -s -p 80 &
host2 iperf -u -c host4 -p 80Se deben descartar todos los mensajes que provengan del host 1, tengan como puerto destino el 5001, y esten utilizando el protocolo UDP
host4 iperf -u -s -p 5001 &
host1 iperf -u -c host4 -p 5001Dos hosts no se pueden comunicar.
Elegimos host2 y host4
UDP
host4 iperf -u -s -p 12345 &
host2 iperf -u -c host4 -p 12345TCP
host4 iperf -s -p 12345 &
host2 iperf -c host4 -p 12345Debe funcionar en ambas direcciones.
UDP
host2 iperf -u -s -p 12345 &
host4 iperf -u -c host2 -p 12345TCP
host2 iperf -u -s -p 12345 &
host4 iperf -u -c host2 -p 12345host4 iperf -u -s -p 12345 &
host1 iperf -u -c host4 -p 12345