Skip to content
CBT Nuggets

Create a Juniper Automation Lab

This skill, led by John McGovern, focuses on building a network automation lab for Juniper Networks. It covers the setup of a development environment using virtualization technologies like VMware and EVE-NG, and the installation of Juniper network images. The course emphasizes the use of Python for network automation, detailing how to configure and manage network devices programmatically. Additionally, it guides learners through setting up an integrated development environment with Visual Studio Code to streamline the automation process.

Full lesson from Juniper Automation with Python and Ansible. Preview the IT training 23,000+ organizations trust.

55m 6 Videos 6 Questions

Skill 1 of 45 in Juniper Automation with Python and Ansible

Overview

Join John McGovern as he demonstrates how to build a network automation lab for Juniper networks!

Recommended Experience

  • None

Related Job Functions

  • Network Admin
  • Network Engineer

A former CBT Nuggets learner, John used online IT training to help him build a diverse skill set, which includes networking and cybersecurity.

Introduction

Let's talk about some of the core concepts around network automation!

Knowledge Check

Which programming language is most commonly used to automate networks?

  1. APython
  2. BJavascript
  3. CGo
  4. DPowershell

Verify your team's readiness — Request a Demo to verify practice assessments, completion reporting, and CSV / SCORM exports on the Team plan.

Virtualisation

Let's discuss the virtualisation options that we have available to us to create our automation labs!

Knowledge Check

Which virtualisation platform was used in this nugget?

  1. AVMWare
  2. BVirtualbox
  3. CContainerlab
  4. DParallels

Verify your team's readiness — Request a Demo to verify practice assessments, completion reporting, and CSV / SCORM exports on the Team plan.

Juniper Images

Let's talk about how we can legally obtain Juniper images for our labbing purposes!

Knowledge Check

(True or False) You must pay a license fee to obtain Juniper network images for evaluation purposes.

Verify your team's readiness — Request a Demo to verify practice assessments, completion reporting, and CSV / SCORM exports on the Team plan.

Linux Installation

Let's walk through the installation of our Linux control node!

Knowledge Check

Which network adapter setting was used in this Nugget?

  1. ABridged
  2. BNAT
  3. CHost-only
  4. DCustom

Verify your team's readiness — Request a Demo to verify practice assessments, completion reporting, and CSV / SCORM exports on the Team plan.

Creating the Development Environment

Let's walk through the steps to get our network automation development environment up and running!

Knowledge Check

(True/False) VSCode's Python extension can make Python development easier by providing autocompletion and debugging features.

Verify your team's readiness — Request a Demo to verify practice assessments, completion reporting, and CSV / SCORM exports on the Team plan.

Creating a Juniper Lab

With everything in place, let's now create our very first juniper lab!

Knowledge Check

Which command is used to configure SSH?

  1. Aset system services ssh
  2. Bset services ssh
  3. Cset system ssh
  4. Dset ssh

Verify your team's readiness — Request a Demo to verify practice assessments, completion reporting, and CSV / SCORM exports on the Team plan.

Conclusion

I hope this has been informative for you and I would like to thank you for consuming.

View Transcript

Introduction

0:12Hey, everyone.

0:13And welcome to this brand new course

0:15here on CBT Nuggets, all around the concepts behind Juniper

0:20Network Automation.

0:22So we have a lot of really cool things

0:24that we have planned within this course.

0:26But this very first skill is all going

0:29to be focused around getting you up and running

0:32with a development environment so that you can write

0:35and execute your automation scripts,

0:38as well as how you can actually set up a particular lab

0:41environment to test out these configurations.

0:45So this means we're going to have

0:46to look at some type of virtualization solutions.

0:49We're going to have to look at particular ways

0:51we can emulate networking devices,

0:54as well as talk through some of the basics we need

0:57to actually write our scripts.

0:59This would be things such as an IED.

1:02Now, we'll get to see what that looks like very, very shortly.

1:05But before we even get to any of that,

1:08I figured the best thing to do to introduce

1:10this course is to talk a little bit about network automation,

1:14and what it is we are actually trying to achieve

1:17by learning these new skills.

1:19So if you happen to be managing networking

1:21devices in the traditional sense,

1:24this would be using the good old CLI, that

1:26is the command line interface.

1:28Typically the way you would manage your networks--

1:31if you happen to be over here, let's imagine

1:33this is your management station whereby you are logging in.

1:36Typically you're going to log in remotely to your target device.

1:40Let's say, for example, this node right here.

1:43And typically you would use some type

1:45of protocol such as SSH for the connectivity.

1:48And from that point on, with this connection established,

1:52you can know issue commands to that device

1:56remotely where they are applied to the actual configuration.

1:59Now, network engineers kind of figured out

2:02that this is not the most scalable way

2:04to manage networks.

2:05Networks, after all, are getting more complex.

2:08We have all these new virtualization technologies,

2:11we have underlay and overlays.

2:13And the amount of nodes within the network

2:15just seem to be growing and growing,

2:17especially when you begin to deal

2:18in the hyperscale environments and these very large data

2:22centers such as Google data centers or Amazon data centers,

2:26whatever it may be.

2:27So if we do want to implement these type

2:29of large configuration changes across many, many devices,

2:32the bottleneck now is not quite so much

2:35the latency across the actual connection to the device,

2:39the bottleneck, sadly, is as humans.

2:42When we want to be typing all of these commands

2:45over and over and over again, we end up

2:48repeating ourselves very often.

2:50Say, for example, you wanted to type some basic NTP

2:53configuration on a device.

2:55So you issue that command to this device,

2:57you then log into the next one, and you issue again,

3:00log in to the next one, issue again, so on and so forth.

3:04Clearly this is going to take a lot of time, which

3:07might mean that the actual configuration change is limited

3:10to a very particular change window.

3:13Say, for example, we're only allowed

3:15to make actual configuration changes

3:17between the hours of 12:00 AM and 6:00 AM before anyone

3:22actually happens to be in an office, for example,

3:24in using the network that we happen to be supporting.

3:27That just makes our lives much, much more difficult.

3:30Now, you may have used the old school automation solution.

3:34And I say that with tongue in cheek.

3:36And that is the well known technique

3:38of network engineers to utilize things such as Notepad.

3:41Basically repeatable configurations

3:43that you are going to apply, you type into a little text file.

3:47And then you Log in, and you Paste it into a device.

3:50Login into the next, Paste it, Log in, and Paste,

3:53and so on and so forth.

