Como muchos ya sabéis, GNS3 es un simulador gráfico de redes que permite crear entornos de redes virtuales, topologías de red complejas y además tener la posibilidad de integrarlos con simuladores de IOS. En su día ya lo expliqué en esta otra entrada: GNS3.
Cuando estamos trabajando con laboratorios de redes, es de gran utilidad disponer de uno o varios hosts/pc virtuales para realizar chequeos de conectividad (ping, traceroute…). En este punto, y para maquetas únicamente centradas en redes, no necesitamos una máquina virtual completa (Qemu/Virtualhost) sino un host para poder hacer ping/traceroute y chequear el estado de la red. Aquí es donde entra el Virtual PC Simulator, que integrado con GNS3 nos ofrece esta funcionalidad.
VPCS está disponible para Linux y Windows, en GNU/Linux lo bajamos, descomprimimos y a funcionar:
$ cd 0.21a/ $ chmod 755 vpcs32 vpcs64 # permisos de ejecución $ ./vpcs32 # en mi caso uso la versión de 32 bits
Una vez arrancado VPCS podemos arrancar GNS3, donde tendremos que crear un nuevo símbolo tipo «computer» al que asignaremos el nombre que queramos (host, pc…) y le indicaremos el tipo «Cloud«:
Edit > Symbol Manager
Llegados a este punto ya podemos configurar el/los hosts como queramos. Para configurar IPs lo haremos en la Shell que se abre al ejecutar desde línea de comandos vpcs32. Como podéis ver, el símbolo ? nos muestra la ayuda:
VPCS[9]> ? show Print the net configuration of PCs d Switch to the PC[d], d is digit, range 1 to 9 history List the command history ip [arguments] Configure PC's IP settings dhcp Configure host/gateway address using DHCP arp Show arp table ping address [options] Ping the network host tracert address [maxhops] Print the route packets take to network host echo [text] Display text in output clear [arguments] Clear ip/ipv6, arp/neighbor cache set [arguments] Set hostname, connection port and echo on or off load filename Load the configuration/script from the file 'filename' save filename Save the configuration to the file 'filename' ver Show version ? Print help quit Quit program
En este caso estoy en el PC 9, por defecto se generan 9 PCs virtuales, podemos verlos con el comando show y cambiar de PC con PC[d]:
VPCS[9]> show NAME IP/CIDR GATEWAY MAC LPORT RPORT VPCS1 0.0.0.0/0 0.0.0.0 00:50:79:66:68:00 20000 30000 fe80::250:79ff:fe66:6800/64 VPCS2 0.0.0.0/0 0.0.0.0 00:50:79:66:68:01 20001 30001 fe80::250:79ff:fe66:6801/64 VPCS3 192.168.2.1/24 0.0.0.0 00:50:79:66:68:02 20002 30002 fe80::250:79ff:fe66:6802/64 2001:2::1/64 VPCS4 192.168.2.2/24 0.0.0.0 00:50:79:66:68:03 20003 30003 fe80::250:79ff:fe66:6803/64 2001:2::2/64 VPCS5 192.168.3.2/24 192.168.3.1 00:50:79:66:68:04 20004 30004 fe80::250:79ff:fe66:6804/64 2001:3::2/64 VPCS6 0.0.0.0/0 0.0.0.0 00:50:79:66:68:05 20005 30005 fe80::250:79ff:fe66:6805/64 VPCS7 0.0.0.0/0 0.0.0.0 00:50:79:66:68:06 20006 30006 fe80::250:79ff:fe66:6806/64 VPCS8 192.168.8.2/24 192.168.8.1 00:50:79:66:68:07 20007 30007 fe80::250:79ff:fe66:6807/64 2001:8::2/64 VPCS9 10.0.0.100/24 10.0.0.1 00:50:79:66:68:08 20008 30008 fe80::250:79ff:fe66:6808/64 2001:9::2/64
Configurar la IP de cada PC es sencillo, IP; GATEWAY y NETMASK en formato CIDR:
VPCS[9]> ip 10.0.0.100 10.0.0.1 24 PC9 : 10.0.0.100 255.255.255.0 gateway 10.0.0.1
Volvemos a GNS3, donde damos añadimos a la topología un hostname. Para configurarlo pinchamos en botón derecho y «Configure», luego en la pestaña NIO UDP es donde mapeamos cada uno de los PC a una interfaz de red virtual, los valores por defecto valen para el PC 1, así que para el 9 sumaremos 8 al puerto local y al remote port, el resto lo podemos dejar por defecto, podemos añadir tantas interfaces como queramos, simplemente recordad lo de los puertos:
A continuación podéis ver una topología sencilla, hemos configurado el router con la IP 10.0.0.1 en la interfaz FastEthernet 0/0, la cual está conectada a un Switch y el nuestro host al Switch.
En el momento que hemos levantado la interfaz del switch hemos podido verificar que hay conectividad y ping entre el host virtual y el router. Lo verificamos desde la shell de vpcs:
Router:
Router01(config-if)# no shutdown 00:01:04: %LINK-3-UPDOWN: Interface FastEthernet0/0, changed state to up 00:01:05: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up
Host:
VPCS[9]> ping 10.0.0.1 host (10.0.0.1) not reachable VPCS[9]> ping 10.0.0.1 10.0.0.1 icmp_seq=1 ttl=255 time=20.035 ms 10.0.0.1 icmp_seq=2 ttl=255 time=2.954 ms 10.0.0.1 icmp_seq=3 ttl=255 time=2.131 ms 10.0.0.1 icmp_seq=4 ttl=255 time=2.686 ms
O un traceroute, aunque en este caso sólo hay un salto:
VPCS[9]> tracert 10.0.0.1 traceroute to 10.0.0.1, 64 hops max, press Ctrl+C to stop 1 10.0.0.1 4.527 ms * 2.003 ms
También podemos verificar la conectividad inversa, del router al host:
Router01>ping 10.0.0.100 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 10.0.0.100, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/4/8 ms
Seguro que os es de utilidad para laboratorios y prácticas y os ahorráis la creación de máquinas virtuales.