pox requires:
- 3.8 <= python <= 3.9
Install Mininet package
pip install mininetInit and update submodules
git submodule init
git submodule updateLevantar POX con el custom firewall. Correr comando dentro de la carpeta REDES-TP2/
PYTHONPATH=. pox-python3/pox.py log.level --INFO openflow.of_01 forwarding.l2_learning firewall --rules=rules.jsonLevantar la topología custom
sudo mn --custom ./topology.py --topo chain_topo,3,2,2 --mac --arp --switch ovsk --controller remoteAbrir xterm para los hosts.
mininet> xterm h1
mininet> xterm h2En el host h1, indicar que actúe como servidor
iperf -s -p 5001En el host h2, indicar que actúe como cliente y se conecte al servidor
iperf -c 10.0.0.1 -p 5001Usando 4 host y 5 switch:
mininet> pingall
*** Ping: testing ping reachability
h1 -> h2 X h4
h2 -> h1 h3 h4
h3 -> X h2 h4
h4 -> h1 h2 h3
*** Results: 16% dropped (10/12 received)-
Se deben descartar todos los mensajes cuyo puerto destino sea 80.
host 4, servidor escuchando en el puerto 80:
iperf -s -p 80
host 1, cliente conectandose al servidor en el puerto 80:
iperf -c 10.0.0.4 -p 80 # conected failed: Operation now in progressCon cualquier otro puerto se establece conexión.
-
Se deben descartar todos los mensajes que provengan del host 1, tengan como puerto destino el 5001, y estén utilizando el protocolo UDP.
host 2, servidor escuchando en el puerto 5001:
iperf -u -s -p 5001
host 1, cliente conectandose al servidor en el puerto 5001:
iperf -u -c 10.0.0.2 -p 5001 # WARNING: did not receive ack of last datagram after 10 tries.Con cualquier otro puerto se establece conexión.
-
Se deben elegir dos hosts cualesquiera y los mismos no deben poder comunicarse de ninguna forma. (Se eligio h1 y h3)
host 1, servidor escuchando en el puerto 9000:
iperf -s -p 9000
host 3, cliente conectandose al servidor en el puerto 9000:
iperf -c 10.0.0.1 -p 9000 # conected failed: Operation now in progressFunciona de igual manera si se invierten los roles.