3:55Now, again, I suppose this is a little bit better than having

3:58to hand type the same commands.

4:00One of the things that it does eliminate

4:02is that it can help eliminate the fat fingering

4:06of a configuration.

4:07You know the way when you keep typing in the same commands

4:10over and over again, well, quite easily

4:12the very problem of human error comes into play.

4:16And we can actually mistype a command,

4:18and in effect misconfigure the actual device.

4:22And, again, as you scale this problem up,

4:25the more devices you have to connect to, the more likely

4:28this is to eventually happen.

4:30So at least the Notepad solution in some respect

4:34allows you to write the configurations into a text

4:37file, check it to make sure that's OK.

4:39And every time you happen to paste in that configuration,

4:43you're going to be pasting in the exact same configs

4:46to every single device.

4:47So that is a simple solution to the problem of repeatability.

4:51But, again, this is not scalable.

4:54If you happen to have, say, 10,000 devices,

4:57think how long that is going to take you to do that.

4:59Realistically this is not a feasible solution

5:03for that type of scale.

5:05Similarly, what if you wanted to type

5:08in very similar configurations to all devices

5:11but with slight modifications?

5:13Let's maybe say you always wanted to log into a device,

5:17set a hostname name for each device,

5:19and then configure the same DNS server for every single device.

5:23Well, the host name for every single device

5:27is going to be different.

5:28But you couldn't just type all of that into Notepad and just

5:31blindly copy and paste the same config into each device

5:35because then each device will have

5:37the exact same configuration.

5:38This is not a desired effect.

5:40Luckily, in the modern world of network automation,

5:43these types of solutions are actually very easily solvable.

5:47And they're going to be solved primarily by the Python

5:50programming language.

5:52Now, you can use other programming language,

5:54but Python, by far and away, is the most popular and dominant

5:59programming language in the world of network automation

6:01today.

6:02So this is primarily going to be our focus.

6:05But understand that when we happen to use this programming

6:08language, we're going to really help

6:10reduce the problems of human error

6:12that is mistyping configurations, whatever

6:15it may be.

6:16We're going to be able to easily substitute

6:18in variable values for particular pieces

6:21of configuration.

6:22We'll also be able to test our network more vigorously

6:25by being able to connect to all our devices at the same time.

6:28And maybe say, for example testing,

6:30that we have the correct amount of BGP peerings

6:33that we expect for each device, whatever it may be.

6:35We'll also be able to quickly deploy

6:38mass changes across many devices at the same time.

6:42And when I say the same time, I mean with concurrency literary,

6:45we're going to be able to modify all the devices together

6:49at once as opposed to logging into one,

6:52logging out, logging into the next,

6:54logging out, and back into the next, so on and so forth.

6:56So this means our change windows get much, much shorter.

7:00Our changes are much more stable and reliable and predictable

7:04because they are repeatable.

7:06And we are more easily able to test our network,

7:08as well as to repair it our network

7:11by being able to roll back erroneous configurations back

7:14to a healthy network state.

7:16And, again, being able to roll back

7:18thousands of devices within seconds

7:21is a really going to be very, very beneficial for you

7:24as a network administrator or engineer.

7:27Now, the Juniper platform happens

7:29to be one of the very best platforms for network

7:32automation out there.

7:33In fact, these features such as a rolling turnback

7:36configurations is a core functionality

7:38of the Junos operating system.

7:41So realistically Junos has been way ahead

7:43of the curve of many of these rival networking vendors,

7:47such as Cisco, when it comes to being automation friendly.

7:51Junos also is able to give us structured data

7:54directly from the device itself, which

7:57makes it extremely powerful when you want to introduce

8:01programmatic logic.

8:02Now, if you're not familiar with structured data

8:05or working with data in a programmatic way,

8:07certainly do not worry about that at all right now.

8:10Trust me, we're going to get many, many examples of using

8:13this type of structured data, and you are definitely

8:16going to see the power of this feature.

8:19So, really, there are far too many benefits

8:21of network automation to just fit into one single Nugget.

8:25Instead, the benefits should be gradually

8:27and continually revealing themselves

8:30as you progress throughout this course.

8:32But as a high level overview, being

8:34able to automate your network is going

8:36to allow you to manage your networks more securely.

8:39With greater stability, you'll be

8:40able to deploy changes faster.

8:43And it's going to really help you collaborate

8:46with the other members of your team

8:48in pushing out complex network configurations.

8:51So all of this sounds quite exciting, indeed it is.

8:54So how about we began building our environments

8:57so that we can begin practicing and testing

9:00all of these techniques?

9:01So the very first thing that we have to talk about

9:03is the concept of virtualization.

9:05And, well, that's what we're talking

9:07about in the very next Nugget.

9:09So I hope this has been informative for you,

9:11and I'd like to thank you for viewing.

Virtualisation

0:00[AUDIO LOGO]

0:11Hey, everyone, and welcome back.

0:15Now, in the previous Nugget, we talked

0:16about the general benefits of network automation.

0:20Now, in order to begin learning these concepts, what

0:24we want to be able to do is to build a particular lab

0:26environment.

0:27Now, this lab environment is going

0:30to require that we employ virtualization.

0:33So realistically, we want to be able to test

0:35our automated configurations against virtual devices.

0:39And these virtual devices are ultimately

0:42going to be living within a virtual machine, at least

0:45in the setup that I'm going to recommend.

0:48So in order to be able to run virtual machines,

0:51we need to actually have some type of virtualization

0:53technology that is going to allow us to do just that.

0:57Now, we do have a few options available to us

0:59that we can use.

1:00One option is VirtualBox by Oracle.

1:04Now, I have used VirtualBox before.

1:06But it is, at least in my opinion,

1:09not quite as good for our use case as VMware.

1:12But again, this is just my own personal preference.

1:15But I'm going to recommend to you that you

1:18happen to utilize VMware.

1:20So this exactly what I'm going to search for right now.

1:23So if you happen to search for VMware,

1:25we're going to see some different options here

1:28available to us.

1:29If you happen to be utilizing an Apple Mac computer,

1:32the version you would want to get would be Fusion.

1:34Fusion is VMware's solution for that platform,

1:38whereas if you happen to be using Linux or Windows,

1:42we want to be utilizing the Workstation.

1:45Now, the Workstation Pro happens to be

1:47the more advanced product.

1:48It has a few more additional features.

1:51However, this happens to be a paid solution.

1:53You're going to have to buy a subscription

1:55to be able to access and use this software.

