Having a Cloud Router — Always handy!

Rakesh M
3 min readNov 14, 2021

I have made this into Video series based on some requests

  1. https://raaki-88.medium.com/free-cloud-router-part-1-59a57e82e00e
  2. https://raaki-88.medium.com/free-cloud-router-part-2-e5714fa13557

Note:

This can be set up for free of cost in a sense of having 100$ cloud credit and Trial license for vMX and is for testing for a limited amount of time for and setting a router in the cloud, In the long run, even this testing would cost some money.

This will guide you on how to set up a prod system properly on AWS — https://www.juniper.net/documentation/us/en/software/vmx/vmx-aws/topics/concept/vmx-aws-overview.html

I Wish

Often I wish that I have some sort of online cloud router (either Cisco or Juniper) to look around some knobs and also to do some rapid testing or rehash of some of the concepts. I prefer mostly Juniper for their awesome logical-systems concept and it’s easy to build a good number of 14 routers that can also run MPLS.

Solution

With Docker and Kubernetes, many of the NFV functions are even easier, I came across implementations of Juniper cRPD Route Reflectors in production environments and its all based on docker-containers, and their orchestration and vMX and other product lines are very well engineered at this point in time and no longer they are at starting stage.

cRPD — https://www.juniper.net/documentation/us/en/software/crpd/crpd-deployment/topics/concept/understanding-crpd.html

What is that you want to convey?

Another day, I was looking to get hold of a docker implementation of vMX, I wanted this so as to have a cloud router accessible at my disposal for rapid prototyping instead of getting access to a server and setting it up, especially with the amount of sound Dell R810 generates I can hardly talk without getting distracted with that sound.

I wrote about VRNET lab previously as well, but here is the link –

https://github.com/vrnetlab/vrnetlab/tree/master/vmx

This is a super cool project where the author made sure all the implementations were Dockerised including Juniper, so I quickly wanted to test this around.

My choice of cloud will always be AWS because of my familiarity with the services but realized for this project to work you need to have support for KVM / Intel VT-X, while AWS supports these instances these are not free tier and after searching various other clouds, I found Digital Ocean was next best to AWS. What Digital Ocean does is that it supports access to KVM by default in all of its droplets (Compute Instances) so I started looking into it.

The best thing is that Digital ocean provides you with 100$ Cloud credit and an instance up to 8GB Ram and 4 vCPU’s, this is good enough for vMX to run in lite-mode and have logical tunnels set up to do the needed labbing and prototyping and you can always control the instance with Digital Ocean Api and have docker start automatically without having to worry about the cost.

Github Guide covers most of it, so I will just post some screenshots here

Catch to this

One catch is that for some reason, lt interface won't appear even after you configure tunnel services, hence what I did is that I configured lt-0/0/0 any way and after commit lt interface was lt-0/0/10 so I had to rename it

Remarks

Hope this helps anyone who wants to try around labs instead of setting up complicated environments (Eve and Gns3) both have their own perks and disadvantages, this seemed the simplest way to have something running in the cloud for me.

--

--