Home

Vmx 17.X Image Boot in Qemu and Observations

Leave a comment

Hi,

I had to test some of the available features for Vmx 17.x image, 17.2 R1 Image and here are my observations when tested in Qemu Emulator based on Eve-Ng.

Two Node Topology.

 

Image and Memory Details –

-> One Router – Split into Two Qemu Instances – VCP/VFP (Control Plane / Forwarding Plane) so you need to have both of them.

-> VCP – I have allocated 2 Vcpus and 2048MB of RAM / VFP – 3 Vcpu and 6096MB of RAM

-> You can go with the lower Memory / Cpu allocations, I had the resources so allocated them just to be on a higher side.

 

Requirement – EM1 Should be connected for both VFP and VCP without that these will not function.

 

The boot process took more than 20 minutes to me, may be because I was using a USB drive to load the image and Disk IO must have been slower, else 11-15 minutes should do.Β  The auto-image upgrade will irriate you and hence I disabled it.

 

Lets look at routing engine and forwarding plane, PFE is booting into a Local Linux shell Mode. We wont access this box unless required for troubleshooting, all the Access is on VCP.

 

You can log into the forwarding plane for an instance but the speed of interaction with VFP is very slow, understandably it has to fetch it from another Qemu Image via EM1 interface.

 

Performance over Qemu Simulation is satisfactory and should be a good tool for JNCIE-Lab preperations, needless to say it will help all other types of study requirements as well. With an enhanced processor and with SSD disks, i guess the performance will improve dramatically.

 

I shall be shortly testing VQFX image as well and will update with similar Findings.

 

-R

Quagga – Installation

4 Comments

Hi,

Quagga Routing suite is fantastic and being used by Many .vendors to do the Basic Routing and to an extent even the powerful Routing on a Linux or custom built Node. We also know that cumulus linux uses Quagga as an underlying Software Suite for this.

-> Ubuntu Linux for Quagga

Lets see the Installation

 

Once Installation is done, verify if service ports are open in /etc/services File.

Make sure IPV4 Forwarding is enabled. Edit /etc/sysctl.conf as Below

Move the sample configuration file and rename then as per below, you can create your own conf files if you want , I just used the sample ones for this demonstration

Make sure appropriate Routing daemons are Switched ON

This is the important Part, Quagga by default can be run with user ‘quagga’, hence rename everything to ‘quagga’ , a user quagga is already installed during the installation

Do a restart to the process, if it does not fix, reboot the system and start the quagga process

Thats it, continuing this we will then setup an OSPF peering with Juniper VMX to move further

Regards

Rakesh M

Quick-Series 33 – Wildcard Range? Very Efficient

Leave a comment

Hi,

When you have to scale the configuration be it number of static routes for some testing or be it for preparing for your certain certification exams, manual method is to use a notepad write down the number of static routes, a next smarter way may be is to use a excel sheet/scripting language.

Task – Configure 10 static routes ranging from 1.0.0.0/24 to 1.0.10.0/24 with next-hop as reject

Junos offers a convenient way to do this, here is how

 

If you need to learn more about wildcard follow the below Juniper networks link

https://www.juniper.net/techpubs/en_US/junos/topics/example/junos-cli-wildcard-range-configuring.html

 

Hope this helps your preparation

 

Regards

Rakesh M

Quick-Series 32 – Differentiate between 10g / 100g Physically ? Here you Go

2 Comments

Hi,

I was trying to swap 100Gig Circuits during a Migration and I was confused differentiating between a 10G and 100G port since there are many routers and Many combinations within the network

Hardware – MPC7E – Juniper Networks with Mx960

Quick way to Identify


request chassis port-led (start | stop) fpc-slot fpc-slot-number pic-slot pic-slot-number port (port-number| all-10g | all-40g | all-100g | all-port) duration duration

Let us see it from the Routers Perspective.

 

Step 1 – Finding the Line cards available on the system.

 

1

 

Step 2 – Executing the command

 

2

 

This makes life much easier even if it is you or any remote technician who visits for a fiber swap or commissioning of a New 10/100 Gig Circuit effortlessly but yes you can see the configuration from [edit chassis] to know which port has what speed, but hey who doesn’t want a Good Night show on a Router πŸ™‚

Quick Series 31 – Getting started with PYEZ – Step 1 to automate your Data Collection

Leave a comment

Hi,

Following the post on installing PYEZ