1:58Instead, what I'm going to recommend you do,

2:01if you would rather not pay for the virtualization solution,

2:04is to download Workstation Player

2:07if you're on Windows or Linux.

2:09All we would do here is if I click this link here,

2:12we can see indeed this is for your Windows

2:14machine or your Linux PC.

2:16And that is a free download.

2:18So if you just click this link here--

2:20and let me just zoom in a little bit.

2:22If you Go to Downloads right here-- and then depending

2:25if you happen to be on Windows, you

2:28would select this option here.

2:30And if you happen to be on Linux,

2:32you would select this option right here.

2:34Now, I already have VMware installed on my Windows machine

2:38right now.

2:39But again, if you don't, just click Download.

2:41And the download should begin.

2:43Now, to install VMware, you simply open up the program.

2:47And just follow the installation prompts.

2:49But like I say, I have VMware up and running.

2:52So I will just stop this right now.

2:54Now, once we have VMware, we want

2:56to have some type of software that

2:58is going to allow us to build network topologies

3:01in a virtual machine.

3:02Now, again, we do have different options available to us.

3:05We have something called GNS3.

3:08This is a great solution for network emulation

3:11but also is a new solution out on the horizon

3:14called Containerlab.

3:16However, this is driven towards container images as opposed

3:20to virtual images.

3:21And whilst it is probably the best solution when

3:24you want to quickly spin up automated labs,

3:27I think the easiest to use, thus the lowest barrier of entry

3:31for us, is to use the very good software known as EVE-NG.

3:36So let us get that download then.

3:38So what I will do is go back to Google.

3:40And if you just search for EVE-NG,

3:42click the top link here.

3:44Now, again, EVE-NG has a paid version as well as

3:48a free version.

3:49The paid version is the Professional Edition.

3:51This, as you would expect, gets you some extra features.

3:55But honestly, they are not necessarily for our purposes

3:58right here.

3:59So if you want to go ahead and get the Professional

4:01Edition absolutely, that is your choice.

4:04But I'm just going to recommend for our purposes

4:06that the Community Edition, which is the free version,

4:09is all we need.

4:10So if I go up to Download here at the very top of the screen--

4:13let me just zoom in so you see it better-- click this here.

4:16Now we can see all of these options.

4:18I'm going to choose Free EVE Community Edition.

4:21You can install the ISO file.

4:24But to make things as easy as possible,

4:26I'm going to recommend you choose the OVF file.

4:29Now, we have two different sources whereby

4:32we can install this image.

4:34We can get it from the MEGA mirror or the Google mirror.

4:37So either one which you happen to choose,

4:39whatever happens to be fastest is A-OK.

4:41Let me just click on, say, for example, the Google mirror.

4:44So it says here, this is too large for Google

4:47to scan for viruses.

4:48I'm going to elect to just download this anyways.

4:51So if I click this here, now the download is going to progress.

4:55Now, this happens to be a zipped file.

4:58So once this download completes, what you'll want to do

5:00is to unzip this and extract the contents

5:03of this particular file.

5:05And again, I have already done so.

5:07So if I just stop this right here--

5:08and here is the compressed file right here.

5:11Once I extract it, I have this folder.

5:13I can go in here and again click in.

5:16This particular file here, this open virtualization format

5:20package, this is the file that we want to use with VMware.

5:25OK, great.

5:25So assuming you have followed the prompt for VMware,

5:29once you open it up, you should see this type of interface.

5:33Now, I already have an EVE-NG machine created

5:35for my labbing purposes.

5:37But I actually will walk through the creation of a new one.

5:40So what I will do here is I'm just going

5:42to open a virtual machine.

5:44I'll click Open here.

5:45And I will go in the same directory.

5:47And I will get this OVF file.

5:51So I'll click this here and choose Open.

5:53So now what I need to do is to give

5:55a name for my virtual machine.

5:57So I'll just call this NEWEVETEST.

6:00And now you can specify whereabouts

6:02you actually want to store this particular virtual machine.

6:05So I will just leave at the default settings.

6:08And choose Import.

6:10This is going to import this virtual machine right here.

6:13And just give this a little bit of time.

6:15OK, so now the virtual machine has been imported.

6:19What I will now do is select Edit virtual machine settings.

6:22And if you want to allocate more memory

6:25to this particular virtual machine,

6:27if you happen to be running larger labs,

6:29all you can do here is just scroll

6:31this up and down as you need.

6:34Now we'll just leave it at around 8 gig.

6:36That is enough for right now.

6:37And I'm going to leave my network adapter

6:39at the bridged connection.

6:41So if I just say, OK, now I just click Play

6:45to play the virtual machine.

6:46The virtual machine shall begin loading up.

6:49And we're going to have to do some very basic configurations

6:51to get our machine up and running.

6:53OK, so I'm now presented with a login screen.

6:56I'm going to say the login is the word root.

6:59And the password is the word eve--

7:01e-v-e in lowercase letters.

7:04Hit Enter.

7:05Now we're going to have to type the root password again.

7:07I'll just say eve.

7:08Hit Enter.

7:09And repeat it.

7:10Hit Enter.

7:11I will just leave the hostname as eve-ng.

7:13Just hit Return.

7:14And I will do Return again.

7:16And I want to have a DHCP connection.

7:19So I'll just hit Return again.

7:20Do I have an NTP server?

7:22I'm just going to leave that blank.

7:23Return home again.

7:24And I'm going to have a direct connection.

7:26So just Return again.

7:28And now the machine should begin loading.

7:30So just give this maybe a minute or two.

7:33Now this is giving me the IP address of 192.168.4.58.

7:38This is going to be the address that I

7:40use for this virtual machine.

7:41But very, very likely, you're going

7:43to have a different IP address depending

7:46on your VMware adapter subnet.

7:50My VMware adapter subnet 192.168.4.0/24,

7:54hence why the eve machine has a host address within this range.

7:58So again, if I log in to the machine,

8:00I will say root as the login.

8:02And the password again is eve.

8:05Hit Enter.

8:06So I've now logged in to the machine.

8:07What I now want to do is to browse to that IP address

8:10in my web browser.

8:12So I will type 192.168.4.58, which is my IP address.

8:17If I hit Enter, this is going to take me

8:19to the sign-in page for the EVE-NG virtual machine.

8:23So now the username here is no longer root.

8:27The username to log in to the web page

8:29here is actually admin.

8:31But the password is still eve--

8:33so E-V-E. Then if I sign in, I will just say don't save.

