X-Git-Url: https://git.josue.xyz/?p=VSoRC%2F.git;a=blobdiff_plain;f=src%2Fviews%2Faccess.ejs;fp=src%2Fviews%2Faccess.ejs;h=2fb2bb614138995ca24f799fa01fcbf81c1b459f;hp=06b901e73dff59d905cd60f37f9232c846b56321;hb=8bd25d906f766566ceee02d3d70e9890689a4c1a;hpb=4ff4cfab60fd88f431c88603d57612fc489dc62f
diff --git a/src/views/access.ejs b/src/views/access.ejs
index 06b901e..2fb2bb6 100644
--- a/src/views/access.ejs
+++ b/src/views/access.ejs
@@ -26,16 +26,449 @@
- Esta practica consiste en crear una topologia como la mostrada en esta imagen, asi como las - direcciones IP de los hosts y enrutamiento estatico, de modo que exista conectividad entre las redes de h1 y h2 como de h3 y h2, - pero no de las redes de h1 a h3. - Para esto, utiliza la API rest_router del controlador RYU. -
-El objetivo de esta practica consiste en crear una topologia serial de 3 switches y 3 host, como se muestra en la siguiente imagen. Asi, solo se permite conectividad entre las redes de h1 - h2 y h3-h2, pero no h1-h3.
Para esto, mediante la pagina web cree la topologia, inicie el controlador con la aplicacion REST Router , confirme que en el controlador se muestra que los switches fueron reconocidos y proceda a configurar las direcciones IP de los hosts.
Para configurar estas direcciones IP, utilice los comandos h[x] ip addr del 10.0.0.[x]/8 dev h[x]-eth0
para eliminar la IP por defecto, siendo [x] el host deseado, y asimismo con el comando ip addr add
configure las demas direcciones. Asi mismo, configure los gateway necesarios con el comando ip route add default via [direccion_ip_gateway]
.
Entendemos que este proceso puede ser algo tedioso, por lo cual hemos creado un script, el cual se encuentra en la carpeta scripts de la Raspberry principal. Para ejecutarlo, simplemente ejecutelo con ./hostadress.sh
.
Compruebe mediante la web que se realizaron las configuraciones con el comando h[x] ifconfig h[x]-eth0
Par este paso, necesita hacer uso del API REST de la aplicacion de RYU.
Entendemos que esto puede ser un poco tedioso, por lo cual hemos creado un script que se encuentra en la carpeta scripts que realiza estas configuraciones de manera automatica, solo ejecutandolo con ./routerflows.sh
. Mas abajo se muestra un fragmento del script, para que se entienda que es lo que esta ocurriendo.
: '
Este script hace peticiones HTTP POST a la API REST del codigo que debe estar corriendo
en el controlador,llamado rest_router.py.
Written by: Felix Tejada & Oscar Rodriguez
'
echo "Setting address to the routers..."
echo
curl -X POST -d '{"address":"172.16.10.1/24"}' http://localhost:8080/router/0000000000000002
echo
curl -X POST -d '{"address": "172.16.30.1/24"}' http://localhost:8080/router/0000000000000002
echo
curl -X POST -d '{"address": "192.168.10.1/24"}' http://localhost:8080/router/0000000000000002
echo
curl -X POST -d '{"address":"172.16.20.1/24"}' http://localhost:8080/router/0000000000000001
echo
curl -X POST -d '{"address": "172.16.30.30/24"}' http://localhost:8080/router/0000000000000001
echo
curl -X POST -d '{"address": "192.168.30.1/24"}' http://localhost:8080/router/0000000000000003
echo
curl -X POST -d '{"address": "192.168.10.20/24"}' http://localhost:8080/router/0000000000000003
Una vez ejecutado, mediante la pagina web, compruebe que cada switch tiene seteado sus flow entrys correctamente en el apartado flow tables.
Compruebe que existe conectividad entre h1 y h2 ejecutando el comando h1 ping -c 4 h2
. Para ver el camino recorrido, ejecute h1 traceroute h2
.
Si desea eliminar todos los flowentry de los switches, y simplemente dejarlos con su flow por defecto, en la pagina web presione el boton Reset flows del apartado Flow Tables.
El objetivo de esta practica es la de comprobar conectividad entre dos host virtuales, por ejemplo h1 y h2.
Para poder hacer una pequna web que podamos navegar vamos a hacer lo siguiente:
+Necesitamos crear un archivo, el cual sera un script en bash con lo que deseamos ver en el cliente. Para crear esto en un host especifico, escribimos h[x] echo "[pegar texto de abajo]" > test.sh
, donde x es el id del host deseado.
âx
â
echo "************PRINT SOME TEXT***************\n"
echo "Hello World!!!"
echo "\n"
â
echo "Resources:"
vmstat -S M
echo "\n"
â
echo "Addresses:"
echo "$(ifconfig)"
echo "\n"
â
â
echo "$(gpio readall)"
En el host que funcionara como servidor corremos el comando h[x] while true; do { echo -e 'HTTP/1.1 200 OK\r\n'; sh test.sh; } | nc -l 1234 -q 1; done &
, donde x es el id del host deseado.
En cualquier otro host que tenga conectividad con el server solo tienes que realizar h[x] curl -X GET http://_ipdelserver_:124
, siendo x el id de cualquier host. Asi podras ver tu web servida
+En caso de acceder desde una consola se puede instalar el software w3m y con este navegador par aconsola acceder a la web.