There are two general ways that authentication is implemented by most routing protocols: using a routing protocol centric solution that configures the passwords or keys to use within the routing protocol configuration, or by using a broader solution that utilizes separately configured keys that are able to be used by multiple routing protocols. Both OSPF and BGP use the prior of these methods and configure the specific authentication type and passwords/keys within their specific respective configurations. RIP and EIGRP utilize the former of these methods by utilizing a separate authentication key mechanism that is configured and then utilized for either RIP or EIGRP.
Keep in mind that these authentication solutions do not encrypt the information exchanged between the devices, but simply verifies that the identity of these devices.
Key Chains
The idea behind a key chain is rather simple as it simply replicates an electronic version of a key chain, a concept that most people are familiar with. The key chain functionality provides a mechanism for storing a number of different electronic keys, the key string value that is associated with a specific key and the lifetime that the key is valid. Any one of these configured keys can then be used by RIP or EIGRP for authentication.
Routing Protocol Authentication Configuration
As there are two different ways to configure routing protocol authentication; this article will review OSPF and BGP first as they require individualized configuration. The configuration of key chains and how they are used by RIP and EIGRP will then be covered.
OSPF Authentication
The configuration of OSPF requires a couple of different commands; which commands are used is determined by the type of authentication and method of authentication exchange. OSPF supports two different types of authentication that can be configured: authentication limited to a specific interface, or authentication configured over an entire OSPF area. Regardless of which of these options is selected there are also two different methods of authentication exchange that can be configured for each, these include: cleartext simple exchange, or MD5 exchange. When using MD5 the password/key that is configured is not sent between the exchanging devices, instead a hash is calculated and sent; this hash is then verified by the remote device to ensure identity.
The commands are required to setup OSPF interface (network) authentication is shown in Table 1.
Step 1 |
Enter privileged mode. |
router>enable |
Step 2 |
Enter global configuration mode. |
router#configure terminal |
Step 3 |
Enter interface configuration mode. |
router(config)#interface interface-type interface-slot |
Step 4 |
Configure OSPF (network) authentication. To configure MD5 authentication use the message-digest keyword. |
router(config-if)#ip ospf authentication [message-digest] |
Step 5 |
Configure the OSPF Authentication key. |
router(config-if)#ip ospf authentication-key key or router(config-if)#ip ospf message-digest-key key-id md5 key |
Step 6 |
Exit configuration mode. |
router(config-if)#end |
The commands that are required to setup OSPF area authentication are shown in Table 2.
Step 1 |
Enter privileged mode. |
router>enable |
Step 2 |
Enter global configuration mode. |
router#configure terminal |
Step 3 |
Enter router configuration mode. |
router(config)#router ospf process-id |
Step 4 |
Configure OSPF area authentication. To configure MD5 authentication use the message-digest keyword. |
router(config-router)#area area-id authentication [message-digest] |
Step 5 |
Enter interface configuration mode. |
router(config-router)#interface interface-type interface-slot |
Step 6 |
Configure the OSPF Authentication key. |
router(config-if)#ip ospf authentication-key key or router(config-if)#ip ospf message-digest-key key-id md5 key |
Step 7 |
Exit configuration mode. |
router(config-line)#end |
BGP Authentication
The configuration of authentication with BGP is very simple as it requires only a single configuration command. Unlike OSPF, BGP only supports the use of MD5 authentication.
The commands that are required to setup BGP authentication are shown in Table 3.
Step 1 |
Enter privileged mode. |
router>enable |
Step 2 |
Enter global configuration mode. |
router#configure terminal |
Step 3 |
Enter router configuration mode. |
router(config)#router bgp autonomous-system |
Step 4 |
Configure BGP authentication. |
router(config-router)#neighbor {ip-address | peer-group-name} password key |
Step 5 |
Exit configuration mode. |
router(config-router)#end |
RIP and EIGRP Authentication
As discussed above, the configuration of both RIP and EIGRP utilize key chains for their authentication configuration. This section will describe the process of setting up a key chain for use with RIP and EIGRP then cover the configuration of the specific authentication configuration required by each protocol.
Key Chain Configuration
The key chain configuration provides the ability to setup multiple keys that can be used by the supporting features. This includes the ability to have keys that potentially overlap in the time that they are valid. Keys can also be configured with specific transmit (send) and receive (accept) lifetimes that provide the ability to have keys automatically change at a predetermined time. The configuration required to setup a key chain are shown in Table 4.
Step 1 |
Enter privileged mode. |
router>enable |
Step 2 |
Enter global configuration mode. |
router#configure terminal |
Step 3 |
Create a key chain and enter key chain configuration mode. |
router(config)#key chain name-of-key-chain |
Step 4 |
Create a key and enter key configuration mode. |
router(config-keychain)#key key-id |
Step 5 |
Configure a secret key. |
router(config-keychain-key)#key-string key-string |
Step 6 |
Configure the receive key lifetime. |
router(config-keychain-key)#accept-lifetime start-time {infinite | end-time | duration seconds} |
Step 7 |
Configure the transmit key lifetime. |
router(config-keychain-key)#send-lifetime start-time {infinite | end-time | duration seconds} |
Step 8 |
Exit configuration mode. |
router(config-keychain-key)#end |
EIGRP Authentication Configuration
Once a key chain has been configured, the authentication for EIGRP neighbors is enabled on each interface that is connected to an authenticating neighbor. The configuration required to setup EIGRP authentication is shown in Table 5.
Step 1 |
Enter privileged mode. |
router>enable |
Step 2 |
Enter global configuration mode. |
router#configure terminal |
Step 3 |
Enter interface configuration mode. |
router(config)#interface interface-type interface-slot |
Step 4 |
Configure the use of a specific key chain key for authentication. |
router(config-if)#ip authentication key-chain eigrp as-number key-chain-name |
Step 5 |
Configure the use of EIGRP authentication. |
router(config-if)#ip authentication mode eigrp as-number md5 |
Step 6 |
Exit configuration mode. |
router(config-if)#end |
RIP Authentication Configuration
As with EIGRP, once a key chain has configured the authentication, RIP authentication can be configured. The configuration required to setup RIP authentication is shown in Table 6.
Step 1 |
Enter privileged mode. |
router>enable |
Step 2 |
Enter global configuration mode. |
router#configure terminal |
Step 3 |
Enter interface configuration mode. |
router(config)#interface interface-type interface-slot |
Step 4 |
Configure the use of a specific key chain key for authentication. |
router(config-if)#ip rip authentication key-chain key-chain-name |
Step 5 |
Configure the use of RIP authentication. Unlike EIGRP, RIP supports a clear text authentication option using the text keyword, this mode is not recommended. |
router(config-if)#ip rip authentication mode {text | md5} |
Step 6 |
Exit configuration mode. |
router(config-if)#end |
Summary
The integrity of routing information inside a network is of the utmost importance as it can influence how traffic reaches specific destinations. Configuring the use of routing protocol authentication is an easy option that ensures that the device on the other side of a connection is who they say they are. Hopefully, the information contained within this article has been able to introduce the possibilities and how they can be configured.