8:37If I click Add new Lab here, I'll just give it a name.

8:41Let's just call this lab1.

8:42And then save.

8:44Suddenly, we now have this interface for EVE-NG

8:48where we can actually build a network topologies.

8:52But before we actually build on network topologies,

8:54we need to have particular images, these virtual images,

8:58of the network operating systems that we want to use.

9:01So how are we going to get these virtual images?

9:03Well, that's what we're talking about in the very next Nugget.

9:06So I hope this has been informative for you,

9:08and I'd like to thank you for viewing.

Juniper Images

0:00[AUDIO LOGO]

0:12Hey, everyone, and welcome back.

0:14Now, in the previous Nugget, we set up VMware.

0:17And within VMware, we created an EVE-NG virtual machine.

0:22Now that virtual machine is up and running right now.

0:25However, we do need to load in particular virtual images

0:29so that we can create our virtual network topologies.

0:33So the first thing that I want to do

0:34is to try to download these Juniper images.

0:38So if you happen to search for Juniper download,

0:41this top link right here should take you

0:43to where we want to go.

0:44Now the very first thing that you're going to have to do

0:47is to create a user account.

0:49So what you should do here is go to Accounts.

0:52If you have not already got an account,

0:54select User Registration.

0:56And from this point on, you're going

0:57to have to type in your email address, whatever it may be.

1:01So type in our email address you happen to have.

1:03This is not actually my email address, but you get the draft.

1:06Type in whatever yours happens to be.

1:08And then just re-enter the email address.

1:11If you click Submit, you are going

1:13to get an email sent to that particular email address.

1:17And within that email, you're going

1:19to have to click a particular link.

1:21Now once you happen to collect the link within this email,

1:24you're going to be presented with this particular page.

1:27And you can begin filling out these forms.

1:30So my country right here would be in the United Kingdom.

1:33I would select this.

1:34Now if you happen to have access to a real Juniper device, one

1:38that you have bought, then what you can actually do

1:41is use the product serial number from that device,

1:44and that can get you access to download the particular images.

1:48If you do not have a Juniper device, what you could do

1:50is request evaluation user access.

1:53Well, it's basically going to give you access

1:55to Juniper images for a 60-day evaluation trial.

1:59So whichever one you happen to choose you can do that.

2:02In this case here, I will just say evaluation user.

2:05I will select that I am not a robot and then choose Next.

2:08Now the reality is after you do such a thing that is

2:12a little bit of a waiting game.

2:13You're going to have to wait for Juniper

2:15support to respond to you and ultimately authorized

2:19the creation of your account and the ability for you

2:22to be able to access these images.

2:23Now once you have access to these particular images,

2:26all you want to do is to search for EVE-NG Juniper

2:30and say, for example, click this link here for the vMX.

2:33And all you want to do is to walk

2:35through all of these instructions

2:37exactly as they are detailed on the EVE-NG machine.

2:41This is going to allow you to copy those images

2:43into the EVE-NG machine, and you will then have access

2:47to these particular devices.

2:49If you scroll on down, we can see the process for vMX.

2:53Although, else you can have the vQFX, all the instructions

2:56you need.

2:56We can see the Juniper firewalls here also.

2:59Again, click this.

3:00Follow all of the instructions.

3:02So once you have that done, you should

3:04have access to Juniper devices within EVE-NG.

3:07The next thing we have to look at

3:08is how we can actually begin building our development

3:11environment to be able to begin automating these devices.

3:15And well, that's what we're talking

3:16about in the very next Nugget.

3:18So I hope this has been informative for you,

3:19and I'd like to thank you for viewing.

Linux Installation

0:00[AUDIO LOGO]

0:12Hey, everyone, and welcome back.

0:14So previously, we learned how we could spin up

0:17EVE-NG within VMware.

0:20And we also talked about adding particular network images

0:24to that VM.

0:25So we have the possibility to virtualize network topologies.

0:29Now what we want to focus in on is our network automation

0:34control node.

0:35This is going to be the node in the network that

0:38connects to all the devices that we're trying to manage.

0:41And this node is going to be equipped

0:43with all of the development tools

0:45that we need to write and manage our automation system.

0:48Now, just to be clear, you can absolutely

0:51develop on many different platforms.

0:53You can develop on Windows.

0:55You can develop on Mac.

0:56But I really would have to recommend

0:58that you look at a Linux solution, because so much

1:02of the open-source technology aimed

1:04towards network automation has been

1:07designed with Linux in mind.

1:08That's just going to make everything

1:10a much smoother experience.

1:12So for that reason, I'm going to suggest that you also

1:15create a new virtual machine within VMware of a Linux

1:20instance.

1:20Now, my recommendation happens to be Ubuntu because Ubuntu

1:25is very user friendly.

1:27It's very well maintained.

1:28And it is very, very stable.

1:31So with that said, how about we walk through the installation

1:34of Ubuntu?

1:35So if you happen to search for Ubuntu, what we're going to do

1:39is to click this top link right here.

1:41And we will just accept all.

1:43So what I'm going to do is to go to the Download option here.

1:46And to make things as easy as possible to manage,

1:50we will elect to download an Ubuntu Desktop.

1:52So let's click this right here.

1:54Now, we have different options available with Ubuntu.

1:57We can download the latest release.

1:59But the one I'm going to suggest to you

2:01is one with long-term support.

2:04So you should see LTS next to whatever version you download.

2:07And of course, if you're watching this and the future,

2:10the actual version number here may very well

2:12be completely different by that point.

2:14But like I say, go for the LTS.

2:16That is going to be the stable version.

2:18So what I will do here is choose Download.

2:20So like I say, this should begin downloading this ISO image.

2:24And once that is done, we can begin installing

2:28this image using VMware.

2:30OK, so now that I have downloaded

2:32this ISO image, what I now want to do is to go back to VMware.

2:37And this time, I'm going to choose Create a New Virtual

2:40Machine-- so a little bit different this time.

2:42Then I'm going to choose the installer disk, the ISO file.

2:46So I'm just going to browse to the location

2:48where this ISO image happens to be saved.

2:50So I will go into this directory,

2:52where I have saved this file.

2:54Let's open this up.

2:55And as we can see here, VMware has

2:57detected the particular operating system.

3:00And it's going to go through an easy install, which just makes

3:03our life much, much easier.

3:05So I'll just say Next.

3:06Now, I'll give the full name ipvzero.

3:09I'll have the username also as ipvzero.