https://r2079.wordpress.com/2016/06/28/pyez-first-impressions-installation/

Let us explore a very simple program which connects to the box and gets the version from the box

Step 1 – Configure the Device to accept Device – You do this by configuring NETCONF SSH under system services

1

Let’s look at how PYEZ Code looks. Am using a Ubuntu Linux which is on my Local LAN.

#########################################################################

from jnpr.junos import Device
import sys
from pprint import pprint
dev = Device(‘10.0.0.1′,user=’labroot’,password=’lab123′)
try:
dev.open()
except Exception as err:
print “Unable to connect to Device”, err
sys.exit(1)
print “\n#################################”
print “\n Successfully Connected to M120”
print “\n#################################”

print “\n \n show version | no-more”

print dev.cli(“show version | no-more”)

dev.close()

print “\n#############################################”
print “\nConnection with M120 Terminated Successfully”
print “\n#############################################”

print “\n \n END OF THE PROGRAM”

####################################################################

Let us try to execute the program.

2

You could improvise more on this by simply adding a RAW_INPUT function and then Program will ask for IP Address and will feed it to the system, than you feeding it manually. Below code will help you for the same.

####################################################################

from jnpr.junos import Device
import sys
from pprint import pprint
d = raw_input(“\n ENTER THE IP ADDRESS OF THE DEVICE: “) #Adding this would now make the program to request you for an IP address
dev = Device(d,user=’labroot’,password=’lab123′)
try:
dev.open()
except Exception as err:
print “Unable to connect to Device”, err
sys.exit(1)
print “\n \n show chassis hardware detail”

print dev.cli(“request support information | no-more”)
print dev.cli(“show log messages | no-more”)
print dev.cli(“show log chassisd | no-more”)

dev.close()
print “\n END OF THE PROGRAM”

####################################################################

We will see more of PYEZ and underlying functions in subsequent posts.

Regards
Rakesh M

BGP Group Split – Applying an Export policy Flaps the Neighbor – Juniper

Leave a comment

Hi,

Someone new to JuniperΒ  Deployment might find this somewhat strange. The BGP neighbor flaps when BGP policies are applied at Neighbor level but not at their Group Level

Topology

————————————

R2 (9.9.23.2)——R3(9.9.23.3)

(9.9.12.2)

|

R1

(9.9.12.1)

—————————————

Both Neighbors are configured at [group] level

 

1

Now, let us add a Export Policy at neighbor level and see how it modifies the “show bgp group”

2

Lets see the output , how the BGP groups are split at neighbor level.

3

 

The above behavior is expected in a Juniper Networks Router by Design and is not a Anamoly.

Regards

Rakesh M

 

 

 

 

What is EXA-BGP ?

Leave a comment

Going through POC testing and application procedures, I came accross EXA-BGP, I have to say it is too easy and very powerful to deploy, I could deploy this in 5 minutes and started exchanging routes with my MX or any box for that matter, do give this a try, its easy I promise.

What is EXABGP ?

ExaBGP is a new application designed to provide an easy way for programmers and system administrators to interact with BGP networks. The program is designed to allow the injection of arbitrary routes into a network, including IPv6 and FlowSpec.

https://labs.ripe.net/Members/thomas_mangin/content-exabgp-new-tool-interact-bgp

CONFIGURING EXABGP on *nix system

I have a Linux system based on Ubuntu Distro, but it should be similar for any *Nix system

  • You need to have pip
  • You need to install Exabgp via pip

$ sudo apt-get install python-pip python-dev build-essential

I already have it installed, out differs if you are installing it for the first time

1

Next install Exabgp viaΒ  python, again I already have the package installed, output would vary for you

2

Configuring EXABGP

You need to have a conf.ini file similar to below, but you can get good examples from the initial link which I have pasted

3

Here – My Neighbor is a VMX with address 192.168.1.17 and Peer-as 100. Everything I have left at defaults for Family negotiations which will make EXA to advertise all the families available, we will see that in the other output file.

4

The Below slides show us how EXABGP output looks like, if you observe carefully, EXABGP is exchanging all Family parameters at Default and Vmx has received the request for All Families and GR capability.

5

6

There are Many applications of EXABGP, and when this is combined with Python may be related to β€œBGP Swiss Army Knife”, I will have more examples combined for this powerful tool which is widely deployed by customers, clearly for its ease of use and Power as well.

Regards

Rakesh M

Older Entries