As you know from my previous posts, I’m trying to find time to gain some Juniper knowledge. During this “quest” I will add here some basic things about how to start working with Juniper devices. For now I know only the basics of Juniper configuration, but I hope that soon you’ll find here some more challenging scenarios.
I have a basic topology that you’ll find below. The scenario is already prepare to have some tasks which suppose integration between Juniper and Cisco environment.
Let’s assume that I did power on the two boxes J1 and J2 and now I’m connected to J1 through a console cable. After the boot sequence I’m left with something like this:
Tue Jun 12 11:46:06 UTC 2012 Amnesiac (ttyd0) login: |
All platforms running the Junos OS have only the root user configured by default, without any password. Let’s introduce that username and see what’s happening:
login: root Password: --- JUNOS 9.4R2.9 built 2009-03-25 07:50:02 UTC root@% |
What I have now in front is actually the shell of the FreeBSD OS. JunOS is based on the FreeBSD OS. If you ever interacted with a Linux based system, then you can run here specific linux commands. For example:
root@% ls .snap boot jail modules sbin COPYRIGHT config kernel opt staging altconfig data libexec packages tmp altroot dev mfs proc usr bin etc mnt root var root@% root@% root@% root@% ps u USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND root 1153 0.0 0.2 1492 936 v0 Is+ 11:46AM 0:00.02 /usr/libexec/getty root 941 0.0 0.4 2636 2176 d0- S 11:46AM 0:00.14 /usr/sbin/eventd - root 1264 0.0 0.2 1676 1252 d0 Is 11:50AM 0:00.05 login [pam] (login root 1265 0.0 0.5 3872 2744 d0 S 11:51AM 0:00.21 -csh (csh) root 1289 0.0 0.2 1612 996 d0 R+ 11:54AM 0:00.01 ps u |
OK, you got my point. To get from the FreeBSD shell to JunOS CLI, you need to enter the following:
root@% cli root> |
What you see now is the Operational Mode. In this mode the user can run basic and troubleshooting commands (like traceroute, ping…). You can get a list of commands using the ? (question mark):
root> ? Possible completions: clear Clear information in the system configure Manipulate software configuration information file Perform file operations help Provide help information monitor Show real-time debugging information mtrace Trace multicast path from source to receiver op Invoke an operation script ping Ping remote target quit Exit the management session request Make system-level requests restart Restart software process set Set CLI properties, date/time, craft interface message show Show system information ssh Start secure shell on another host start Start shell telnet Telnet to another host test Perform diagnostic debugging traceroute Trace route to remote host |
If you want to compare the Operational Mode is somehow like Privilege level 1 under Cisco CLI. Still I have the feeling that Operational Mode offer a wider area of commands and more powerful than Cisco CLI Privilege level 1. I may be mistaken.
All platforms running the Junos OS come with a factory-default configuration. All factory-default configurations
allow access using the root account without any password. Nevertheless to activate a configuration you have first to set the password root password.Factory-default configurations can vary from one platform family to another or even between the different models
within the same platform family.
My default configuration looks like:
root> show configuration version 9.4R2.9; system { syslog { user * { any emergency; } file messages { any notice; authorization info; } file interactive-commands { interactive-commands any; } } } |
I this first post my target is to set the hostname of the Juniper devices. To accomplish this step, I need to go first into configuration mode:
root> configure Entering configuration mode The configuration has been changed but not committed [edit] root# |
and then set the hostname:
root# set system host-name J1 [edit] |
If I look at the system prompt, it still shows root#, so it doesn’t quite seems to work. This is because I have to commit to activate the configuration:
root# commit [edit] 'system' Missing mandatory statement: 'root-authentication' error: commit failed: (missing statements) [edit] root# |
Well, this didn’t work as expected. The most important thing that I learned when I started with Juniper is that before I can activate any configuration (commit) I need to set the password for the root user:
root# set system root-authentication plain-text-password New password: Retype new password: [edit] root# |
Let me try to commit one more time, after setting the root password:
root# commit commit complete [edit] root@J1# |
You can see that the prompt did change into root@HOSTNAME# (in my case this is root@J1#). If you look again to the system configuration. I will exist the Configuration Mode and have another look at my config file:
root@J1> show configuration ## Last commit: 2012-06-12 12:38:22 UTC by root version 9.4R2.9; system { host-name J1; root-authentication { encrypted-password "$1$DKpYj/Nd$TVFTars5T2.oM3y5eyp520"; ## SECRET-DATA } syslog { user * { any emergency; } file messages { any notice; authorization info; } file interactive-commands { interactive-commands any; } } } root@J1> |
The host-name and root password appears now in the active configuration.
That’s it for today. Until next post, I will add the basic configuration for J2 and the Cisco, so I can go to basic interface configuration and connectivity check.