There is nothing like getting a new Router shipped to your desk. The smell of the packing peanuts and the static resistant wrapping material is enough the make the head swim with excitement. Now in all honesty, that is all very cool, but it does not really compare to the exhilaration of powering it up, connecting the serial cables to your trusty admin machine, and bending it to your will. Okay you get the idea, you just got a new device, and you need to set it up so that it can fit into your networking environment. We are going to discuss typical thing that will or should be done to get routers ready for a wide deployment in your infrastructure. The news here is that routers are somewhat less intuitive that switches, because compared to their Layer 2 counterparts, routers are almost completely NOT plug and play.
To address this dilemma, we are going to gently start an exploration of what it takes to access, configure, and verify a typical router setup.
At this point we need to make a number of assumptions based on the method used to “attach” to the router. As such we will use a terminal emulation program like putty or securecrt running on a Microsoft Windows 7 operating system. Of course, there are almost endless combinations of terminal emulators and computers that could be used for this task, but for a single frame of reference we will use Putty and a Windows-based computer to connect to the router.
Once the computer and the emulation program is selected, it will be necessary to connect a serial cable into a serial (COM) port on the PC and the other end into the console port on the router. Start putty, select the Serial connection type, and specify the COM port. Set the speed of the connection to 9600 baud and click Open. For this to work the router must be on. If you do not immediately see a prompt from the router you may need to press the Enter key. In our illustration, the router will be at the Cisco IOS factory default so the prompt will be:
--- System Configuration Dialog --- Would you like to enter the initial configuration dialog? [yes/no]:
Type no and press enter. If you say yes, it will put you in the menu interface. By saying no you well receive the following:
Press RETURN to get started!
Now is a great time to introduce the concept of how Cisco IOS is organized. The Command Line Interface (CLI) concept is built around the idea of modes. These modes dictate what command options are available and what configurations can be made. By moving in and out of these different modes and making necessary configurations changes, we will manipulate the routers configuration. The most logical place to start is identifying the modes we will be using.
On initial connection to a router you have entered what is called EXEC mode. This is the first mode under which commands can be issued from the command-line. From this mode you have access to unprivileged commands:
- ping—Helps in determining issues with the TCP/IP network and assists in resolving them.
- telnet —A terminal emulation that enables a user to connect to a remote host or device using a telnet client, usually over port 23.
- show —You can also use some of the show commands to obtain information about the system. If you want to see the list of things what show can be used with use the “?”.
It is necessary to enter privileged mode to actually configure a router. This is accomplished by using the enable command. Privileged mode is normally password protected but this is not the case with factory default settings. When you issue the command enable and provide the password, you will enter privileged mode. What is important here is how the router will assist the user in keeping track of what mode they are in, because the command-line prompt changes each time you enter a different mode. When you switch from unprivileged to privileged mode, the prompt changes from:
Router> to Router#
This may seem like a lot of discussion regarding just two modes, but the actual fact is that there are many “sub-modes” and this feature is invaluable in determining what mode or context the router is in.
Global Configuration Mode
To configure any feature of the router, you need to enter the global configuration mode this mode is the stepping off point to any other sub-mode or context. The user knows that they are in global configuration mode based on the prompt:
Router#conf t Enter configuration commands, one per line. End with CNTL/Z. Router(config)#
In global configuration mode it is possible to set system-wide or global configuration. One of the most common commands used in this mode is to assign the router a hostname:
Router(config)#hostname NETWORK-plus NETWORK-plus(config)#
This demonstrates that when the hostname is changed we can see the name Router is replaced with what was configured with the hostname command. Another command most commonly used in global configuration mode is the enable secret command:
NETWORK-plus(config)#enable secret routerpassword NETWORK-plus(config)#end NETWORK-plus#
Note that the “end” command takes the router back to the privileged exec mode, bypassing global configuration.
Interface Configuration Mode
To apply any configuration to an interface it is necessary to be in configuration for that interface. This means that a router will have a sub-mode level for each interface that it has. In this instance you will configure interface FastEthernet0/0 with an IP address, and bring the interface into service:
NETWORK-plus#conf t Enter configuration commands, one per line. End with CNTL/Z. NETWORK-plus(config)#interface FastEthernet0/0 NETWORK-plus(config-if)#ip address 220.127.116.11 255.255.255.0 NETWORK-plus(config-if)#no shut NETWORK-plus(config-if)#exit NETWORK-plus(config)#
Using this series of commands, you navigate from privilege exec to global configuration, to the configure interface (config-if) context or sub-mode. Once there you will apply an IP address and enable the interface. Observe that the exit command is issued to move up just one level from the interface sub-mode to the global configuration mode.
Line Console Configuration Mode
This sub-mode or context allows you to make changes to the serial connection used to manage the router itself. The commands used here show some of the options that may be used here:
NETWORK-plus(config)#line console 0 NETWORK-plus(config-line)#logging synchronous NETWORK-plus(config-line)#no exec-timeout NETWORK-plus(config-line)#^Z NETWORK-plus#
In this configuration, the router has been instructed to not disconnect the console session with the exec-timeout command, and not to confuse the user with unsolicited messages until after the user prompt is returned. Note that in this example, the line configuration sub-mode is exited by using the ctrl-Z key. This is processed the same as the end command that returns to the privilege EXEC prompt.
After making these configuration changes it is simple to verify the changes. Just like the necessity to navigate to the proper sub-mode contexts to make configuration changes, it is necessary to specify what sub-modes you wish to observe with the show command. Show is one of the most basic and versatile tools that a router offers us as administrators. As an example, to see the configuration changes you just made to the running configuration of FastEthernet0/0 you will use the show command and specify both running-configuration and the interface section you wish to look at:
NETWORK-plus#show running-config interface FastEthernet0/0 Building configuration... Current configuration : 92 bytes ! interface FastEthernet0/0 ip address 18.104.22.168 255.255.255.0 duplex auto speed auto end NETWORK-plus#
Save Running Config
There would be little point to making configuration changes unless the capacities to store those changes exist. To prevent configuration changes from being lost, it is necessary to manually save those configurations. The issue is that the command to save these configurations is not as intuitive as you would first expect. The method used to save the current running configuration is to copy it to the over the current start-up configuration:
NETWORK-plus#copy running-config startup-config Destination filename [startup-config]? Building configuration... [OK] NETWORK-plus#
Now the changes have been saved, and your configurations will survive a restart.
This article has covered the most basic aspects of configuring a router. The intent was not to provide a complete end-to-end configuration tool, but rather an explanation of the most fundamental mechanisms behind how an IOS router processes commands to allow a user to make configuration changes. Routers are far less intuitive with regard to their functionality, and offer no real features until they are configured using the command line interface, thus making it very important to understand how to correctly configure them.