Juniper Legacy vMX on GNS3

LEGACY VMX (THE SINGLE-VM PRE-RELEASE VERSIONS)

These single-VM versions of vMX include 14.1R1.10, 14.1R3.5, and 14.1R4.8.


Downloads

jinstall-vmx-14.1R1.10-domestic.img716.63 MB


Create New VM using Qemu Template in GNS3

Go to Edit->Preferences(ctrl+shift+p) Then Go to Qemu VMs and click New in GNS3. Edit->Preferences->Qemu VMs->New

Next, assign it 1GB of RAM, and select your qemu binary. I happen to be using v2.6.0 in Linux, but the GNS3-VM will have v2.5.0.

Next, choose your image file. By default, these will be called “jinstall-vmx-<version>-domesting.img”. You can download the file from out download page jinstall-vmx-14.1R1.10-domestic.img


Assign Resources

When you edit the newly created VM, set assign it to the Routers category, and make sure it’s set to use 1GB RAM, 1 “vCPU”, and telnet.  


Edit Network Setting and Assign Adapters

For the network settings, I’ve assigned it 12 adapters. Here’s why:
Eth0 = the management interface (fxp0)
Eth1 = internal interface (unusable to us)
Eth2 = ge-0/0/0
Eth3 = ge-0/0/1
Eth4 = ge-0/0/2

Eth11 = ge-0/0/9
Thus, if you wanted to connect ge-0/0/0 on two vMX instances to each other, you’d connect Eth2 on both VMs to each other.

Here are what your final settings should look like, in GNS3:


Enable vFP in Legacy Mode

When you start up one of these legacy images, the login is “root” with no password.  Now, before I proceed, there something you need to be aware of:  Not all the pre-release single-VM images of vMX had the virtual FP enabled.  Here is what you WANT to see, after the vMX instance loads:

When you start up one of these legacy images, the login is “root” with no password.  Now, before I proceed, there something you need to be aware of:  Not all the pre-release single-VM images of vMX had the virtual FP enabled.  Here is what you WANT to see, after the vMX instance loads:

When you start up one of these legacy images, the login is “root” with no password.  Now, before I proceed, there something you need to be aware of:  Not all the pre-release single-VM images of vMX had the virtual FP enabled.  Here is what you WANT to see, after the vMX instance loads:If that statement isn’t there, don’t worry. You can manually enable it by running this:

root@% echo ‘vm_local_rpio=”1”’ >> /boot/loader.conf

Reboot the image, and then it will be enabled.
Something else you know: Even though the legacy vMX image boots up rather quickly, the virtual FP part of it does NOT. You really need to give it an extra 2-3 minutes, after you see the login prompt, so that everything fully loads up. Here is what you’ll see, if you do not wait:

You may think that looks fine, but the virtual PIC 0 is missing, which means none of the gigabit ethernet interfaces will ever be present.  Once you wait an extra 2-3 minutes, here’s the output we really want to see:

Virtual PIC 0 is Online

Wait until Pic 0 is online

Notice that virtual PIC 0 is Online, and we can see that the 10 ge-0/0/x interfaces I configured the VM to use, are present and “up/up”. That means we can start configuring the system.  Type “edit” (without the quotes) to get into configuration mode.  Now, since we didn’t have a root password when we logged in, the first step we should do is create one. If we don’t, then the commit process will never work, so we’ll be unable to commit our configuration changes.


Configuration and Verification

In the below example, I set a root system password, configured ge-0/0/1 to use an IPv4 address, and successfully committed the changes:


vMX-1 Configuration

root# set system root-authentication plain-text-password
 New password:
 Retype new password:
 [edit]
 root# set interfaces ge-0/0/1 unit 0 family inet address 10.10.10.1/24
 [edit]
 root# commit
 commit complete
 [edit]
 root# exit
 Exiting configuration mode
 root> ping 10.10.10.2
 PING 10.10.10.2 (10.10.10.2): 56 data bytes
 64 bytes from 10.10.10.2: icmp_seq=0 ttl=64 time=34.878 ms
 64 bytes from 10.10.10.2: icmp_seq=1 ttl=64 time=5.863 ms
 64 bytes from 10.10.10.2: icmp_seq=2 ttl=64 time=7.324 ms
 ^C
 --- 10.10.10.2 ping statistics ---
 3 packets transmitted, 3 packets received, 0% packet loss
 round-trip min/avg/max/stddev = 5.863/16.022/34.878/13.347 ms
 root>

vMX-2 Configuration

root# set system root-authentication plain-text-password
 New password:
 Retype new password:
 [edit]
 root# set interfaces ge-0/0/1 unit 0 family inet address 10.10.10.2/24
 [edit]
 root# commit
 commit complete
 [edit]
 root# exit
 Exiting configuration mode
 root> ping 10.10.10.1
 PING 10.10.10.1 (10.10.10.1): 56 data bytes
 64 bytes from 10.10.10.1: icmp_seq=0 ttl=64 time=7.158 ms
 64 bytes from 10.10.10.1: icmp_seq=1 ttl=64 time=43.205 ms
 64 bytes from 10.10.10.1: icmp_seq=2 ttl=64 time=67.093 ms
 64 bytes from 10.10.10.1: icmp_seq=3 ttl=64 time=8.579 ms
 ^C
 --- 10.10.10.1 ping statistics ---
 4 packets transmitted, 4 packets received, 0% packet loss
 round-trip min/avg/max/stddev = 7.158/31.509/67.093/25.109 ms
 root>

That’s really all it takes to get the legacy single-VM versions of vMX to run via GNS3.  Since they are far more lightweight (resource-wise) than the split VM public releases of vMX, you might want to consider tracking these down. Sure, they are missing features, but they’re perfect if you want to dip your toes in Juniper’s “water”, and you can easily use multiple instances in a topology.


  Previous

Leave a Reply