3:12I will create a password for this particular machine.

3:15And I will then say Next.

3:17I'll give the machine a name.

3:18Let's just call this Ubuntu.

3:20You can change the location of where

3:22you want to save this machine.

3:23Again, I will leave it and the default directory.

3:26Let's choose Next.

3:27And now we have to specify the hard disk capacity.

3:30How big do you want this machine to be?

3:32I will just have it at 20 gig.

3:34And say Next.

3:36And I will then say Finish.

3:38I will then go on to the Customize Hardware.

3:41And I will also make the network adapter the same configuration

3:45that I have for EVE-NG.

3:46So I'll select a bridge.

3:48Then I'll choose Close.

3:49We can see the setting has changed.

3:51And then Finish.

3:53So now the VM is going to boot up.

3:55And we'll just have to be patient and do some waiting

3:57here.

3:58Now we're going to have to walk through

4:00some basic configuration, selecting your keyboard layout.

4:02In my case, I am in the United Kingdom.

4:05So I will select English UK.

4:07And then I will choose Continue.

4:09But of course, choose the settings

4:11that are applicable to you.

4:12And I will just go for a normal installation.

4:15Click Continue.

4:16I will say Erase disk and install Ubuntu.

4:19And click Install Now.

4:20I will say Continue.

4:21Now I'll select my location.

4:23I happen to be in the UK for my timezone.

4:26Then click Continue.

4:27Now I'll specify my name.

4:29So I will say ipvzero, if I can type that correctly,

4:32and the computer name.

4:33I'll just leave it as ipvzero.

4:36Same for the username.

4:37And I will choose my password.

4:38OK, so now I will click Continue.

4:40So this may take a few minutes, depending

4:43on how fast your computer is.

4:44Again, just be patient.

4:46So now the installation is complete.

4:48What we're going to do is to click Restart Now

4:51to restart the virtual machine.

4:53So the VM will restart.

4:55Just give it a moment to do so.

4:57So now I will click on my username and type

4:59in my password that I created.

5:01And hit Enter.

5:02And now I will click this bottom left right here.

5:05I will type in terminal.

5:07So if I do ip addr, it's going to show me all my IP address

5:11information.

5:12If I do that and pipe for 192, that

5:16will filter just for the line 192.

5:18And we can actually see my internet address is within

5:22the same subnet as my EVE-NG machine--

5:26192.168.4.0.

5:28And that has a /22 mask.

5:30Actually, I believe I said /24 in a previous Nugget.

5:33But again, it doesn't actually matter.

5:35They are on the same network.

5:37That means if I happen to boot up my EVE-NG machine,

5:42I will be able to ping between my Ubuntu machine here

5:46and the EVE-NG topology, because again,

5:48they're on the same network.

5:50And lastly, I just want to ping 8.8.8.8

5:54to make sure I have internet connectivity, which I do.

5:57So now we have our Ubuntu machine up and running.

6:00It's on the same subnet as our EVE-NG virtual machine.

6:03What we now want to do is to begin constructing

6:06our development environment.

6:07And well, that's what we're doing in the very next Nugget.

6:10So I hope this has been informative for you,

6:12and I'd like to thank you for viewing.

Creating the Development Environment

0:00[AUDIO LOGO]

0:12Hey, everyone, and welcome back.

0:14Now, in the previous Nugget, we walked

0:16through how we could install Ubuntu, which is a Linux

0:20virtual machine, into VMware.

0:22Now that we have access to this Linux environment,

0:25we want to use it as our development environment

0:28where we will write and edit our code, manage configuration

0:32files, and more.

0:34Now, we can actually develop directly

0:36within this virtual machine itself.

0:39But what we want to do is we want to install an integrated

0:43development environment.

0:45This is really just an environment

0:47which is going to make the development process much, much

0:50easier, providing new tools and applications to simplify

0:53and streamline so much of the programming practices

0:57that we are going to be using.

0:58So what I'm going to do is I'm going to elect

1:01to download a very popular IDE.

1:03And that is Visual Studio Code.

1:06Now, Visual Studio Code was developed by Microsoft.

1:10But don't think you can only use this on Windows machines.

1:13Indeed, you can also use this on Mac as well as on Linux.

1:18So what I'm going to do is I'm going

1:19to go and open up my browser.

1:21And I'm going to search for vs code.

1:24So if I click this link here--

1:26and let me just full-screen this.

1:27Now, depending on the platform which you're using,

1:30you want to download whatever version suits your needs.

1:33So right now in this example here,

1:35I happen to be utilizing a Windows machine.

1:38So because of that, I'm going to select the Windows download.

1:41So let me just click this link right here.

1:43We can see the executable package is downloading.

1:46OK, so once that has downloaded, let's just click this link here

1:50to begin the installation.

1:52And let me just minimize this page here and minimize this.

1:56So you want to read the terms, of course.

1:58Never skip that part.

2:00And we want to accept the agreement.

2:02So click Next.

2:03Now we want to specify whereabouts are we going

2:05to install Visual Studio Code.

2:07So I will just choose Next.

2:09And again Next.

2:10Now, if you want to do things such as create a desktop icon,

2:13you can do so.

2:14But for now, I'll just leave things

2:15as they are and choose Next.

2:17And then finally, I will select Install.

2:20So now the installation is going to happen.

2:22Just give this a little moment.

2:24Perfect.

2:25So I'm going to make sure Launch Visual Studio Code is ticked.

2:28And then click Finish.

2:30Now, VS Code is automatically remembering

2:33some of my settings.

2:35So my output might look a little bit different than yours.

2:38But don't worry about that.

2:39What we now want to do is to begin

2:41to install some extensions.

2:43These extensions are going to provide

2:46to you additional functionality to make our lives easier.

2:49So what I'm going to do is I'm going to go to File.

2:52And then I will go to Preferences.

2:55And then I will go up to extensions.

2:57We can see here, I already have a bunch of extensions

3:01which VS Code is remembering.

3:02And the first one here that I want to suggest to you

3:05is this one here--

3:06Remote SSH.

3:07So just search this in the search bar.

3:09Click Remote SSH.

3:11Now, as it transpires, mine is already installed.

3:13Let me just temporarily uninstall it.

3:16So this is pretty much how it shall appear to you.

3:18You will have this button to install

3:20this particular extension.

3:22And if you do so, by clicking it, it will install.

3:25And now Remote SSH has been downloaded.

3:29So here is the deal.

3:30With Remote SSH, it means that I can open up Visual Studio

