The Anatomy of Junos Configuration Files

Junos OS, the operating system that powers Juniper Networks devices, uses a unique file structure for its configuration files. Understanding this structure is crucial for anyone studying for the JNCIS-ENT certification. In this blog post, we will delve into the anatomy of Junos configuration files, providing a comprehensive guide to help you navigate these files with ease.

Hierarchical Structure

Junos configuration files have a hierarchical structure, similar to an XML file. This structure makes it easier to navigate and understand the configuration. Each hierarchy level is enclosed in curly braces {}. The top level of the hierarchy is the configuration level, and it contains all other configuration levels.

configuration {
    level-1 {
        level-2 {

Configuration Modes

There are two modes in Junos for configuring devices: Operational mode and Configuration mode. Operational mode is used for monitoring and troubleshooting, while Configuration mode is used for making configuration changes.

To enter Configuration mode from Operational mode, use the configure command.

cli> configure
Entering configuration mode

Configuration Groups

Configuration groups are a powerful feature in Junos that allows you to apply a set of configurations to multiple interfaces or units. This can greatly simplify your configuration and make it easier to manage.

To create a configuration group, use the groups hierarchy level.

cli# edit groups GROUP-NAME

Then, define the configurations within the group.

[edit groups GROUP-NAME]
cli# set level-1 level-2 level-3

To apply the group to an interface or unit, use the apply-groups statement.

cli# set interfaces INTERFACE-NAME unit UNIT-NUMBER apply-groups GROUP-NAME

Active and Inactive Configurations

Junos maintains two versions of the configuration file: the active configuration and the candidate configuration. The active configuration is the current running configuration, while the candidate configuration is the configuration that will become active once committed.

To view the active configuration, use the show configuration command.

cli> show configuration

To view the candidate configuration, use the show | compare command.

cli# show | compare

Committing Changes

Any changes made in Configuration mode are not immediately applied. To apply the changes, you must commit the configuration.

cli# commit

If you want to test a configuration without permanently applying it, you can use the commit confirmed command. This will apply the configuration, but it will automatically revert to the previous configuration after a specified time if not confirmed.

cli# commit confirmed MINUTES


Understanding the anatomy of Junos configuration files is a key skill for any network engineer working with Juniper Networks devices. By mastering the hierarchical structure, configuration modes, configuration groups, and the process of committing changes, you will be well on your way to acing the JNCIS-ENT certification.

© Ben Jacobson.RSS