Quick check to see if VPCS is working

If you are having trouble getting the Virtual PC Simulator (VPCS) to talk to your GNS3 (dyanamips) routers, then you might want to try this quick check to verify that VPCS itself is functioning correctly and that there are no firewall rules blocking UDP ports 20000+ and 30000+

The idea is that we will open VPCS, and reverse the sending and listening ports of one of the VPCs so we can get two of the VPCs to ping each other.

Step 1: Open the VPCS

On windows – issue this command in a command window (assumes you have GNS3 installed. Quotes are necessary):

"\Program Files\GNS3\vpcs\vpcs.exe"

On OS X – issue this command in a command window (assumes you have GNS3 installed):


On Linux – vpcs should be in the path, so you just need to type:


Step 2: Configure the 1st Virtual PC

When VPCS has opened, give the first VPC an ip address using the ip command:

VPCS[1]> ip
Checking for duplicate address...
PC1 :

Now issue the show ip command and note the LPORT and RHOST:PORT values. You should see this:

VPCS[1]> show ip

MAC : 00:50:79:66:68:00
LPORT : 20000
MTU: : 0

Step 3: Reconfigure the 2nd Virtual PC

What you will need to do is set up VPC#2 to have the reverse of these values, so change focus to VPC#2, and issue the set lport and set rport commands, as shown below:

VPCS[1]> 2
VPCS[2]> set lport 30000
VPCS[2]> set rport 20000
VPCS[2]> show ip
MAC : 00:50:79:66:68:01
LPORT : 30000
MTU: : 0

Note how the port numbers for VPC#2 are the reverse of VPC#1.

Step 4: Give the 2nd Virtual PC an IP and test

All you need to do now is give VPC#2 an IP address on the same subnet as VPC#1 and they should be able to ping each other, as shown below:

VPCS[2]> ip
Checking for duplicate address...
PC2 :

VPCS[2]> ping icmp_seq=1 ttl=64 time=0.096 ms icmp_seq=2 ttl=64 time=0.301 ms icmp_seq=3 ttl=64 time=0.882 ms icmp_seq=4 ttl=64 time=0.186 ms icmp_seq=5 ttl=64 time=0.166 ms

If you can’t get ping replies, then your host PC is doing something to stop this.  There is really only two possibilities:

  1. You have a firewall blocking UDP port 20000 and/or 30000
  2. You have another application already using UDP port 20000 or 30000.  You can check for this using the netstat command on your host operating system (after closing vpcs of course)


netstat -ap UDP | find "20000"
netstat -ap UDP | find "30000"


netstat -anp UDP | grep 20000
netstat -anp UDP | grep 30000


netstat -an | grep udp | grep 20000
netstat -an | grep udp | grep 30000


If you see any output from either of these commands, you should be able to trace back to the program that is using these ports using the netstat -b command (Windows and OS X anyway)



About RedNectar Chris Welsh

Professional IT Instructor. All things TCP/IP, Cisco or Data Centre
This entry was posted in dynamips, GNS3, GNS3 WorkBench and tagged , , , . Bookmark the permalink.