3:35Code within my regular Windows environment,

3:39or whatever I happen to be.

3:41And I can remotely log in to this Ubuntu server.

3:45And I can use Visual Studio Code with all of my extensions

3:49that I have installed in my system

3:51and have those available within that Linux Ubuntu

3:55virtual machine.

3:56Now, before we can actually utilize this extension,

3:58we're going to have to install the SSH server daemon

4:02within our virtual machine.

4:04So check this out.

4:05We'll go back to the VM.

4:06Let me just type clear to clear the screen.

4:09I'm going to take the command sudo apt update, and hit Enter.

4:13I will type in my administrator password.

4:16So just give us a moment.

4:18Perfect.

4:18And now I'm going to say sudo apt install openssh-server.

4:25And then Enter.

4:26Again, I will say y.

4:28Hit Enter again.

4:29And this will began installing the OpenSSH server.

4:32So this server here is going to be capable of accepting

4:36SSH requests.

4:37So now we have SSH installed.

4:39Let's go back to VS Code.

4:41And what I'm going to do is I'm going to hold the Function key

4:44and press F1.

4:46Now, this is going to show me a list of things which I can use.

4:49At the very top, we can say Remote SSH

4:51because I happen to have recently used this

4:53in a previous installation.

4:55But if you can't find it, just begin typing remote,

4:58and then I will do a colon and then begin typing connect.

5:02And we can see this option here--

5:03Remote SSH, Connect to Host.

5:05This is the one we want.

5:07So I will select this.

5:08Now what I have to do is to type in the IP

5:10address of the target.

5:11Now, if we go back and I type in ip addr,

5:16I can actually see my IP address here as 192.168.4.59

5:21on the server.

5:22So let's type in that address here.

5:23I'll say 192.168.4.49.

5:27Hit Enter.

5:28A new window is going to open up, as we can see.

5:30Let's minimize this.

5:31It's now asking me to identify the platform of this host.

5:35It's going to be a Linux machine.

5:36And now it's telling me the SSH fingerprint.

5:39So do I want to continue?

5:40I will say, yes, Continue.

5:42And now I have to type in the password

5:45for this particular VM.

5:46And actually, before I do anything,

5:48I've just noticed a little problem.

5:50Notice what it's actually trying to log in with.

5:52It's trying to log in with my VS Code credentials.

5:56That is johnm.

5:57See that johnm?

5:58This is not what we actually want,

6:00because the user name johnm doesn't actually

6:03exist on my virtual machine.

6:05So that's a little gotcha.

6:06So in fact, what I will do is I will

6:08press Escape to cancel this.

6:10I will say Close Remote.

6:11And we'll go back again.

6:12So I'll press function F1 again.

6:15And I will say Connect to Host.

6:16Now, what I'm going to say here is

6:18I'm going to say ssh ipvzero because that

6:22is the username that is on the device.

6:25And now I will type in the address 4.59.

6:28If I hit Enter now, it's going to open up this connection.

6:31Let's full-screen this one.

6:33We can now see the prompt as ipvzero,

6:36which is exactly what we want.

6:38Now I'll type in the ipvzero password

6:41that I created on the Linux machine.

6:42Hit Enter.

6:43And now we should be logged in to that server.

6:46So if I click Terminal here and select New Terminal,

6:49notice here we actually are in the Linux machine.

6:53So if I just minimize this and pull this up,

6:55we actually have a command line directly within this box.

6:59So if I did maybe, say, mkdir and said TESTFOLDER,

7:03if I minimize this VS Code and I go back to my virtual machine--

7:07let's clear this and do an ls--

7:09look at this.

7:10The TESTFOLDER has been created within the virtual machine

7:13directly from my Windows machine using VS Code.

7:16So that means if I happen to create a new file-- let's

7:19call this one file.txt.

7:21Do an ls.

7:22We now have this file.

7:24If I then go to File here and then Open File, check this out.

7:28If I scroll on down, I can see that file within the options.

7:31Select it.

7:32And then I can choose Open.

7:35So if I want to write some particular code

7:37or just maybe modify a configuration file,

7:40I can now do it within the VS Code editor.

7:43And all the changes I make, such as "Some changes"--

7:46and I will just save the file.

7:48If I now go back, do an ls on the machine,

7:51and I cat the file to open it, notice anything

7:54I take within editor appears within the VM.

7:57So now that we have VS Code up and running, what we want to do

8:00is to ensure that we have Python installed within the system.

8:04Now, within our installation, Python

8:06should already be installed.

8:08We can check this by saying, python3 --version.

8:11And notice we can do this directly

8:13within VS Code, of course.

8:14And if we hit Enter, we can see that we already

8:16have Python installed.

8:18Indeed, we have Python version 3.10.

8:21And with Python being installed, what I now want to do

8:24it is to go to File, Preferences, and Extensions

8:26again.

8:27And this time, within the extension,

8:29I'm going to search for Python.

8:30And we can see this option here.

8:32Let's click this-- Python.

8:33This is going to give us IntelliSense, meaning

8:36that any Python files we happen to edit and modify,

8:39we're going to get things such as autocompletion

8:42and suggestions.

8:43So notice here, it says, Install in SSH

8:46plus the IP address of the target.

8:48This is where I want to install the Python extension.

8:51So if I just click this here, just give it a moment,

8:53and now the extension has been installed.

8:56So what I can do here is just close this over.

8:59And if I create a file called maybe testfile.py and I open

9:03this up, VS Code is going to notice the .PY extension

9:07and deduce that this is a Python file.

9:09And when I begin typing, we're going

9:11to get autocompletion plus all these different suggestions.

9:14So let's maybe say, from.

9:15And look at this.

9:16See all these Python suggestions?

9:18And if I say, j, we can see all the other suggestions--

9:21S-O-N. And whenever I get a suggestion I like,

9:24I can just press Tab to complete that suggestion.

9:27So this, like I say, is going to make

9:29the development of our Python programs much, much easier

9:32than just trying to develop in a regular text editor.

9:36So that is the basic setup of our development environment.

9:39Indeed, we are going to be adding to this environment

9:42continually as we progress throughout this course.

9:45But for now, those are the basics

9:47that we need to have to get up and running.

9:49So I hope this has been informative for you,

9:50and I'd like to thank you for viewing.

Creating a Juniper Lab

0:00[MUSIC PLAYING]

0:12Hey, everyone and welcome back.

0:14So now what I want to do is I want

