Configuración de red virtual de laboratorio con VMWARE.
Este tutorial, no será corto. De hecho, seguramente sea el más largo que pondré aquí.
Lo que vamos a crear, es todo un entramado de red simulado con VMWARE, para que podáis llevar a cabo vuestras pruebas como si estuvieseis delante de una red real (con sus routers, sus switches, sus hosts...).
No os negaré, que esto requiere un PC con unas características algo elevadas. Yo os propongo
una configuración (la que he usado) que me ha dado resultados aceptables:
Dual Core a 2,15Ghz,
2Gb de RAM
Las características de las máquinas virtuales serán:
4Gb/host virtual
1Gb/router virtual
64Mb RAM / host virtual.
Y el sistema operativo usado, será:
Debian 4.0
[Doy por hecho que todos sabeis instalar una máquina con VMWare, hay cantidad de tutoriales :)]
-----------
1. Primeros pasos:
Para empezar, trabajaremos con únicamente 3 máquinas virtuales (una hará de router y las otras de host).
Las configuraciones serán las siguientes (las 3 máquinas en modo NAT):
usaremos los siguientes scripts para la configuración de las máquinas virtuales:
'core.infusos.com':
echo "core.infusos.com" > /etc/hostname
ifconfig ethX:0 10.10.10.1 netmask 255.255.255.0
'node1.infusos.com':
echo "node1.infusos.com" > /etc/hostname
ifconfig ethX:1: 10.10.10.100 netmask 255.255.255.0
'node2.infusos.com':
echo "node2.infusos.com" > /etc/hostname
ifconfig ethX:2 10.10.10.200 netmask 255.255.255.0
2. Configurando la red:
Nos iremos a 'core.infusos.com' y ejecutaremos el siguiente script (como root):
#!/bin/bash
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -F
iptables -X
iptables -Z
iptables -t nat -F
iptables -t nat -A POSTROUTING -s 10.10.10.0/0 -d 0.0.0.0/0 -j MASQUERADE
iptables -A INPUT -p TCP -m state --state RELATED -j ACCEPT
3. Reconfiguramos las reglas de enrutado de los nodos.
'node1.infusos.com'
route del default route del -net X.X.X.X netmask 255.255.255.0
'node2.infusos.com'
route del default route del -net X.X.X.X netmask 255.255.255.0
4. Creamos las reglas apropiadas para nuestros nodos.
route add default gw 10.10.10.1
route add -net 10.10.10.0 netmask 255.255.255.0 gw 10.10.10.1
La segunda regla se asegura de que 'nodo1' y 'nodo2' no se vean entre ellos directamente, sino es pasando por 'core'. Si no...pierde la gracia xD.
5. Resumen:
Si todo ha ido bien, [que debería] ya podemos iniciar las pruebas de configuración antes de pasar a la segunda parte.
6. Probando los resultados.
Nos situamos en 'core.infusos.com' y hacemos:
core:/# route
Aparecerá:
Por defecto, el 'core.infusos.com' saldrá por 192.168.111.2 (la IP "pública" de la red virtual).
Todo lo que vaya a 192.168.111.0 se enrutará por 'core.infusos.com' (por si mismo).
Todo lo que vaya a 10.10.10.0 también se enrutará por si mismo. (recordemos que virtualmente, 'node1.infusos.com' y 'node2.infusos.com' están conectados físicamente a 'core.infusos.com')
Nos situamos en 'node1.infusos.com' y hacemos:
node1:/# route
Aparecerá:
Por defecto, saldrá por la IP 10.10.10.1 (La ip privada del 'core.infusos.com').
Todo lo que vaya a 10.10.10.0, pasará FORZOSAMENTE por 'core.infusos.com'
De esta manera, nos aseguramos que 'node1.infusos.com' y 'node2.infusos.com' no se vean directamente entre ellos.
Nos situamos ahora en 'node2.infusos.com' y hacemos:
node2:/# route
Aparecerá:
Ahora, volvemos a 'core.infusos.com' y hacemos la prueba de ping a los dos nodos y un traceroute a los dos nodos.
core:/# ping 10.10.10.100
core:/# ping 10.10.10.200
core:/# traceroute 10.10.10.100
core:/# traceroute 10.10.10.200
Podemos comprobar, como las reglas de route funcionan correctamente. Al hacer un ping a uno de los dos nodos, llegamos perfectamente. Además, si hacemos un traceroute a los dos nodos, vemos que solo hay un salto (tal y como habíamos simulado en la conexión "real").
Nos situamos en 'node1.infusos.com' y hacemos las pruebas de ping y de traceroute.
node1:/# ping 10.10.10.200
node1:/# ping 10.10.10.1
node1:/# traceroute 10.10.10.200
node1:/# traceroute 10.10.10.1
Si hacemos ping a 10.10.10.200 vemos que responde perfectamente (tenemos connectividad con 'node2.infusos.com').
Si hacemos un traceroute a 'core.infusos.com' vemos que tan sólo hay un salto (estamos connectados a él).
Si hacemos un traceroute a 'node2.infusos.com' vemos que tenemos 2 saltos: hacia 'core.infusos.com' y de ahí al nodo2.
node2:/# ping 10.10.10.100
node2:/# ping 10.10.10.1
node2:/# traceroute 10.10.10.100
node2:/# traceroute 10.10.10.1
Nos situamos en 'node2.infusos.com' y hacemos las pruebas de ping y de traceroute.
Si hacemos ping a 10.10.10.100 vemos que responde perfectamente (tenemos connectividad con 'node1.infusos.com').
Si hacemos un traceroute a 'core.infusos.com' vemos que tan sólo hay un salto (estamos connectados a él).
Si hacemos un traceroute a 'node1.infusos.com' vemos que tenemos 2 saltos: hacia 'core.infusos.com' y de ahí al nodo1.
7. Activando scripts por defecto:
Para activar los scripts cada vez que arrancamos el sistema, nos vamos a /etc/rc2.d/ y ponemos ahi un script con todos los pasos por host que hemos ido dando, y renombrándolo a S21-nodoX.infusos.com. Al arrancar cada máquina virtual, está se autoconfigurará por si sola. ;)
Hasta aquí, la parte 1 del manual.
8. Conclusiones:
Ahora, ya tenemos un escenario, con 3 maquinas virtuales. 2 de ellas, conectadas directamente a core.
Aquí, os dejo los scripts que yo he usado para la configuración de las 3 máquinas virtuales. Los copiais en /etc/rc2.d/ los renombráis tal y como he dicho antes, y reiniciais. Tendréis los 3 servidores totalmente configurados y funcionando ;).
script core.infusos.com
script node1.infusos.com
script node2.infusos.com
Saludos,
Dani.
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario