Document ID: 112188
Updated: Oct 29, 2010
Contents
Introduction
This document describes how to configure Message Digest5 (MD5) authentication on a TCP connection between two BGP peers.
Prerequisites
Requirements
There are no specific requirements for this document.
Components Used
This document is not restricted to specific software and hardware versions.
The command outputs shown in this document were taken from the 3660 Series Routers running IOS® version 12.4(15)T14.
Conventions
Refer to Cisco Technical Tips Conventions for more information on document conventions.
Background Information
You can configure MD5 authentication between two BGP peers, meaning that each segment sent on the TCP connection between the peers is verified. MD5 authentication must be configured with the same password on both BGP peers; otherwise, the connection between them will not be made. Configuring MD5 authentication causes the Cisco IOS software to generate and check the MD5 digest of every segment sent on the TCP connection.
Configure
In this section, you are presented with the information to configure the features described in this document.
Note: Use the Command Lookup Tool (registered customers only) to obtain more information on the commands used in this section.
Network Diagram
This document uses this network setup:
Configurations
This document uses these configurations:
Router 0 Configurations |
---|
R0#! interface Loopback70 ip address 70.70.70.70 255.255.255.255 ! interface Serial1/0 ip address 10.10.10.1 255.255.255.0 serial restart-delay 0 ! router bgp 400 no synchronization bgp log-neighbor-changes neighbor 80.80.80.80 remote-as 400 !--- iBGP Configuration using Loopback Address neighbor 80.80.80.80 password cisco !--- Invoke MD5 authentication on a TCP connection to a BGP peer neighbor 80.80.80.80 update-source Loopback70 no auto-summary ! ip route 80.80.80.80 255.255.255.255 10.10.10.2 !--- This static route ensures that the remote peer address used for peering !--- is reachable. . . |
Router 1 Configurations |
---|
R1# ! interface Loopback80 ip address 80.80.80.80 255.255.255.255 ! interface Serial1/0 ip address 10.10.10.2 255.255.255.0 serial restart-delay 0 ! router bgp 400 no synchronization bgp log-neighbor-changes neighbor 70.70.70.70 remote-as 400 !--- iBGP Configuration using Loopback Address neighbor 70.70.70.70 password cisco !--- Invoke MD5 authentication on a TCP connection to a BGP peer neighbor 70.70.70.70 update-source Loopback80 no auto-summary ! ip route 70.70.70.70 255.255.255.255 10.10.10.1 !--- This static route ensures that the remote peer address used for peering !--- is reachable. . . . |
Understanding Debugs
R0# clear ip bgp *
R0# *Mar 1 01:02:17.523: %BGP-5-ADJCHANGE: neighbor 80.80.80.80 Down User reset
R0#debug ip bgp BGP debugging is on for address family: IPv4 Unicast *Mar 1 01:03:58.159: BGP: 80.80.80.80 open failed: Connection timed out; remote host not responding, open active delayed 1782ms (2000ms max, 28% jitter) *Mar 1 01:03:58.415: %SYS-5-CONFIG_I: Configured from console by console *Mar 1 01:03:59.943: BGP: 80.80.80.80 open active, local address 70.70.70.70 *Mar 1 01:04:00.039: %TCP-6-BADAUTH: No MD5 digest from 80.80.80.80(179) to 70.70.70.70(64444) *Mar 1 01:04:00.807: %TCP-6-BADAUTH: No MD5 digest from 80.80.80.80(33358) to 70.70.70.70(179) *Mar 1 01:04:01.991: %TCP-6-BADAUTH: No MD5 digest from 80.80.80.80(179) to 70.70.70.70(64444) *Mar 1 01:04:01.995: %TCP-6-BADAUTH: No MD5 digest from 80.80.80.80(179) to 70.70.70.70(64444) *Mar 1 01:04:05.995: %TCP-6-BADAUTH: No MD5 digest from 80.80.80.80(179) to 70.70.70.70(64444) *Mar 1 01:04:06.015: %TCP-6-BADAUTH: No MD5 digest from 80.80.80.80(179) to 70.70.70.70(64444) *Mar 1 01:04:14.023: %TCP-6-BADAUTH: No MD5 digest from 80.80.80.80(179) to 70. 70.70.70(64444) *Mar 1 01:04:14.023: %TCP-6-BADAUTH: No MD5 digest from 80.80.80.80(179) to 70.70.70.70(64444) *Mar 1 01:04:29.947: BGP: 80.80.80.80 open failed: Connection timed out; remote host not responding, open active delayed 3932ms (4000ms max, 28% jitter) *Mar 1 01:04:33.879: BGP: 80.80.80.80 open active, local address 70.70.70.70 *Mar 1 01:04:33.983: BGP: 80.80.80.80 went from Active to OpenSent *Mar 1 01:04:33.983: BGP: 80.80.80.80 sending OPEN, version 4, my as: 400, hold time 180 seconds *Mar 1 01:04:33.987: BGP: 80.80.80.80 send message type 1, length (incl. header ) 45 *Mar 1 01:04:34.091: BGP: 80.80.80.80 rcv message type 1, length (excl. header) 26 *Mar 1 01:04:34.091: BGP: 80.80.80.80 rcv OPEN, version 4, holdtime 180 seconds *Mar 1 01:04:34.091: BGP: 80.80.80.80 rcv OPEN w/ OPTION parameter len: 16 *Mar 1 01:04:34.095: BGP: 80.80.80.80 rcvd OPEN w/ optional parameter type 2 (Capability) len 6 *Mar 1 01:04:34.095: BGP: 80.80.80.80 OPEN has CAPABILITY code: 1, length 4 *Mar 1 01:04:34.095: BGP: 80.80.80.80 OPEN has MP_EXT CAP for afi/safi: 1/1 *Mar 1 01:04:34.095: BGP: 80.80.80.80 rcvd OPEN w/ optional parameter type 2 (Capability) len 2 *Mar 1 01:04:34.095: BGP: 80.80.80.80 OPEN has CAPABILITY code: 128, length 0 *Mar 1 01:04:34.099: BGP: 80.80.80.80 OPEN has ROUTE-REFRESH capability(old) for all address-families *Mar 1 01:04:34.099: BGP: 80.80.80.80 rcvd OPEN w/ optional parameter type 2 (Capability) len 2 *Mar 1 01:04:34.099: BGP: 80.80.80.80 OPEN has CAPABILITY code: 2, length 0 *Mar 1 01:04:34.099: BGP: 80.80.80.80 OPEN has ROUTE-REFRESH capability(new) for all address-families BGP: 80.80.80.80 rcvd OPEN w/ remote AS 400 *Mar 1 01:04:34.103: BGP: 80.80.80.80 went from OpenSent to OpenConfirm *Mar 1 01:04:34.103: BGP: 80.80.80.80 went from OpenConfirm to Established *Mar 1 01:04:34.103: %BGP-5-ADJCHANGE: neighbor 80.80.80.80 Up
If a router has a password configured for a neighbor, but the neighbor router does not, a message such as this is displayed while the routers attempt to establish a BGP session between them:
%TCP-6-BADAUTH: No MD5 digest from [peer's IP address]:11003 to [local router's IP address]:179
Similarly, if the two routers have different passwords configured, a message such as this is displayed:
%TCP-6-BADAUTH: Invalid MD5 digest from [peer's IP address]:11004 to [local router's IP address]:179
Verify
Use this section to confirm that your configuration works properly.
-
R0#show ip bgp neighbors | include BGP
BGP neighbor is 80.80.80.80, remote AS 400, internal link BGP version 4, remote router ID 80.80.80.80 BGP state = Established, up for 00:08:26 BGP table version 1, neighbor version 1/0
-
BGP router identifier 70.70.70.70, local AS number 400 BGP table version is 1, main routing table version 1 Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd 80.80.80.80 4 400 75 75 1 0 0 00:08:52 0
-
R1#show ip bgp summary
BGP router identifier 80.80.80.80, local AS number 400 BGP table version is 1, main routing table version 1 Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd 70.70.70.70 4 400 76 76 1 0 0 00:09:27 0
Troubleshoot
There is currently no specific troubleshooting information available for this configuration.
Related Information
Open a Support Case (Requires a Cisco Service Contract.)
Related Cisco Support Community Discussions
The Cisco Support Community is a forum for you to ask and answer questions, share suggestions, and collaborate with your peers.
Refer to Cisco Technical Tips Conventions for information on conventions used in this document.