0:16to walk you through the basic setup for our Juniper lab.

0:20Now that we have EVE-NG up and running with our Ubuntu system

0:24and we now should have our Juniper devices accessible

0:27to us.

0:28So what I'm going to do here is I'm going to right click.

0:31And I'm going to select nodes.

0:33Now if I happen to search for vMX,

0:35I'm actually going to see here two different devices.

0:39Now that actually ties in to how Juniper operating systems work.

0:43So depending on the type of image that you have,

0:46if you happen to have an older image,

0:49then you will be dealing with just one device.

0:53However, in more recent releases of Junos,

0:56the device is actually subdivided

0:58into two separate devices.

1:00We have this VCP and the VFP.

1:05Now the VCP is all about the control plane.

1:09This is effectively the reporting engine.

1:12This is a device that is responsible

1:14for your routing protocol, configurations, your IP address

1:17configurations, all the type of config that you would put

1:21in to your device is going to be entered into the written

1:24configuration.

1:25The actual forwarding of the packets

1:28is going to go through the VFP.

1:30So the actual configuration, if you're

1:32coming from maybe say a Cisco world,

1:35might be a little bit confusing to you first.

1:38But rest assured if you happen to have one of these newer

1:41devices, we are going to have to add both devices

1:44and connect them together.

1:46So that they eventually act like one big block.

1:49So I will select VCP first.

1:52And I will go down and click Save.

1:54Here is my routing engine.

1:57Now I'm going to connect the VFP, the forwarding device.

2:01This is going to have 12 ethernets, as we can see here.

2:04And I'm going to click Save.

2:06Now these devices have to be connected to one another.

2:10So all I'm going to do is I'm going to hover

2:12my mouse over the device.

2:14And I'm going to drag and pull this little link into the next.

2:17Now the interfaces that we actually

2:19want to connect these devices with as the one which says

2:23int, you see this one here? em1/int,

2:27the int has the internal connection for the device.

2:31So, again, int to int, we see here.

2:35If I say Save, these two devices are now

2:38connected via an internal components.

2:40And effectively, they just aren't legal one device,

2:44if you so wish.

2:45But we're going to have two separate this out.

2:47Now like I say, our configurations

2:49are going to be targeted on the routing engine itself.

2:53Yeah, that's the thing.

2:54We don't just want to connect to any old interface

2:57within this device.

2:58Instead we want to configure what is called a management

3:02interface.

3:03So realistically what we're talking about here

3:05is out of band management.

3:07And this is a very basic concept within network automation.

3:11The reality is we don't want to be connecting

3:13on an interface that is participating

3:16in our general networking.

3:18So let's imagine we have a device here and a device here

3:22and let's maybe say a device here.

3:24OK, so they're all connected to each other.

3:28Now if we happen to be managing this device from way over here

3:31and I connect into one of my devices.

3:35And let's say I wanted to from this vantage point

3:38manage this device up here.

3:41Well, if I actually traverse the network,

3:43I can actually reach this device here.

3:46However, if I happen to push out some automated change,

3:49maybe the configurations on this device

3:52somehow breaks the connection between this device here.

3:55Now think about it, if this device here goes down,

3:58I can no longer access this device or this device.

4:02I'm effectively locked out of absolutely everything.

4:05And that could be the result of a configuration change

4:08that we're making to our network.

4:09Instead, what we want to have is a direct connection to all

4:13of our devices within the network on a subnet

4:16that is not actually participating actively

4:19within the network.

4:20It's going to be within what is called its own VRF.

4:23That is its own virtual routing table.

4:26So it's not actually going to affect anything

4:28within the network itself.

4:30Now, depending on the image that you happen to have,

4:33you may happen to have different management interfaces.

4:37In my case here with the images I am using, let me show you

4:40the interface that I'm going to use.

4:42Now one thing to note as well is that to actually connect

4:46N to this topology, I'm going to right click

4:49and I'm going to select a network.

4:51Now the network type here is going

4:52to be a Management Cloud zero.

4:54And if I click Save, this little cloud here--

4:57and let me just Zoom in a little bit-- this little cloud here,

4:59you can imagine this as a gateway out

5:02of the virtual machine to my regular network.

5:04So from this vantage point, I can connect

5:07into my EVE-NG topology.

5:08So that means I could use my VS codes from my Ubuntu

5:12to server and talk to the devices within this topology.

5:15Now in order for that to happen, I'm

5:17going to have to connect that end to the node

5:19that I want to manage.

5:20I'll just drag this here into the routing engine.

5:23Now, see this interface here, em0/fxp0,

5:28this is the management interface for this particular device.

5:33So it's going to be its own separate management interface.

5:35It's not going to be participating

5:37in the actual networking when I'm connecting

5:39to other devices in the topology,

5:41this interface is just to connect to the management

5:45station alone.

5:46So that it can be managed remotely.

5:47But if I click Save here, I have now got my Juniper device.

5:52Like I said, it's two devices joined together

5:54as a one device.

5:56And this logical one device is connected to the monitoring

6:01cloud, which effectively allows me to reach in from VS Code

6:05and talk to this particular device here.

6:08But before I do such a thing, I'm

6:11going to have to run through some basic configurations.

6:13So what I'm going to do first is I'm

6:15going to go to More Actions, and I will start all nodes.

6:19That is going to start up these devices.

6:21And depending on how powerful your machine happens to be,

6:25this may take five minutes, 10 minutes, 20 minutes.

6:28Sometimes these devices can be pretty heavy weight

6:31and take a little bit of time to start up.

6:33So what I'm going to do is I'm going to pause the video

6:35and come back when the device is running.

6:38So what I will do in the meantime

6:39is I will just click on the routing engine, which

6:42should open up a terminal to that device.

6:44And as we can see here, the device is still booting up.

6:47OK.

6:47So after what felt like an eternity,

6:49the device has finally booted up.

6:52And the first thing I'm going to do

6:53is I'm going to log in as the root user.

6:56Now what I want to do is I want to go into the Junos CLI.

6:59And I'm going to type CLI.

7:01Now you will notice right now that a lot of stuff

7:04is going to begin flying up on my screen.

7:06We're going to have this auto image, DHCP client request,

7:10as well as a whole bunch of syslog messages

7:13as we can see right there.

7:14Now this can be quite challenging

7:16because they really interrupt you

7:18as you try to navigate the CLI.

7:21If you want to turn these features off right now,

7:24the very first thing that I'm going to have to do

7:26is I'm going to have to set a route authentication password.

7:30And then after that, I'm going to be

7:32able to commit some changes to the system, changes

7:36which can stop this behavior.

7:37Now because of this continual flood of data

7:40going down my screen just to make it a little bit easier

7:43to see what I'm actually typing, I'm

7:45going to type it into Notepad and then I'll paste it in.

7:47So the first thing I will do is I go into Edit mode here.

7:50And once I'm in Edit mode.

7:51I'm going to take this particular command.

7:53So I'm going to say set system--

7:55but let me just Zoom in a little bit--

7:56set system root-authentication plain-text password.

8:04Now plaintext password is a bit of a misnomer

8:07because Junos is actually going to encrypt this password.

8:10But nevertheless, this is what we'll do.

8:12And then after this, we're going to be prompted

8:14to type in or password.

8:16And the password I'm going to use

8:17is going to be Juniper one with a capital J.

8:20The first thing I will do here is I will copy this command.

8:23Go to the command line.

8:24I'll paste it in.

8:25Hit Enter.

8:26Type in the password, Juniper1 and I'll confirm it.

8:29OK.

8:30So right now, we have the authentication password.

8:33But as we can see, the terminal is still

8:35being interrupted with these particular messages.

8:38So the next command that I am going to configure,

8:41it's going to be delete chassis auto-image-upgrades.

8:47That should stop the DHCP requests,

8:49then I'll have this right here.

8:51And I will commit to the change.

8:52Committing the change is a really just saving the change.

8:55So that it actually takes effect in the configuration.

8:58We'll get to see much more of this

9:00when we talk about actually automating our networks.

9:02Now the next command I'm going to see

9:04is going to be deactivate system syslog user and then start.

9:10I will copy this here and I'll paste it in.

9:13And then commit this.

9:15OK.

9:15Great.

9:16So now what we want to do is we want to create a user accounts,

9:19set up SSH, and do some basic IP addressing.

9:23So like I say, if we happen to go to the topology here,

9:26the interface that I'm going to modify

9:28is going to be this one here, the fxp0.

9:31And depending on the image you happen to have,

9:33this management interface may be a little bit different.

9:36But for me it's going to be this.

9:38Now the first thing I will do here

9:40is whilst I'm in edit mode, if I take the command show,

9:43it's actually going to show me all of my configurations

9:46right now.

9:47And if we happen to go down to interfaces,

9:49we see that the management interface fxp0 actually

9:53is configured for DHCP.

9:55So before we actually give this interface a particular IP

9:59address, we want to remove this DHCP configuration.

10:03So that is something we're going to have to address.

10:06Now just before that, let's begin setting up

10:08these user credentials.

10:09OK.

10:10So whilst I'm in edit mode, I'm going to say edit system login.

10:15And now I'm going to set a user.

10:17So I'll say set user.

10:18And I'll give the user name John.

10:20And the class of the user, this is basically

10:23going to denote my privilege levels.

10:25And I'm going to say superuser which

10:27is basically admin rights.

10:28And then I'm going to say set user John full-name.

10:32And I'll just do the full name as John McGovern.

10:36And hit Enter.

10:37I'll then say set user John authentication

10:41plain-text-password, we'll just do Juniper1 again

10:45with the capital J. And then I will commit to these changes.

10:49So let's to go back to the root of the tree.

10:52I'm going to say top that takes me from edit system log in back

10:55to edit mode.

10:57Now what I'm going to do is I'm going

10:58to say set system services SSH to configure SSH

11:05and I will come at this.

11:06Now we're going to generate some SSH keys.

11:08There we go.

11:09Now what I'm going to do is I'm going

11:10to configure that interface.

11:12But remember like I say, if I do show interfaces,

11:16we can see here we have DHCP configured.

11:18So what I'm going to do is I'm going

11:20to go into this particular interface

11:22by saying edit interfaces fxp0 and hit Enter.

11:28And I'm just going to say delete unit 0 family inet dhcp

11:34and then commit these.

11:36So now if I say sure we no longer

11:38have any configurations within the fxp0.

11:41What I'm now going to do is I'm going to set the management

11:44IP address, the out-of-band address.

11:47Now as it transpires, as we know,

11:48my particular subnets for my VMware adapter is 192.168.0/22.

11:56So I want to use an address within this particular range

12:00just to make things a little bit easier for me.

12:02So what I'm going to do here is I'm

12:03going to say set unit 0, which has the logical units.

12:07I will say family inet and the address here

12:11is going to be 192.168.4.

12:14and let's maybe say, oh, I don't know, 123.

12:19And we'll do it with a /22 mask.

12:21And I'm going to commit these changes.

12:24So now if I go back to the top of the tree,

12:27I'll exit back out to go into operational mode.

12:30Now I'll try to ping this interface

12:32by saying ping 192.168.4.123.

12:36And we can ping this interface from our device.

12:39Now what we want to do is to go to our VS Code

12:42and try to ping this interface because again, we

12:44should be able to reach VS Code via the management close

12:48interface.

12:49So I open up VS Code.

12:51Once again, I will say ping 192.168.4.123.

12:56And we can see we can actually ping this device.

12:58Let's stop this.

12:59And lastly, what I want to do is to check

13:02that I have SSH connectivity.

13:04So we'll see SSH and the user name I created was John.

13:07And I'm going to give the address 192.168.4.123 and hit

13:13Enter.

13:13I'm going to say yes to accept the key.

13:16And now I'm going to type in the password Juniper1

13:19with a capital J.

13:20If I hit Enter, now we can see here

13:22we have remote access to our Juniper device

13:26whereby we can edit and as you show

13:28commands, whatever it may be.

13:29And because we now have SSH connectivity to our devices,

13:34we are able to utilize particular Python libraries

13:38to automate these devices.

13:40That really is all for the basic setup of our Juniper network

13:44automation.

13:45What comes next and the upcoming skills

13:47really is the good stuff.

13:49That is going to be all about writing scripts,

13:51changing configurations, pulling show commands, editing

13:54configuration files, all of that and more

13:57will certainly be covered.

13:58For now, that is for our introduction

14:01into Juniper network automation.

14:03I hope this has been informative for you.

14:04And I'd like to thank you for viewing.

What's next?

Ready to keep going?

For your team

Bring this training to your team

See how CBT Nuggets helps IT teams close skills gaps, hit compliance targets, and prove training ROI.

Request a Demo

Just need Juniper Automation with Python and Ansible? Enroll from $300/yr (45 skills)

Request a Demo