BGP configuration best practices
|
|
|
- Sophia Hines
- 10 years ago
- Views:
Transcription
1 BGP configuration best practices
2 Document produced by ANSSI (French National Security Agency of Information Systems), in collaboration with the following operators: Association Kazar ; France-IX ; Jaguar Network ; Zayo France (formerly Neo Telecoms) ; Orange; RENATER ; SFR. Document formatted using L A TEX. Figures produced using the TikZ tool. You may send any comments and remarks to the following address: [email protected]
3 Table of contents Introduction 4 1 Configuration recommendations Types of interconnection Types of relationship between ASes Recommendations 11 2 Session security Message authentication 15 3 Prefix filtering Reserved prefix filtering Filtering of the prefixes assigned to a peer Filtering too specific prefixes Default route filtering Private AS number removal Limiting the maximum number of prefixes accepted from a peer Filtering on the peer s AS number 40 4 Other BGP configuration elements Use of logging The Graceful Restart mechanism 48 5 General router configuration elements Preventing IP address spoofing Hardening the router configuration 58 A IPv6 addressing space 61 Bibliography 63 Acronyms 67 BGP configuration best practices 3
4
5 Introduction This document, created with the co-operation of French operators, is intended to present and describe good configuration practices for the BGP 1 routing protocol. It is intended first and foremost for BGP router administrators, as well as for those familiar with the BGP deployment architectures. Readers who would like information about the BGP protocol may refer to the report from the French observatory of Internet resilience. The configuration elements presented in this document apply to the EBGP 2 sessions, i.e. sessions established between two distinct ASes. Each best practice is accompanied by different implementation configuration examples. The following table indicates the routers and operating system versions used. Operating system Version used SR-OS (Alcatel-Lucent) 10.0r5 IOS (Cisco) Junos (Juniper) 15.2(4)S 11.4R3.7 OpenBGPD (OpenBSD) 5.3 Routers and operating systems used for the configuration examples. The configuration examples provided have all been tested on the indicated implementations. These extracts are provided for information purposes only: they should be adapted to the deployment environment. ANSSI 3 (French Network and Information Security Agency) declines all responsibility as to the consequences from the use of these examples. 1 Border Gateway Protocol. 2 External Border Gateway Protocol. 3 Agence nationale de la sécurité des systèmes d information. BGP configuration best practices 5
6
7 Chapter 1 Configuration recommendations This chapter brings together all the configuration best practices mentioned in this document and gives the associated recommendation levels. The types of interconnection and relationship between ASes concerned by these best practices are explained in the following sections. 1.1 Types of interconnection The following table describes the types of interconnection targeted by the configuration recommendations. The red link in each figure represents the interconnection described. Description Diagram Interconnection 1: bilateral peering in an Internet exchange point. This type of interconnection is established using an equipment (such as a switch) managed by the exchange point (not shown on the diagram). Each AS establishes one or more sessions with one or more other ASes. Exchange point 1 peering: agreement between peers where each one declares the prefixes it manages. BGP configuration best practices 7
8 Interconnection 2: peering using a route server in an exchange point. This type of interconnection enables peers connected to a route server to receive every route declared by the other peers. Exchange point Interconnection 3: private peering between two ASes in a Network Access Point, or interconnection in a telecommunications room. This type of interconnection is performed using a pointto-point link between two peers. Interconnection 4: session established in multihop. The interconnection between the BGP routers is not direct, and is established over a routed network such as the Internet. 8 BGP configuration best practices
9 1.2 Types of relationship between ASes The following table describes the types of relationship between ASes mentioned throughout this document. The red link in each figure represents the relationship described. Description Diagram Relationship 1: transit / stub customer. This type of relationship exists between a transit AS and a stub AS which does not offer a transit service. Transit AS Stub AS Transit AS Relationship 2: transit AS / small transit AS. This type of relationship exists between a transit AS and a customer AS. This customer AS is also a transit AS for one or more ASes. Small transit AS BGP configuration best practices 9
10 Relationship 3: peering. This type of relationship exists between two ASes which exchange prefixes, without one of these ASes providing the other with a transit service. 10 BGP configuration best practices
11 1.3 Recommendations The recommendation levels which apply to a given configuration element are defined on a three-star scale: : desirable : recommended : highly recommended Recommendations depending on the type of interconnection The application of the following configuration elements depends on the interconnection types. Links to the different sections of the document are indicated between parentheses for each best practice. Best practices Interconnections Recommendation levels Remarks TCP MD5 (2.1) Interconnections 1 and 4 The use of this mechanism is strongly Interconnection 2 recommended on non-dedicated interconnections. Interconnection 3 Filtering on the peer s AS number (3.7) Interconnections 1, 3 and 4 Systematic filtering on the peer AS number. BGP configuration best practices 11
12 1.3.2 Recommendations depending on the type of relationship between ASes The application of the following configuration elements depends on the relationships between the ASes. A dash indicates that the recommendation does not apply to the peer. Best practices Types of relationship Recommendation levels Remarks Transit AS side: Relationship 1 Filtering of the prefixes assigned to a peer (3.2) Customer side: - Transit AS side: Systematic filtering for a stub AS. Relationship 2 Customer side: - Relationship 3 Limiting the maximum number of prefixes accepted from a peer (3.6) Relationships 1 and 2 Transit AS side: Customer side: - Filtering to be implemented by the transit AS. Relationship 3 Filtering to be implemented by each peer. 12 BGP configuration best practices
13 Private AS number removal (3.5) All types of relationship The private AS numbers should be systematically trimmed General recommendations The following configuration elements are applicable regardless of the interconnection types and the relationships between AS. Best practices Recommendation levels Remarks Martians filtering (3.1) Systematic filtering. Filtering of the prefixes that are too specific (3.3) More specific than /24 for IPv4 (RIPE-399 [1]) and /48 for IPv6 (RIPE-532 [2]). Default route filtering (3.4) Systematic filtering if the default route does not need to be advertised (except by explicit request from a customer). Logging (4.1) Logging of the adjacency changes on each router and event notification for monitoring. BGP configuration best practices 13
14 Graceful Restart (4.2) This mechanism is used to strengthen the interconnection robustness. When the BGP process is restarting, packets are still forwarded using previously learned routes. 14 BGP configuration best practices
15 Chapter 2 Session security The current BGP version specifications (version 4) do not define a mechanism to protect the sessions. As the BGP protocol is supported by TCP, the sessions may be terminated by sending TCP RST packets, which may enable an attacker to perform a denial of service [3, 4, 5]. Although the implementation of this type of attack implies certain prerequisites, TCP MD5 is a mechanism which complements the other security mechanisms and whose use is part of defence-in-depth approach. 2.1 Message authentication RFC 4271 [6], published in January 2006, specifies that the BGP implementations should enable use of the authentication mechanism provided by the TCP option commonly called TCP MD5, and described in RFC 2385 [7]. This mechanism is available in most BGP implementations and enables the TCP message integrity and authenticity to be guaranteed by including a MAC 1 calculated using the MD5 hash function. The introduction of this mechanism is based on a secret shared between two routers. The algorithm applies to the following elements: A pseudo IP header comprising the source IP address, the destination IP address, the protocol number and the segment length; The TCP header, except for the options, with a null value for the checksum; The TCP segment data. The segment recipient calculates the MAC in the same way and checks if the result is the same as the value contained in the TCP MD5 option. In the event of a failure, the segment is silently rejected. If the secret changes during a session, the packets transmitted by the peer that kept the old secret are rejected and the session expires once the hold time is exceeded. TCP MD5 is not a robust cryptographic mechanism. In particular, this mechanism does not conform to the ANSSI recommendations. However, the existing implementations at the writing of this document do not propose the TCP Authentication Option defined in RFC 5925 [8], which should enable other algorithms to be used. Despite its obsolescence, TCP MD5 constitutes an additional security element regarding best configuration practices. In the absence of a more robust mechanism, TCP MD5 should be 1 Message Authentication Code. BGP configuration best practices 15
16 used systematically when the BGP interconnection is performed in multi-hop, or using a shared support (for example a switch) within an exchange point. When the interconnection is performed between two routers that propose a more robust cryptographic mechanism, it must be used in place of TCP MD5. A different secret must be configured for each interconnection. The secret used should be strong, or else there is no point in the mechanism provided by TCP MD5. A secret s strength depends on its length and its character classes. TCP MD5 - Alcatel-Lucent routers Sample 2.1 : Command allowing the configuration of TCP MD5 authentication neighbor <ip-address > authentication-key <secret > Sample Comments This sample shows how to configure TCP MD5 authentication for a given peer on an Alcatel-Lucent router using the authentication-key command. The key (secret) is a character string known by both peers. Sample 2.2 : TCP MD5 authentication configuration example neighbor authentication-key ght8cd%e7am TCP MD5 - Cisco routers Sample 2.3 : Command allowing the configuration of TCP MD5 authentication Cisco( config-router)# neighbor <ip-address > password <string > Sample Comments TCP MD5 authentication can be configured for a given peer (identified by an IP address). The secret is a character string known by both peers. 16 BGP configuration best practices
17 Sample 2.4 : TCP MD5 authentication configuration example Cisco( config)# router bgp Cisco( config-router)# neighbor password ght8cd%e7am TCP MD5 - Juniper routers Sample 2.5 : TCP MD5 authentication configuration example [edit protocols bgp group session-to-as64506 neighbor ] root@juniper# set authentication-key ght8cd%e7am Sample Comments This sample shows how to configure TCP MD5 authentication on a Juniper router using the command set authentication-key. The key is a character string shared by both peers. TCP MD5 - OpenBGPD routers Sample 2.6 : Command allowing the configuration of TCP MD5 authentication tcp md5sig { password key} <secret > Sample Comment The secret can be an ASCII character string (keyword password) or a hexadecimal string (keyword key). BGP configuration best practices 17
18 Sample 2.7 : TCP MD5 authentication configuration example tcp md5sig password " ght8cd%e7am" 18 BGP configuration best practices
19 Chapter 3 Prefix filtering BGP does not provide a mechanism to validate the prefix advertisements. So, an AS may advertise any prefix. These may be prefixes which are not managed by the AS (prefix hijacking) or prefixes which should not be advertised within the Internet. This section presents different filtering rules and methods to limit the spread of illegitimate advertisements. 3.1 Reserved prefix filtering Martians are prefixes that are reserved for specific purposes. For example, these may be private address blocks defined in RFC 1918 [9] and in RFC 6890 [10]. The martians should not be advertised throughout the Internet and therefore constitute a first category of prefixes that should be filtered. The filters on these prefixes must be applied to both incoming and outgoing advertisements. The IANA 1 maintains a list of reserved IPv4 prefixes [11], for which the version of 22 nd May 2013 is provided 2 in table 3.1. This table also contains the /4 prefix, which is reserved for the multicast. In addition, the IANA maintains a list of reserved IPv6 prefixes [13]. Table 3.2 shows the version of 1 st May 2013 with the ff00::/8 prefix, which is reserved for IP multicasting. The list also contains the following prefixes: fc00::/7 (unique local), fe80::/10 (link-local), the more specific prefixes than 2002::/16 (reserved for the 6to4 protocol), and 2001:db8::/32 (reserved for documentation). You may refer to the following documents, which are available online, to establish a list of IPv6 prefixes to be filtered: IANA IPv6 Special Purpose Address Registry [13] ; Internet Protocol Version 6 Address Space [14] ; IPv6 Global Unicast Address Assignments [15]. The IANA allocates prefixes to the RIR 3 which only come from the 2000::/3 prefix, which corresponds to the Global Unicast addresses [16]. At the time of writing, the 1 Internet Assigned Numbers Authority. 2 The /29 prefix, which is reserved for Dual-Stack Lite [12], as well as prefixes /32 and /32, which are reserved for the discovery of NAT64/DNS64, do not appear explicitly in this table: they are included in the /24 prefix. In addition, the prefix reserved for the 6to4 relays ( /24) is not mentioned in this table. 3 Regional Internet Registry. BGP configuration best practices 19
20 block has not been fully allocated. Tables A.1 and A.2 in appendix A indicate the prefixes reserved on 15th February The lists of reserved prefixes change over time. Consequently, if the blocks that are not allocated from the 2000::/3 prefix are filtered, the filters based on these lists must be kept up-to-date. The following examples indicate how to configure filters for the martians. For the sake of brevity, only the Alcatel-Lucent router configuration example is exhaustive /8 Reserved IPv4 prefixes reserved for the initialization procedure by which the host learns its own IP address [17] /8 reserved for the local loop [17] /16 reserved for the local link [18] /15 reserved for network equipment performance tests [19] /24 reserved for future allocations dedicated to IETF 5 protocols [10] / /12 reserved for private use [9] / / /24 prefixes for TEST-NET-1, TEST-NET-2 et TEST-NET-3, reserved for documentation [20] / /10 reserved for Carrier-Grade NAT [21] /4 reserved for IP multicasting [22] /4 reserved for future use [23] /32 limited broadcast: the packets sent to this address are not forwarded by the routers [24] Table 3.1 Reserved IPv4 prefixes. 4 According to RFC 1122, this prefix should not be used, except as a source address during an initialisation procedure where the host learns its IP address. 5 Internet Engineering Task Force. 20 BGP configuration best practices
21 Reserved IPv6 prefixes ::1/128 reserved for the local loop [16] ::/128 reserved for the unspecified address [16] ::ffff:0:0/96 reserved for IPv4-Mapped IPv6 addresses [16] 100::/64 reserved for black-holing 6 [25] 2001::/23 reserved by the IANA for protocols (TEREDO for example) [26] 2001::/32 reserved for TEREDO [27] 2001:2::/48 reserved for network equipment performance tests [28] 2001:10::/28 reserved for ORCHID [29] 2001:db8::/32 reserved for documentation [30] 2002::/16 (only more specific prefixes) reserved for 6to4 [31] fc00::/7 reserved for Unique-Local addresses [32] fe80::/10 reserved for Link-Scoped Unicast addresses [16] ff00::/8 Multicast address range [16] Table 3.2 Reserved IPv6 prefixes. Reserved prefixes filtering - Alcatel-Lucent routers Sample 3.1 : IPv4 reserved prefixes static filter example >config >router > policy-options# prefix-list " v4-martians" prefix /8 longer prefix /8 longer prefix /16 longer prefix /15 longer prefix /24 longer prefix /8 longer prefix /12 longer 6 Black-holing seeks to discard traffic based on its destination or source. BGP configuration best practices 21
22 prefix /16 longer prefix /24 longer prefix /24 longer prefix /24 longer prefix /10 longer prefix /4 longer prefix /4 longer prefix /32 exact exit policy-statement " reject-martians" entry 10 from prefix-list " v4-martians" exit action reject exit exit default-action accept exit Sample 3.2 : Applying the filter (3.1) >config >router >bgp# group "EBGP" import " reject-martians" export " reject-martians" neighbor exit exit Sample 3.3 : IPv6 martians static filter example >config >router > policy-options# prefix-list " v6-martians" prefix ::1/128 exact prefix ::/128 exact prefix :: ffff : /96 longer prefix 100::/64 longer prefix 2001::/23 longer prefix 2001: db8::/32 longer prefix 2002::/16 prefix-length-range BGP configuration best practices
23 prefix fc00::/7 longer prefix fe80::/10 longer prefix ff00::/8 longer prefix 3ffe::/16 longer prefix 5f00::/8 longer exit prefix-list " v6-authorized" prefix 2000::/3 prefix-length-range 3-48 exit policy-statement " reject-v6-martians" entry 10 from prefix-list " v6-martians" exit action reject exit exit entry 20 from prefix-list " v6-authorized" exit action accept exit exit default-action reject exit Samples 3.1, 3.2 and Comments Samples 3.1 and 3.3 give examples of static filter configuration for reserved prefixes (IPv4 and IPv6). These filters are applied to one peer or more, as shown in sample 3.2. Reserved prefixes filtering - Cisco routers Sample 3.4 : Creating a prefix-list Cisco( config)# ip prefix-list <list-name > <list-number > [ seq number] { deny <network >/ < length > permit <network >/ < length >} [ ge ge-length] [ le le-length] BGP configuration best practices 23
24 Sample Comments Here are the settings and options available for this command : list-name and list-number identify the prefix-list by name or by number; seq number sets a sequence number between 1 and which indicates the processing order for the entry. If no sequence number is given, a default number is set. If it is the first entry of the prefix-list, the sequence number is 5. For subsequent entries, the number is incremented by 5; deny and permit enable rejecting or allowing a route for a given prefix, respectively; the optional parameters ge ge-length and le le-length can be used to indicate a mask length for which the test is true. The ge keyword means greater than or equal, and the le keyword means less than or equal. Sample 3.5 : IPv4 reserved prefixes static filter example Cisco( config)# ip prefix-list ipv4-martians seq 5 deny /8 le 32 Cisco( config)# ip prefix-list ipv4-martians seq 10 deny /8 le 32 Cisco( config)# ip prefix-list ipv4-martians seq 15 deny /16 le 32 Cisco( config)# ip prefix-list ipv4-martians seq 20 deny /15 le 32 Cisco( config)# ip prefix-list ipv4-martians seq 25 deny /24 le 32 Cisco( config)# ip prefix-list ipv4-martians seq 30 deny /8 le 32 Cisco( config)# ip prefix-list ipv4-martians seq 35 deny /12 le 32 Cisco( config)# ip prefix-list ipv4-martians seq 40 deny /16 le 32 Cisco( config)# ip prefix-list ipv4-martians seq 80 deny /32 Cisco( config)# ip prefix-list ipv4-martians seq 500 permit /0 le BGP configuration best practices
25 Sample 3.6 : Applying the prefix-list defined in sample 3.5 to a peer on both incoming and outgoing advertisements Cisco( config-router-af)# neighbor prefix-list ipv4-martians in Cisco( config-router-af)# neighbor prefix-list ipv4-martians out Sample Comments The prefix-list must be applied to one peer or more. Sample 3.6 shows the configuration of a prefix-list filter for both incoming and outgoing advertisements. Sample 3.7 : IPv6 reserved prefixes static filter example Cisco( config)#ipv6 prefix-list ipv6-filter deny ::1/128 Cisco( config)#ipv6 prefix-list ipv6-filter deny ::/128 Cisco( config)#ipv6 prefix-list ipv6-filter permit 2002::/16 Cisco( config)#ipv6 prefix-list ipv6-filter deny 2002::/16 le 128 Cisco( config)#ipv6 prefix-list ipv6-filter deny 3FFE::/16 le 128 Cisco( config)#ipv6 prefix-list ipv6-filter deny 5F00::/8 le 128 Cisco( config)#ipv6 prefix-list ipv6-filter permit 2000::/3 le 48 Cisco( config)#ipv6 prefix-list ipv6-filter seq 500 deny ::/0 le 128 Sample Comments For IPv6 prefixes, the filters can be configured using the ipv6 prefix-list command, as shown in sample 3.7. The application of a prefix-list to a peer is performed in the same way as for IPv4 (see sample 3.6). BGP configuration best practices 25
26 Reserved prefixes filtering - Juniper routers Sample 3.8 : Filter definition (policy-statement) for IPv4 reserved prefixes [edit policy-options policy-statement ipv4-martians] root@juniper# set from route-filter /8 orlonger Sample 3.9 : Action definition for the filter ipv4-martians [edit policy-options policy-statement ipv4-martians] root@juniper# set then reject Sample 3.10 : IPv4 reserved prefixes filter (non exhaustive) [edit policy-options] root@juniper# show policy-statement ipv4-martians from { route-filter /8 orlonger; route-filter /8 orlonger; route-filter /16 orlonger; route-filter /16 orlonger; route-filter /24 orlonger; route-filter /4 orlonger; route-filter /32 exact; } then reject; Sample 3.11 : Applying the filter ipv4-martians from sample 3.10 [edit protocols bgp] root@juniper# set group session-to-as64502-v4 import ipv4-martians root@juniper# show group session-to-as64502-v4 type external; import ipv4-martians; peer-as 64502; neighbor ; 26 BGP configuration best practices
27 Sample 3.12 : IPv6 reserved prefixes filter (non exhaustive) [edit policy-options] root@juniper# show policy-statement ipv6-martians from { family inet6; route-filter ::1/128 exact; route-filter ::/128 exact; route-filter 2001:0000::/23 orlonger; route-filter 2001: db8::/32 orlonger; route-filter 2002::/16 exact next policy; route-filter 2002::/16 longer; } then reject; Samples 3.8, 3.9, 3.10, 3.11 and Comments Samples 3.8 and 3.9 show how to build the policy-statement ipv4-martians. Sample 3.8 shows the definition of the rules, and sample 3.9 indicates the action to be taken. Sample 3.10 shows a filter that rejects IPv4 martians. Sample 3.11 indicates how to apply the filter to a given BGP neighbor. Similarly, it is possible to filter IPv6 reserved prefixes, as shown in sample Reserved prefixes filtering - OpenBGPD routers Sample 3.13 : IPv4 and IPv6 static filter configuration example # Martians IPv4 deny from any prefix /8 prefixlen >= 8 deny from any prefix /8 prefixlen >= 8 deny from any prefix /16 prefixlen >= 16 deny from any prefix /15 prefixlen >= 15 # Martians IPv6 deny from any prefix ::1/128 deny from any prefix ::/128 deny from any prefix :: ffff :0:0/96 prefixlen >= 96 deny from any prefix 64: ff9b::/96 prefixlen >= 96 BGP configuration best practices 27
28 Sample Comments Sample 3.13 gives an example of static filter configuration for IPv4 et IPv6 reserved prefixes. 3.2 Filtering of the prefixes assigned to a peer In the case of a BGP session between a transit AS and a stub AS, the customer s prefixes should be filtered by the transit AS in order to drop any illegitimate prefix advertisement. This type of filtering may be extended to other interconnection types. In the absence of any agreement between the ASes upon the prefixes they advertise, the IRRs 7 should be consulted for the definition of the filters. However, the information they provide may not always be up-to-date. Strict filtering, i.e. filtering which drops any advertisement that does not conform to the declarations in the registries, is therefore not always possible. The filters on the tested implementations are configured in the same way as the filters presented in section Filtering too specific prefixes At the time of writing, the mask length for prefix advertisements should not exceed 24 bits for IPv4 [1] and 48 bits for IPv6 8 [2]. This filtering rule enables the size of the global routing table to be limited. Filtering too specific prefixes - Alcatel-Lucent routers Sample 3.14 : Filtering IPv4 prefixes more specific than /24 >config >router > policy-options# prefix-list " v4-too-specific" prefix /0 prefix-length-range exit 7 Internet Routing Registries. 8 Concerning IPv6, this rule may evolve in the future. 28 BGP configuration best practices
29 Sample 3.15 : Filtering IPv6 prefixes more specific than /48 >config >router > policy-options# prefix-list " v6-too-specific" prefix ::/0 prefix-length-range exit Samples 3.14 and Comments Samples 3.14 and 3.15 indicate how to filter too specific IPv4 and IPv6 prefixes on an Alcatel-Lucent router. The implementation of these prefix-lists is similar to the one from samples 3.1 and 3.2. Filtering too specific prefixes - Cisco routers Sample 3.16 : Filtering IPv4 prefixes more specific than /24 Cisco( config)# ip prefix-list too-specific seq 5 permit /0 le 24 Sample Comments Sample 3.16 shows how to configure a prefix-list in order to discard prefix advertisements more specific than /24. The prefix-list is applied to both incoming and outgoing prefix advertisements, as shown in sample 3.6. Sample 3.17 : Filtering IPv6 prefixes more specific than /48 Cisco( config)#ipv6 prefix-list v6-too-specific seq 5 permit ::/0 le 48 BGP configuration best practices 29
30 Sample Comments In a similar way, sample 3.17 shows how to filter IPv6 prefixes more specific than /48. The prefix-list is applied to both incoming and outgoing prefix advertisements, as shown in sample 3.6. Filtering too specific prefixes - Juniper routers Sample 3.18 : Filtering IPv4 prefixes more specific than /24 [edit policy-options policy-statement v4-prefix-filter] root@juniper# set term accept-up-to-24 from route-filter /0 upto /24 root@juniper# set term accept-up-to-24 then next policy root@juniper# set then reject root@juniper# show term accept-up-to-24 { from { route-filter /0 upto /24; } then next policy; } then reject; Sample 3.19 : Filtering IPv6 prefixes more specific than /48 [edit policy-options policy-statement v6-prefix-filter] root@juniper# set term accept-up-to-48 from route-filter ::/0 upto /48 root@juniper# set term accept-up-to-48 then next policy root@juniper# set then reject root@juniper# show term accept-up-to-48 { from { route-filter ::/0 upto /48; } then next policy; } then reject; 30 BGP configuration best practices
31 Samples 3.18 and Comments Sample 3.18 shows how to filter IPv4 prefixes more specific than /48 on a Juniper router. The filtering of IPv6 prefixes is carried out in a similar manner, as shown in sample Filtering too specific prefixes - OpenBGPD routers Sample 3.20 : Filtering IPv4 prefixes more specific than /24 deny from any inet prefixlen > 24 Sample 3.21 : Filtering IPv6 prefixes more specific than /48 deny from any inet6 prefixlen > Default route filtering The default route ( /0 for IPv4, and ::/0 for IPv6) should not be advertised, except for a customer who requests it. This avoids accidentally becoming a transit AS, which may lead to very high bandwidth use, and router overload. In addition, the default route should only be accepted by a customer who accesses the Internet via a default route. Default route filtering - Alcatel-Lucent routers Sample 3.22 : Default route filtering (IPv4 and IPv6) >config >router > policy-options# prefix-list " default-v4" prefix /0 exact exit prefix-list " default-v6" prefix ::/0 exact exit BGP configuration best practices 31
32 policy-statement " reject-default-v4" entry 10 from prefix-list " default-v4" exit action reject exit policy-statement " reject-default-v6" entry 10 from prefix-list " default-v6" exit action reject exit Sample Comments Sample 3.22 shows how to filter the IPv4 and IPv6 default routes. The filters can be applied to one peer or more (see sample 3.2). Default route filtering - Cisco routers Sample 3.23 : Default route filtering (IPv4 and IPv6) Cisco( config)# ip prefix-list v4-default-route seq 5 deny /0 Cisco( config)# ip prefix-list v4-default-route seq 10 permit /0 le 24 Cisco( config)#ipv6 prefix-list v6-default-route seq 5 deny ::/0 Cisco( config)#ipv6 prefix-list v6-default-route seq 10 permit ::/0 le 48 Sample Comments On Cisco routers, IPv4 and IPv6 default route filtering can be performed using prefix-lists. 32 BGP configuration best practices
33 Applying the filter to a peer can be done in a similar way as in sample 3.6. Default route filtering - Juniper routers Sample 3.24 : Default route filtering (IPv4 and IPv6) [edit policy-options policy-statement no-v4-default-route] root@juniper# set term default-route from route-filter /0 exact root@juniper# set term default-route then reject [edit policy-options policy-statement no-v6-default-route] root@juniper# set term default-route from route-filter ::/0 exact root@juniper# set term default-route then reject [edit policy-options] root@juniper# show policy-statement no-v4-default-route term default-route { from { route-filter /0 exact; } then reject; } root@juniper# show policy-statement no-v6-default-route term default-route { from { route-filter ::/0 exact; } then reject; } Sample Comment On Juniper routers, default routes can be filtered using policy-statements. BGP configuration best practices 33
34 Default route filtering - OpenBGPD routers Sample 3.25 : Default route filtering (IPv4 and IPv6) deny from any inet prefix /0 prefixlen = 0 deny from any inet6 prefix ::/0 prefixlen = Private AS number removal An AS number that is not unique may be assigned to an organization. For example, a customer AS may be connected to a unique transit AS (by one or more links) which enables it to access the whole Internet. The transit AS then advertises the customer s prefixes. In this case, the transit AS assigns a private AS number to his customer. The private AS numbers extend from to [33]. In order to deal with the growing number of ASes, AS numbers over 32 bits have been introduced [34]: the numbers from to are reserved for private use. The private AS numbers should not be present in advertisements propagated throughout the Internet since they may be used by several ASes at the same time. Outbound filtering to remove the private AS numbers is therefore necessary. Configuration examples are provided for all implementations tested, except for OpenBGPD which does not provide this functionality at the time of writing. Private AS number removal - Alcatel-Lucent routers Sample 3.26 : Command enabling private AS number removal >config >router >bgp# remove-private [ limited] [ skip-peer-as] Sample 3.27 : Private AS number removal in prefix advertisements >config >router >bgp# group "EBGP" remove-private neighbor exit exit 34 BGP configuration best practices
35 Samples 3.26 and Comments The option limited removes all the private AS numbers from the AS_PATH to the first non private AS number. The option skip-peer-as allows to keep a private AS number if it is the peer s AS number. Sample 3.27 shows how to configure private AS number removal for a peer. Private AS number removal - Cisco routers Sample 3.28 : Command enabling private AS number removal Cisco( config-router)# neighbor <ip-address > <group-name > remove-private-as [all [ replace-as]] Sample Comments Here are the settings and options available for this command: ip-address and group-name indicate the peer s address, or the peer group to which the command applies ; the keyword all enables the removal of all private AS numbers contained in the AS_PATH; replace-as replaces every private AS number with the local AS number (the local AS being the AS to which the router belongs). Sample 3.29 : Command usage example remove-private-as Cisco( config-router)# address-family ipv4 Cisco( config-router-af)# neighbor remove-private-as Sample Comments Sample 3.29 shows how to use the command remove-private-as. In this case, AS64506 advertisements to its peer will not contain private AS numbers. On older IOS versions, the behavior can be different. In particular, in versions prior BGP configuration best practices 35
36 to version 15.1(2)T [35], if the AS_PATH contains public AS numbers, no private AS number will be removed. Private AS number removal - Juniper routers Sample 3.30 : Example of removing private AS numbers in advertisements [edit protocols bgp] root@juniper# set group session-to-as64503 neighbor 2001: db8 :0:3: fac0 :100:22 d3:ce80 remove-private root@juniper# show group session-to-as64503 type external; log-updown; family inet6 { unicast; } peer-as 64503; neighbor 2001: db8:0:3: fac0 :100:22 d3:ce80 { remove-private; } Sample Comments The remove-private command enables the removal of private AS numbers on Juniper routers. Sample 3.30 shows how to configure private AS numbers removal for a given peer. 3.6 Limiting the maximum number of prefixes accepted from a peer Filtering on the number of prefixes advertised by a peer is intended to protect the routers from overload. However, this type of filter also helps protecting the routing consistency. For example, a customer AS may advertise by mistake the whole Internet routing table to its transit AS. If this transit AS does not carry out any filtering and accepts these 36 BGP configuration best practices
37 advertisements, it is highly probable that it will choose the routes advertised by his customer and propagate them to its peers. In fact, for economic reasons, the values of the LOCAL_PREF attribute associated with the customer s routes are generally higher than those of other peers routes. Consequently, following the advertisement of the customer s peers, a certain number of peers may in turn choose these routes as the best ones, making the prefixes inaccessible. This type of incident occurred on several occasions [36]. To prevent re-advertisement of the routing table, it is strongly recommended to apply a filter to the maximum number of prefixes advertised by a customer or an AS with which a peering relationship is established. Equipments usually offer a certain degree of flexibility by enabling the configuration of the number of prefixes advertised from which the session will be shut down, along with the configuration of a threshold from which warning messages can be generated or SNMP traps sent. For example, for a peer that advertises 200 prefixes, it is possible to set a maximum limit of 1000 prefixes and an alert threshold of 400 prefixes. Filter on the number of prefixes - Alcatel-Lucent routers Sample 3.31 : Maximum number of prefixes filter configuration >config >router >bgp >group# # neighbor <address > prefix-limit <limit > [ log-only] [ threshold <percentage >] Sample 3.32 : Maximum number of prefixes filter configuration example # neighbor prefix-limit 1000 threshold 50 Sample 3.31 et Comments Here are the settings and options available for the command shown in sample 3.31: prefix-limit is the maximum number of prefixes allowed for a given peer; threshold is the percentage of the maximum number of prefixes from which the router will generate warning messages. When this threshold is reached, a SNMP trap is sent. Once the limit is exceeded, the BGP session BGP configuration best practices 37
38 is shut unless the log-only option is configured, in which case only a new warning is issued. Sample 3.32 gives a configuration example of a maximum number of 1000 prefixes, with an alert threshold of 500 prefixes. Filter on the number of prefixes - Cisco routers Sample 3.33 : Command enabling maximum number of prefixes filtering Cisco( config-router-af)# neighbor <ip-address > <group-name > maximum-prefix <maximum > [ threshold] [ restart restart-interval] [ warning-only] Sample Comments Here are the settings and options available for this command: maximum is the maximum number of prefixes allowed for a given peer; threshold is the percentage of the maximum number of prefixes from which the router will generate warning messages. By default, messages are generated when the threshold of 75 % of the maximum number is exceeded; restart-interval specifies the time interval, in minutes, after which the session is reestablished (from 1 to minutes) ; warning-only indicates that the session should not be terminated when the number of advertised prefixes exceeds the limit, but that warning messages should be generated instead. Sample 3.34 : Maximum number of prefixes filter configuration example Cisco( config-router)# address-family ipv6 Cisco( config-router-af)# neighbor 2001: db8:0:3: fac0 :100:22 d3: d000 maximum-prefix BGP configuration best practices
39 Sample Comment In this example, the maximum number of prefixes allowed is 1000, and the router will generate warning messages when 500 or more prefixes are advertised. Filter on the number of prefixes - Juniper routers Sample 3.35 : Command enabling maximum number of prefixes filtering prefix-limit { maximum <number >; teardown <percentage > [ idle-timeout { forever} <minutes >]; } Sample Comments Here are the settings and options available for this command: maximum is the maximum number of prefixes allowed for a peer (from 1 to ) ; teardown indicates that the session should be terminated if the maximum number of prefixes is reached. If teardown is followed by a percentage, warning messages are logged when this percentage is exceeded. Once the session is shut, it is reestablished after a short time [37]. If a duration is specified using the idle-timeout keyword, then the session will be reestablished once this duration has elapsed. If forever is specified, then the session will not be reestablished. For the sake of brevity, the different configuration hierachical levels are not shown in these samples. Sample 3.36 : Maximum number of prefixes filter configuration example [edit protocols bgp] root@juniper# set group session-to-as64503 neighbor 2001: db8 :0:3: fac0 :100:22 d3:ce80 family inet6 unicast prefix-limit maximum 1000 teardown 50 BGP configuration best practices 39
40 Filter on the number of prefixes - OpenBGPD routers Sample 3.37 : Command enabling maximum number of prefixes filtering max-prefix <number > [ restart <minutes >] Sample Comments Here are the settings and options available for this command: number is the maximum number of prefixes allowed. Beyond this threshold, the session is shut ; if restart is specified, the session will be reestablished after the specified duration (in minutes). 3.7 Filtering on the peerʼs AS number In general, advertisements for which the first AS number in the AS_PATH (i.e. the AS number the furthest to the left) is not that of the peer should not be accepted. For example, in the case of an interconnection between a transit AS and a stub AS, the customer s advertisements should be filtered in order to eliminate those whose AS_PATH contains other AS numbers than the one of the customer. AS_PATH filtering - Alcatel-Lucent routers Sample 3.38 : Command allowing the creation of an AS_PATH filter rule >config >router > policy-options# as-path <" name" > <" regular expression" > Sample 3.39 : AS_PATH filtering example >config >router > policy-options# as-path " from-as64506" "64506.*" policy-statement " from-as64506" entry 10 from protocol bgp 40 BGP configuration best practices
41 as-path " from-as64506" exit action accept exit exit default-action reject exit Sample 3.38 et Comments Sample 3.38 gives an example of an AS_PATH filter. The filter rules are defined using regular expressions. The filter shown in sample 3.39 can be applied to a peer in the same way as indicated in sample 3.2. AS_PATH filtering - Cisco routers Sample 3.40 : Command allowing to filter the first AS in the AS_PATH Cisco( config-router)#bgp enforce-first-as Sample Comments The command bgp enforce-first-as enables to discard routes whose first AS number in the AS_PATH differs from that of the peer advertising these routes. This filtering is enabled by default [35]. Sample 3.40 shows how to make this feature explicitly appear in the router configuration. BGP configuration best practices 41
42 AS_PATH filtering - Juniper routers Sample 3.41 : Command allowing to filter the first AS in the AS_PATH [edit policy-options] root@juniper# set as-path from-as64506 "^64506.*" [edit policy-options policy-statement match-peer-as64506] root@juniper# set term peer-as64506 from as-path from-as64506 root@juniper# set term peer-as64506 then accept root@juniper# set term reject-other-peers then reject root@juniper# show term peer-as64506 { from as-path from-as64506; then accept; } term reject-other-peers { then reject; } Sample Comments The rules, based on regular expressions, are created using the command as-path <name> <regular-expression>. In this sample, a rule on the AS_PATH is created using the regular expression ^64506.*. The AS_PATH matching this rule are those whose first AS number is In the Junos syntax, «.» matches any AS number. AS_PATH filtering - OpenBGPD routers Sample 3.42 : AS_PATH filtering example enforce neighbor-as {yes} 42 BGP configuration best practices
43 Sample Comments Like the example given for Cisco routers (3.40), the command given in sample 3.42 enables to reject routes advertised by an AS whose number is not the last added to the AS_PATH. This is the default behavior of the implementation. BGP configuration best practices 43
44
45 Chapter 4 Other BGP configuration elements 4.1 Use of logging The routers offer numerous logging functions. Logging is used to detect stability problems and therefore, it may become useful during post-incident interventions. The records are used to identify the equipment which was the origin of the log entry, the session concerned, the cause and the exact time and date of the incident. For BGP, and on the Cisco and Juniper routers, the adjacency change events are not logged by default. These events correspond to the session status changes and so must be logged. By default, OpenBGPD logs the status changes using Syslog [38]. For the Alcatel-Lucent routers, the BGP events are logged by default. The routers also offer more advanced logging functions, for example to save the content of the messages exchanged. These functions may be useful for debugging purposes. BGP events logging - Alcatel-Lucent routers Sample 4.1 : Log entries generated by an Alcatel-Lucent router /12/25 17:05:17.00 CET MINOR: BGP #2001 vprn300 Peer 12: " VR 12: Group CE- IPVPN300: Peer : moved into established state" /12/25 17:04:45.70 CET WARNING: BGP #2002 vprn300 Peer 12: " VR 12: Group CE- IPVPN300: Peer : moved from higher state OPENSENT to lower state IDLE due to event TCP SOCKET ERROR" /12/25 17:04:45.70 CET WARNING: BGP #2011 vprn300 Peer 12: " VR 12: CE- IPVPN300: Peer : remote end closed connection" /12/25 17:04:45.66 CET WARNING: BGP #2005 vprn300 Peer 12: " VR 12: CE- IPVPN300: Peer : sending notification: code HOLDTIME subcode UNSPECIFIED" BGP configuration best practices 45
46 /12/25 17:04:45.66 CET WARNING: BGP #2002 vprn300 Peer 12: " VR 12: CE- IPVPN300: Peer : moved from higher state ESTABLISHED to lower state IDLE due to event HOLDTIME" Sample Comments By default, BGP events are logged in log 99: adjacency changes, malformed UPDATE messages or NOTIFICATION messages. Fine-grained logging configuration is possible, like on Cisco or Juniper routers. BGP events logging - Cisco routers Sample 4.2 : BGP adjacency changes logging configuration Router( config-router)#bgp log-neighbor-changes Sample 4.3 : BGP log entries examples Jun 25 11:19:28.111: %BGP -5- ADJCHANGE: neighbor 2001: DB8:0:3: FAC0 :100:22 D3:D000 Up Jun 25 11:25:37.843: %BGP -4- MAXPFX: No. of prefix received from 2001: DB8:0:3: FAC0 :100:22 D3:D000 (afi 1) reaches 8, max 10 Jun 25 11:25:37.843: %BGP -3- MAXPFXEXCEED: No. of prefix received from 2001: DB8:0:3: FAC0 :100:22 D3: D000 ( afi 1): 11 exceed limit 10 Jun 25 11:25:37.843: %BGP -5- ADJCHANGE: neighbor 2001: DB8:0:3: FAC0 :100:22 D3:D000 Down BGP Notification sent Sample Comments This sample gives an example of log entries related to adjacency changes and maximum number of prefixes filtering on a Cisco router. In this example, a BGP session is established with a peer whose IP address is 2001:db8:0:3:fac0:100:22d3:d000. The second log entry is a warning 46 BGP configuration best practices
47 message indicating that an alert threshold has been exceeded. The third entry shows that the maximum number of prefixes allowed has been exceeded (11 prefixes advertised, namely one more than the limit set to 10). Finally, the last entry indicates that a NOTIFICATION message has been sent to the peer, terminating the session. BGP events logging - Juniper routers Sample 4.4 : BGP adjacency changes logging configuration [edit protocols bgp] root@juniper# set log-updown Sample 4.5 : BGP log entries examples Jul 15 11:24:07 JUNIPER rpd[1176]: bgp_peer_mgmt_clear :5992: NOTIFICATION sent to ( External AS 64501): code 6 ( Cease) subcode 4 ( Administratively Reset), Reason: Management session cleared BGP neighbor Jul 15 11:24:07 JUNIPER rpd[1176]: RPD_BGP_NEIGHBOR_STATE_CHANGED: BGP peer ( External AS 64501) changed state from Established to Idle ( event Stop) Jul 15 11:24:39 JUNIPER rpd[1176]: RPD_BGP_NEIGHBOR_STATE_CHANGED: BGP peer ( External AS 64501) changed state from OpenConfirm to Established ( event RecvKeepAlive) Samples 4.4 and Comments On Juniper routers, the command log-updown activates adjacency changes logging. Sample 4.4 gives an example of global activation (for all the BGP peers). Sample 4.5 shows log entries due to a BGP session restart. BGP configuration best practices 47
48 BGP events logging - OpenBGPD routers Sample 4.6 : Log entries generated by OpenBGPD Apr 29 15:58:49 openbsd64-1 bgpd [13682]: neighbor : state change None -> Idle, reason: None Apr 29 15:58:49 openbsd64-1 bgpd [13682]: neighbor : state change Idle -> Connect, reason: Start Apr 29 15:58:49 openbsd64-1 bgpd [13682]: neighbor : state change Connect -> OpenSent, reason: Connection opened Apr 29 15:58:49 openbsd64-1 bgpd [13682]: neighbor : state change OpenSent -> Active, reason: Connection closed Apr 29 15:59:54 openbsd64-1 bgpd [13682]: neighbor : state change Active -> OpenSent, reason: Connection opened Apr 29 15:59:54 openbsd64-1 bgpd [13682]: neighbor : state change OpenSent -> OpenConfirm, reason: OPEN message received Apr 29 15:59:54 openbsd64-1 bgpd [13682]: neighbor : state change OpenConfirm -> Established, reason: KEEPALIVE message received Sample Comments Sample 4.6 provides a log example generated by OpenBGPD when establishing a session. Adjacency changes events are logged by default in /var/log/daemon. 4.2 The Graceful Restart mechanism The Graceful Restart mechanism, which is specified for BGP in RFC 4724 [39], is used to limit the prefix unavailability due to the BGP process restarting on a router. On a BGP interconnection between two peers, the Graceful Restart capacity declaration is used to keep the packet transfer during the BGP process restart for one of the two routers. The transfer is carried out during a limited time beyond which the routes used are deleted. Once the restart has been performed, the router selects the best routes among the ones sent by its peers and updates its RIB 1 and FIB 2. 1 Routing Information Base. 2 Forwarding Information Base. 48 BGP configuration best practices
49 Graceful Restart - Alcatel-Lucent routers Sample 4.7 : Graceful Restart configuration on Alcatel-Lucent routers >config >router >bgp >group# group "EBGP" graceful-restart [ stale-routes-time <time >] Sample Comments The setting stale-routes-time determines the maximum time during which the router keeps the routes marked as stale before removing them. This time can take values from 1 to 3600 seconds, the default value being 360 seconds. This mechanism can be configured on a per-neighbor basis, but also for a neighbor group or in the BGP context. Graceful Restart - Cisco routers Sample 4.8 : Graceful Restart configuration on Cisco routers Router( config-router)#bgp graceful-restart [ restart-time <seconds > stalepath-time <seconds >] Sample Comments Graceful Restart can be enabled in router configuration mode or address-family configuration mode. Here are the options available for this command: restart-time enables to set the maximum time during which the router waits for a peer to restart. This duration can take values from 1 to 3600 seconds, the default value being 120 seconds; stalepath-time enables to set the maximum time during which the router keeps the routes marked as stale before removing them. This duration can take values from 1 to 3600 seconds, the default value being 360 seconds. BGP configuration best practices 49
50 Sample 4.9 : Graceful Restart configuration example Cisco( config)# router bgp Cisco( config-router)#bgp graceful-restart restart-time 120 Cisco( config-router)#bgp graceful-restart stalepath-time 360 Graceful Restart - Juniper routers Sample 4.10 : Graceful Restart configuration on Juniper routers [edit protocols bgp] graceful-restart { restart-time <seconds >; stale-routes-time <seconds >; } Sample Comments Here are the options available for this command: restart-time enables to set the expected duration of a peer restart. The duration can take values from 1 to 600 seconds. The default duration is 120 seconds; stale-routes-time enables to set the delay during during which the routes marked as stale are kept inside the FIB. The duration can take values from 1 to 600 seconds. The default stale-routes-time is 300 seconds. Sample 4.11 : Graceful Restart configuration example [edit protocols bgp] root@juniper# set graceful-restart restart-time 120 root@juniper# set graceful-restart stale-routes-time 360 root@juniper# show graceful-restart restart-time 120; stale-routes-time 360; 50 BGP configuration best practices
51 Graceful Restart - OpenBGPD routers OpenBGPD and the Graceful Restart mechanism The tested version of OpenBGPD does not support the Graceful Restart mechanism. However, OpenBGPD is able to generate the end of RIB marker [39] after the readvertisement of all of its routes to the peer that has restarted. The advertisement of this marker allows the peer to begin the process of route selection, and thus promotes convergence. Without the end of RIB marker, the peer that has restarted must wait some time before starting the selection process. BGP configuration best practices 51
52
53 Chapter 5 General router configuration elements The mechanisms described in this section are not specific to BGP security but may help strengthen the resistance of the interconnections. 5.1 Preventing IP address spoofing Denial of service attacks often use spoofed source addresses to hide the origin of the attack and make it harder to set up filters to eliminate this traffic. The URPF (Unicast Reverse Path Forwarding) technique was created to thwart IP address spoofing. This technique is not directly related to BGP but it may be used to limit the impact on a BGP router when hit by a denial of service attack. Its operating principle is based on systematic verification of the correspondence between the source addresses, the input interface on which the packets arrive and the FIB entries that may enable the source to be reached. More precisely, there are three main operating modes, described in RFC 3704 [40]: The strict mode is used to check that the source address of a packet which arrives on an interface may be reached by a route present in the FIB. It also checks that the interface which would be used to reach it is the interface on which the packet was received; The feasible path mode is an extension of strict mode. In this mode, the alternative routes, i.e. the routes which are not used by the FIB, are also taken into account for the test; The loose mode only checks that the source address of a packet which arrives on the router may be reached by a route present in the FIB. The interface which will be used to reach the source is not taken into account for this mode. The loose mode is used to reject the packets whose source IP address is not routed over the Internet. For these three modes, the packets are dropped when the conditions are not verified. Strict mode cannot be used with asymmetric routing, as shown in figure 5.1, for it would lead to discard part of the legitimate traffic. For example, on figure 5.1, if URPF is activated in strict mode on the AS A router, the traffic from AS B would be rejected. Indeed, the route taken (from AS B to AS D, then from AS D to AS A) is different from the one used to send traffic to this AS (from AS A to AS C, then from AS C to AS B). BGP configuration best practices 53
54 C A B D Traffic direction Figure 5.1 Asymmetric routing between AS A and AS B In this case, it is possible to use the feasible path mode, which takes account of the alternative route via AS D. However, the feasible path mode is implemented on the Juniper routers, but not on the Alcatel-Lucent, Cisco or OpenBGPD routers. For these last implementations, in the case of multihoming, only loose mode may be used. URPF configuration - Alcatel-Lucent routers Sample 5.1 : Command enabling URPF config router <router-name > interface <ip-int-name > urpf-check mode { strict loose} no mode ipv6 urpf-check mode { strict loose} no mode Sample Comments Sample 5.1 gives the command set to enable URPF on Alcatel-Lucent routers. 54 BGP configuration best practices
55 By default, this mechanism is not activated. Here are the settings and options available for this command : mode activates URPF in strict mode or loose mode ; no mode activates URPF in strict mode, which is the default mode. Sample 5.2 : URPF configuration example using loose mode >config > service# ies 200 customer 1 create interface " from_client" create urpf-check mode loose exit ipv6 urpf-check mode loose exit exit exit Sample Comments Sample 5.2 shows a configuration example of URPF in loose mode on Alcatel- Lucent routers. If the default route is in the routing table and loose mode is configured, the URPF test will pass. Nevertheless, if the packet source address matches a black-holing route, the URPF test will fail. By default, unmatched packets are silently discarded. BGP configuration best practices 55
56 URPF configuration - Cisco routers Sample 5.3 : Command enabling URPF on a single interface Cisco( config-if)# ip verify unicast source reachable-via { rx any} [ allow-default] [ allow-self-ping] [list] Here are the settings and options available for this command: rx enables strict mode, whereas any enables lost mode; allow-default includes the default route in the URPF test; allow-self-ping enables the router to ping its own interfaces, which is blocked by default when URPF is enabled; list is the access-list which will be used if the URPF test fails. It is thus possible to allow exceptions (i.e. source addresses which would make the test fail), or to log incoming packets before discarding them. By default, packets which make the test fail are silently discarded. However, URPF discarded packets counters are updated. Sample 5.4 : URPF configuration example using loose mode Cisco( config-if)# ip verify unicast source reachable-via any URPF configuration - Juniper routers Sample 5.5 : Command enabling URPF [ edit logical-systems logical-system-name routing-options forwarding-table] [ edit routing-instances routing-instance-name instance-type name routing-options forwarding-table] [ edit routing-options forwarding-table] root@juniper# set unicast-reverse-path ( active-paths feasible-paths); 56 BGP configuration best practices
57 Sample 5.6 : Command enabling URPF on a specific interface [ edit interfaces interface-name unit logical-unit-number family family] [ edit logical-systems logical-system-name interfaces interface-name unit logical-unit-number family family] rpf-check { fail-filter <filter-name >; mode loose; } Samples 5.5 and Comments unicast-reverse-path command enables URPF. If the active-paths parameter is set, then only actives routes from the FIB will be checked (i.e. chosen routes for packet forwarding). If the feasible-paths parameter is set, then alternative routes (i.e. routes that may not be used for packet forwarding, but are present in the RIB) will also be checked by URPF. Once URPF is configured, the interface where URPF is expected to be used must be configured with the command given in sample 5.6. Like on Cisco routers, a filtering can be set in order to take specific actions (for example, logging if the URPF test fails). By default, packets are silently discarded. Specifying mode loose will enable the URPF in loose mode. URPF configuration - PF (OpenBGPD routers) Sample 5.7 : Command enabling URPF block in [quick] from urpf-failed [label <urpf >] Sample Comments Sample 5.7 extract shows how to configure URPF using Packet Filter. OpenBSD only supports the strict mode. BGP configuration best practices 57
58 Moreover, if the default route goes through the interface where URPF is enabled, the route is not excluded from the URPF test, making URPF useless on this interface. In order to log packets which failed the URPF test, the log parameter must be added to the block action: block in [log] [quick] from urpf-failed [label <urpf>]. 5.2 Hardening the router configuration The implementation of the configuration best current practices described in this document must be accompanied by router protection measures. More generally, the equipment configurations and the management plane should be hardened. Among other things, you may: Use secure protocols to access the router (for example, SSH [41] with public key authentication); Restrict access to the equipment: Use of a dedicated administration interface; Connection from authorised IP addresses; Definition of user accounts dedicated to a specific use, etc.; Deactivate unused services (processes or protocols); Apply configuration best current practices to the different protocols implemented by the equipment; Use up-to-date operating systems or firmwares The configuration guides offered by equipment manufacturers often provide guidelines related to equipment configuration hardening Control plane protection The tasks carried out in the control plane supply the FIB, i.e. the transfer tables used by the data plane. The routing protocol processes such as BGP should operate within the router control plane. Consequently, control plane protection is also a vital element for BGP security. The varied nature of the tasks carried out in the control plane explains that this plan is controlled by central processing units (CPUs). 58 BGP configuration best practices
59 However, the data plane is based on ASIC 1 dedicated to specific packet processing (packet transfer operations to an appropriate interface or to the control plane). These hardware components offer very high packet processing capacity, in particular a capacity that is much higher than that of the control plane. Consequently, this control plane is more likely to be overloaded during a denial of service attack than the data plane. The main objective of control plane protection is the reduction of its attack surface. This involves the implementation of filters in order to discard most of the illegitimate traffic before it reaches the control plane. RFC 6192 [42] describes a number of filters aiming to protect the router control plane and provides configuration examples to implement these filters for Cisco and Juniper routers. 1 Application Specific Integrated Circuits. BGP configuration best practices 59
60
61 Appendix A IPv6 addressing space Tables A.1 and A.2 respectively provide the prefixes reserved by the IETF and the reserved prefixes that belong to 2000::/3. The list may be obtained from the IANA registries: Internet Protocol Version 6 Address Space [14] and IPv6 Global Unicast Address Assignments [15]. The version of 15 th February 2013 was used to generate these tables. IPv6 reserved address space 0000::/ ::/8 0400::/6 0800::/5 1000::/4 4000::/3 6000::/3 8000::/3 reserved by the IETF [16] a000::/3 c000::/3 e000::/4 f000::/5 f800::/6 fe00::/9 0200::/7 reserved by IETF [43]. fec0::/10 reserved by IETF [44]. Table A.1 Reserved IPv6 Prefixes. BGP configuration best practices 61
62 2001:3c00::/22 2d00:0000::/8 2e00:0000::/7 3000:0000::/4 3ffe::/16 5f00::/8 Global Unicast IPv6 space reserved by IANA. prefixes which were previously reserved for the 6bone, the IPv6 test network. Table A.2 Global Unicast space. 62 BGP configuration best practices
63 Bibliography [1] RIPE-NCC, RIPE Routing Working Group Recommendations on Route Aggregation. < décembre [2] RIPE-NCC, RIPE Routing Working Group Recommendations on IPv6 Route Aggregation. < novembre [3] P. A. Watson, Slipping in the Window: TCP Reset Attacks, CanSecWest, [4] A. Ramaiah, R. Stewart, and M. Dalal, Improving TCP s Robustness to Blind In- Window Attacks. RFC 5961 (Proposed Standard), Aug [5] J. Touch, Defending TCP Against Spoofing Attacks. RFC 4953 (Informational), July [6] Y. Rekhter, T. Li, and S. Hares, A Border Gateway Protocol 4 (BGP-4). RFC 4271 (Draft Standard), Jan Updated by RFCs 6286, 6608, [7] A. Heffernan, Protection of BGP Sessions via the TCP MD5 Signature Option. RFC 2385 (Proposed Standard), Aug Obsoleted by RFC 5925, updated by RFC [8] J. Touch, A. Mankin, and R. Bonica, The TCP Authentication Option. RFC 5925 (Proposed Standard), June [9] Y. Rekhter, B. Moskowitz, D. Karrenberg, G. J. de Groot, and E. Lear, Address Allocation for Private Internets. RFC 1918 (Best Current Practice), Feb Updated by RFC [10] M. Cotton, L. Vegoda, R. Bonica, and B. Haberman, Special-Purpose IP Address Registries. RFC 6890 (Best Current Practice), Apr [11] IANA, IPv4 Address Space Registry. < ipv4-address-space/ipv4-address-space.txt>, mars [12] A. Durand, R. Droms, J. Woodyatt, and Y. Lee, Dual-Stack Lite Broadband Deployments Following IPv4 Exhaustion. RFC 6333 (Proposed Standard), Aug [13] IANA, IANA IPv6 Special Purpose Address Registry. < org/assignments/iana-ipv6-special-registry/iana-ipv6-specialregistry.txt>, mai BGP configuration best practices 63
64 [14] IANA, Internet Protocol Version 6 Address Space. < org/assignments/ipv6-address-space/ipv6-address-space.txt>, février [15] IANA, IPv6 Global Unicast Address Assignments. < org/assignments/ipv6-unicast-address-assignments/ipv6-unicastaddress-assignments.txt>, février [16] R. Hinden and S. Deering, IP Version 6 Addressing Architecture. RFC 4291 (Draft Standard), Feb Updated by RFCs 5952, [17] R. Braden, Requirements for Internet Hosts - Communication Layers. RFC 1122 (INTERNET STANDARD), Oct Updated by RFCs 1349, 4379, 5884, 6093, 6298, 6633, [18] S. Cheshire, B. Aboba, and E. Guttman, Dynamic Configuration of IPv4 Link- Local Addresses. RFC 3927 (Proposed Standard), May [19] S. Bradner and J. McQuaid, Benchmarking Methodology for Network Interconnect Devices. RFC 2544 (Informational), Mar Updated by RFCs 6201, [20] J. Arkko, M. Cotton, and L. Vegoda, IPv4 Address Blocks Reserved for Documentation. RFC 5737 (Informational), Jan [21] J. Weil, V. Kuarsingh, C. Donley, C. Liljenstolpe, and M. Azinger, IANA-Reserved IPv4 Prefix for Shared Address Space. RFC 6598 (Best Current Practice), Apr [22] M. Cotton, L. Vegoda, and D. Meyer, IANA Guidelines for IPv4 Multicast Address Assignments. RFC 5771 (Best Current Practice), Mar [23] S. Deering, Host extensions for IP multicasting. RFC 1112 (INTERNET STAN- DARD), Aug Updated by RFC [24] J. Mogul, Broadcasting Internet Datagrams. RFC 919 (INTERNET STANDARD), Oct [25] N. Hilliard and D. Freedman, A Discard Prefix for IPv6. RFC 6666 (Informational), Aug [26] R. Hinden, S. Deering, R. Fink, and T. Hain, Initial IPv6 Sub-TLA ID Assignments. RFC 2928 (Informational), Sept [27] C. Huitema, Teredo: Tunneling IPv6 over UDP through Network Address Translations (NATs). RFC 4380 (Proposed Standard), Feb Updated by RFCs 5991, BGP configuration best practices
65 [28] C. Popoviciu, A. Hamza, G. V. de Velde, and D. Dugatkin, IPv6 Benchmarking Methodology for Network Interconnect Devices. RFC 5180 (Informational), May [29] P. Nikander, J. Laganier, and F. Dupont, An IPv6 Prefix for Overlay Routable Cryptographic Hash Identifiers (ORCHID). RFC 4843 (Experimental), Apr [30] G. Huston, A. Lord, and P. Smith, IPv6 Address Prefix Reserved for Documentation. RFC 3849 (Informational), July [31] B. Carpenter and K. Moore, Connection of IPv6 Domains via IPv4 Clouds. RFC 3056 (Proposed Standard), Feb [32] R. Hinden and B. Haberman, Unique Local IPv6 Unicast Addresses. RFC 4193 (Proposed Standard), Oct [33] IANA, Autonomous System (AS) Numbers. < assignments/as-numbers/as-numbers.txt>, avril [34] J. Mitchell, Autonomous System (AS) Reservation for Private Use. RFC 6996 (Best Current Practice), July [35] C. Systems, Cisco IOS IP Routing: BGP Command Reference. < reference/irg_book.html>, mars [36] How the Internet in Australia went down under. BGPmon.net blog, [37] Juniper Networks, Technical Documentation - prefix-limit. <http: // configuration-statement/prefix-limit-edit-protocols-bgp.html>, octobre [38] R. Gerhards, The Syslog Protocol. RFC 5424 (Proposed Standard), Mar [39] S. Sangli, E. Chen, R. Fernando, J. Scudder, and Y. Rekhter, Graceful Restart Mechanism for BGP. RFC 4724 (Proposed Standard), Jan [40] F. Baker and P. Savola, Ingress Filtering for Multihomed Networks. RFC 3704 (Best Current Practice), Mar [41] T. Ylonen and C. Lonvick, The Secure Shell (SSH) Protocol Architecture. RFC 4251 (Proposed Standard), Jan [42] D. Dugal, C. Pignataro, and R. Dunn, Protecting the Router Control Plane. RFC 6192 (Informational), Mar [43] B. Carpenter, RFC 1888 Is Obsolete. RFC 4048 (Informational), Apr Updated by RFC BGP configuration best practices 65
66 [44] C. Huitema and B. Carpenter, Deprecating Site Local Addresses. RFC 3879 (Proposed Standard), Sept BGP configuration best practices
67 Acronyms ANSSI ASIC BGP EBGP FIB IANA IETF IRRs MAC RIB RIR Agence nationale de la sécurité des systèmes d information Application Specific Integrated Circuits Border Gateway Protocol External Border Gateway Protocol Forwarding Information Base Internet Assigned Numbers Authority Internet Engineering Task Force Internet Routing Registries Message Authentication Code Routing Information Base Regional Internet Registry BGP configuration best practices 67
68
69
70
71
72 About ANSSI The French Network and Information Security Agency (ANSSI / Agence nationale de la sécurité des systèmes d information) was created on 7th July 2009 as an agency with national jurisdiction ( service à compétence nationale ). By Decree No of 7 July 2009 as amended by Decree No of 11 February 2011, the agency has responsibility at the national level concerning the defence and security of information systems. It is attached to the Secretariat General for National Defence and Security (Secrétaire général de la défense et de la sécurité nationale) under the authority of the Prime Minister. To learn more about ANSSI and its activities, please visit October 2014 Licence ouverte / Open Licence (Etalab v1) Agence nationale de la sécurité des systèmes dʼinformation ANSSI - 51 boulevard de la Tour-Maubourg PARIS 07 SP Sites internet: et Messagerie: communication [at] ssi.gouv.fr
JUNOS Secure BGP Template
JUNOS Secure BGP Template Version 1.92, 03/30/2005 Stephen Gill E-mail: [email protected] Published: 04/25/2001 Contents Credits... 2 Introduction... 2 Template... 4 References... 10 Credits Rob Thomas
Tutorial: Options for Blackhole and Discard Routing. Joseph M. Soricelli Wayne Gustavus NANOG 32, Reston, Virginia
Tutorial: Options for Blackhole and Discard Routing Joseph M. Soricelli Wayne Gustavus NANOG 32, Reston, Virginia Caveats and Assumptions The views presented here are those of the authors and they do not
Application Note: Securing BGP on Juniper Routers
Application Note: Securing BGP on Juniper Routers Version 1.92, 03/30/2005 Stephen Gill E-mail: [email protected] Published: 06/16/2002 Contents Introduction Introduction... 2 Assumptions... 3 Topology...
Chapter 33 BGP Configuration Guidelines
Chapter 33 BGP Configuration Guidelines To configure the Border Gateway Protocol (BGP), you can include the following statements. Three portions of the bgp statement those in which you configure global
Application Note: Securing BGP on Juniper Routers
Application Note: Securing BGP on Juniper Routers Version 1.8, 02/13/2003 Stephen Gill E-mail: [email protected] Published: 06/16/2002 qorbit Technologies Contents Introduction Introduction... 2 Assumptions...
How To Set Up Bgg On A Network With A Network On A Pb Or Pb On A Pc Or Ipa On A Bg On Pc Or Pv On A Ipa (Netb) On A Router On A 2
61200860L1-29.4E March 2012 Configuration Guide Configuring Border Gateway Protocol in AOS for Releases Prior to 18.03.00/R10.1.0 This guide only addresses BGP in AOS data products using AOS firmware prior
LAB II: Securing The Data Path and Routing Infrastructure
LAB II: Securing The Data Path and Routing Infrastructure 8. Create Packet Filters a. Create a packet filter which will deny packets that have obviously bogus IP source addresses but permit everything
MPLS. Cisco MPLS. Cisco Router Challenge 227. MPLS Introduction. The most up-to-date version of this test is at: http://networksims.com/i01.
MPLS Cisco MPLS MPLS Introduction The most up-to-date version of this test is at: http://networksims.com/i01.html Cisco Router Challenge 227 Outline This challenge involves basic frame-mode MPLS configuration.
Application Note. Failover through BGP route health injection
Application Note Document version: v1.2 Last update: 8th November 2013 Purpose This application note aims to describe how to build a high available platform using BGP routing protocol to choose the best
How To Understand Bg
Table of Contents BGP Case Studies...1 BGP4 Case Studies Section 1...3 Contents...3 Introduction...3 How Does BGP Work?...3 ebgp and ibgp...3 Enabling BGP Routing...4 Forming BGP Neighbors...4 BGP and
NetFlow Aggregation. Feature Overview. Aggregation Cache Schemes
NetFlow Aggregation This document describes the Cisco IOS NetFlow Aggregation feature, which allows Cisco NetFlow users to summarize NetFlow export data on an IOS router before the data is exported to
Bell Aliant. Business Internet Border Gateway Protocol Policy and Features Guidelines
Bell Aliant Business Internet Border Gateway Protocol Policy and Features Guidelines Effective 05/30/2006, Updated 1/30/2015 BGP Policy and Features Guidelines 1 Bell Aliant BGP Features Bell Aliant offers
Equipment Configuration: Routers. 6DEPLOY. IPv6 Deployment and Support
Equipment Configuration: Routers 6DEPLOY. IPv6 Deployment and Support Routing Equipment Cisco Juniper 6WIND Hitachi Huawei FreeBSD Debian Windows Quagga 11th September 2008 Equipment Configuration: Routers
How To Import Ipv4 From Global To Global On Cisco Vrf.Net (Vf) On A Vf-Net (Virtual Private Network) On Ipv2 (Vfs) On An Ipv3 (Vv
BGP Support for IP Prefix Import from Global Table into a VRF Table The BGP Support for IP Prefix Import from Global Table into a VRF Table feature introduces the capability to import IPv4 unicast prefixes
BGP Support for Next-Hop Address Tracking
The feature is enabled by default when a supporting Cisco software image is installed. BGP next-hop address tracking is event driven. BGP prefixes are automatically tracked as peering sessions are established.
Configuring and Testing Border Gateway Protocol (BGP) on Basis of Cisco Hardware and Linux Gentoo with Quagga Package (Zebra)
Configuring and Testing Border Gateway Protocol (BGP) on Basis of Cisco Hardware and Linux Gentoo with Quagga Package (Zebra) Contents Introduction Used Abbreviations Border Gateway Protocol (BGP) Overview
MPLS VPN Route Target Rewrite
The feature allows the replacement of route targets on incoming and outgoing Border Gateway Protocol (BGP) updates Typically, Autonomous System Border Routers (ASBRs) perform the replacement of route targets
APNIC elearning: BGP Basics. Contact: [email protected]. erou03_v1.0
erou03_v1.0 APNIC elearning: BGP Basics Contact: [email protected] Overview What is BGP? BGP Features Path Vector Routing Protocol Peering and Transit BGP General Operation BGP Terminology BGP Attributes
BGP Terminology, Concepts, and Operation. Chapter 6 2007 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
BGP Terminology, Concepts, and Operation 1 IGP versus EGP Interior gateway protocol (IGP) A routing protocol operating within an Autonomous System (AS). RIP, OSPF, and EIGRP are IGPs. Exterior gateway
Using the Border Gateway Protocol for Interdomain Routing
CHAPTER 12 Using the Border Gateway Protocol for Interdomain Routing The Border Gateway Protocol (BGP), defined in RFC 1771, provides loop-free interdomain routing between autonomous systems. (An autonomous
Computer Networks Administration Help Manual Sana Saadaoui Jemai Oliver Wellnitz
Technische Universität Braunschweig Institut für Betriebssysteme und Rechnerverbund Computer Networks Administration Help Manual Sana Saadaoui Jemai Oliver Wellnitz Braunschweig, 27 th March 2007 Contents
MPLS VPN over mgre. Finding Feature Information. Prerequisites for MPLS VPN over mgre
The feature overcomes the requirement that a carrier support multiprotocol label switching (MPLS) by allowing you to provide MPLS connectivity between networks that are connected by IP-only networks. This
Understanding Virtual Router and Virtual Systems
Understanding Virtual Router and Virtual Systems PAN- OS 6.0 Humair Ali Professional Services Content Table of Contents VIRTUAL ROUTER... 5 CONNECTED... 8 STATIC ROUTING... 9 OSPF... 11 BGP... 17 IMPORT
Chapter 49 Border Gateway Protocol version 4 (BGP-4)
Chapter 49 Border Gateway Protocol version 4 (BGP-4) Introduction... 1-3 Overview of BGP-4... 1-3 BGP Operation... 1-5 BGP Attributes... 1-6 BGP Route Selection... 1-8 Classless Inter-domain Routing (CIDR)
Simple Multihoming. ISP/IXP Workshops
Simple Multihoming ISP/IXP Workshops 1 Why Multihome? Redundancy One connection to internet means the network is dependent on: Local router (configuration, software, hardware) WAN media (physical failure,
Why Is MPLS VPN Security Important?
MPLS VPN Security An Overview Monique Morrow Michael Behringer May 2 2007 Future-Net Conference New York Futurenet - MPLS Security 1 Why Is MPLS VPN Security Important? Customer buys Internet Service :
MPLS VPN Security. Intelligent Information Network. Klaudia Bakšová Systems Engineer, Cisco Systems [email protected]
Intelligent Information Network MLS VN Security Klaudia Bakšová Systems Engineer, Cisco Systems [email protected] Agenda Analysis of MLS/VN Security Inter-AS VNs rovider Edge DoS possibility Secure MLS
Border Gateway Protocol (BGP)
Border Gateway Protocol (BGP) Petr Grygárek rek 1 Role of Autonomous Systems on the Internet 2 Autonomous systems Not possible to maintain complete Internet topology information on all routers big database,
Example: Advertised Distance (AD) Example: Feasible Distance (FD) Example: Successor and Feasible Successor Example: Successor and Feasible Successor
642-902 Route: Implementing Cisco IP Routing Course Introduction Course Introduction Module 01 - Planning Routing Services Lesson: Assessing Complex Enterprise Network Requirements Cisco Enterprise Architectures
BGP Best Practices for ISPs Prefix List, AS PATH filters, Bogon Filters, Anycast, Mailing Lists, INOC DBA
BGP Best Practices for ISPs Prefix List, AS PATH filters, Bogon Filters, Anycast, Mailing Lists, INOC DBA. Gaurab Raj Upadhaya [email protected] Packet Clearing House What are Best Practices Established or
Module 7. Routing and Congestion Control. Version 2 CSE IIT, Kharagpur
Module 7 Routing and Congestion Control Lesson 4 Border Gateway Protocol (BGP) Specific Instructional Objectives On completion of this lesson, the students will be able to: Explain the operation of the
BGP overview BGP operations BGP messages BGP decision algorithm BGP states
BGP overview BGP operations BGP messages BGP decision algorithm BGP states 1 BGP overview Currently in version 4. InterAS (or Interdomain) routing protocol for exchanging network reachability information
IP Application Services Commands show vrrp. This command was introduced. If no group is specified, the status for all groups is displayed.
show vrrp show vrrp To display a brief or detailed status of one or all configured Virtual Router Redundancy Protocol (VRRP) groups on the router, use the show vrrp command in privileged EXEC mode. show
Network Configuration Example
Network Configuration Example Virtual Router Use Case for Educational Networks Published: 2014-01-10 Juniper Networks, Inc. 1194 North Mathilda Avenue Sunnyvale, California 94089 USA 408-745-2000 www.juniper.net
Basic Configuration Examples for BGP
Application Note Basic Configuration Examples for BGP Juniper Networks, Inc. 1194 North Mathilda Avenue Sunnyvale, CA 94089 USA 408 745 2000 or 888 JUNIPER www.juniper.net Part Number: :350008-001 04/02
BGP FORGOTTEN BUT USEFUL FEATURES. Piotr Wojciechowski (CCIE #25543)
BGP FORGOTTEN BUT USEFUL FEATURES Piotr Wojciechowski (CCIE #25543) ABOUT ME Senior Network Engineer MSO at VeriFone Inc. Previously Network Solutions Architect at one of top polish IT integrators CCIE
Tech Note Cisco IOS SNMP Traps Supported and How to Conf
Tech Note Cisco IOS SNMP Traps Supported and How to Conf Table of Contents Cisco IOS SNMP Traps Supported and How to Configure Them...1 Introduction...1 Before You Begin...1 Conventions...1 Prerequisites...1
Multihomed BGP Configurations
Multihomed BGP Configurations lvaro Retana Cisco IOS Deployment and Scalability 1 genda General Considerations Multihomed Networks Best Current Practices 2 The Basics General Considerations 3 General Considerations
OSPF Test Suite and Router configuration
OSPF Test Suite and Router configuration Codenomicon Solution Note Version: 2012-03-02 1 INTRODUCTION This document will give detailed information how to configure Cisco routers and OpenBSD servers to
IPv6 over MPLS VPN. Contents. Prerequisites. Document ID: 112085. Requirements
IPv6 over MPLS VPN Document ID: 112085 Contents Introduction Prerequisites Requirements Components Used Conventions Configure Network Diagram VRF Configuration Multiprotocol BGP (MP BGP) Configuration
JNCIA Juniper Networks Certified Internet Associate
JNCIA Juniper Networks Certified Internet Associate Study Guide - Chapter 8 by Joseph M. Soricelli with John L. Hammond, Galina Diker Pildush, Thomas E. Van Meter, and Todd M. Warble This book was originally
BGP Link Bandwidth. Finding Feature Information. Contents
The BGP (Border Gateway Protocol) Link Bandwidth feature is used to advertise the bandwidth of an autonomous system exit link as an extended community. This feature is configured for links between directly
> Border Gateway Protocol (BGP-4) Technical Configuration Guide. Ethernet Routing Switch. Engineering
Ethernet Routing Switch 8600 Engineering > Border Gateway Protocol (BGP-4) Technical Configuration Guide Enterprise Solution Engineering Document Date: November, 2007 Document Number: NN48500-538 Document
Internet Protocol: IP packet headers. vendredi 18 octobre 13
Internet Protocol: IP packet headers 1 IPv4 header V L TOS Total Length Identification F Frag TTL Proto Checksum Options Source address Destination address Data (payload) Padding V: Version (IPv4 ; IPv6)
NetFlow v9 Export Format
NetFlow v9 Export Format With this release, NetFlow can export data in NetFlow v9 (version 9) export format. This format is flexible and extensible, which provides the versatility needed to support new
Border Gateway Protocol Best Practices
Border Gateway Protocol Best Practices By Clifton Funakura The Internet has grown into a worldwide network supporting a wide range of business applications. Many companies depend on the Internet for day-to-day
Routing Protocol - BGP
Routing Protocol - BGP BGP Enterprise Network BGP ISP AS 3000 AS 2000 BGP is using between Autonomous Systems BGP(cont.) RFC 1771(BGPv4) Support CIDR Transfer the AS information to reach destination Using
BGP4 Case Studies/Tutorial
BGP4 Case Studies/Tutorial Sam Halabi-cisco Systems The purpose of this paper is to introduce the reader to the latest in BGP4 terminology and design issues. It is targeted to the novice as well as the
Cisco To Juniper. Thomas Mangin Exa Networks LINX 51
Cisco To Juniper Thomas Mangin Exa Networks LINX 51 Scope This presentation is not about : Juniper vs Cisco A line per line conversion analysis It is about Giving you an overview how hard/easy integrating
Inter-domain Routing Basics. Border Gateway Protocol. Inter-domain Routing Basics. Inter-domain Routing Basics. Exterior routing protocols created to:
Border Gateway Protocol Exterior routing protocols created to: control the expansion of routing tables provide a structured view of the Internet by segregating routing domains into separate administrations
BGP Link Bandwidth. Finding Feature Information. Prerequisites for BGP Link Bandwidth
The Border Gateway Protocol (BGP) Link Bandwidth feature is used to advertise the bandwidth of an autonomous system exit link as an extended community. This feature is configured for links between directly
Configuring SNMP and using the NetFlow MIB to Monitor NetFlow Data
Configuring SNMP and using the NetFlow MIB to Monitor NetFlow Data NetFlow is a technology that provides highly granular per-flow statistics on traffic in a Cisco router. The NetFlow MIB feature provides
Tomás P. de Miguel DIT-UPM. dit UPM
Tomás P. de Miguel DIT- 15 12 Internet Mobile Market Phone.com 15 12 in Millions 9 6 3 9 6 3 0 1996 1997 1998 1999 2000 2001 0 Wireless Internet E-mail subscribers 2 (January 2001) Mobility The ability
Configuring Logging. Information About Logging CHAPTER
52 CHAPTER This chapter describes how to configure and manage logs for the ASASM/ASASM and includes the following sections: Information About Logging, page 52-1 Licensing Requirements for Logging, page
How to Configure Cisco 2600 Routers
Helsinki University of Technology Department of Communications and Networking How to Configure Cisco 2600 Routers Juha Järvinen 10.6.2004 [email protected] Modified by Zhong Yunqiu 7.8.2008 Table
Simple Multihoming. ISP Workshops. Last updated 30 th March 2015
Simple Multihoming ISP Workshops Last updated 30 th March 2015 1 Why Multihome? p Redundancy n One connection to internet means the network is dependent on: p Local router (configuration, software, hardware)
Border Gateway Protocol (BGP-4)
Vanguard Applications Ware IP and LAN Feature Protocols Border Gateway Protocol (BGP-4) Notice 2008 Vanguard Networks 25 Forbes Blvd Foxboro, MA 02035 Phone: (508) 964 6200 Fax: (508) 543 0237 All rights
I've applied for a goipv6 account and received my password via email but I cannot log into my account. What should I do?
goipv6 FAQ goipv6 Account I've applied for a goipv6 account and received my password via email but I cannot log into my account. What should I do? I would like to change my current password. What should
Detecting BGP hijacks in 2014
Detecting BGP hijacks in 2014 Guillaume Valadon & Nicolas Vivet Agence nationale de la sécurité des systèmes d information http://www.ssi.gouv.fr/en NSC - November 21th, 2014 ANSSI - Detecting BGP hijacks
Interconnecting Cisco Network Devices 1 Course, Class Outline
www.etidaho.com (208) 327-0768 Interconnecting Cisco Network Devices 1 Course, Class Outline 5 Days Interconnecting Cisco Networking Devices, Part 1 (ICND1) v2.0 is a five-day, instructorled training course
IPv6 Addressing. Awareness Objective. IPv6 Address Format & Basic Rules. Understanding the IPv6 Address Components
IPv6 Addressing Awareness Objective IPv6 Address Format & Basic Rules Understanding the IPv6 Address Components Understanding & Identifying Various Types of IPv6 Addresses 1 IPv4 Address SYNTAX W. X.
Table of Contents. Configuring IP Access Lists
Table of Contents...1 Introduction...1 Prerequisites...2 Hardware and Software Versions...2 Understanding ACL Concepts...2 Using Masks...2 Summarizing ACLs...3 Processing ACLs...4 Defining Ports and Message
21.4 Network Address Translation (NAT) 21.4.1 NAT concept
21.4 Network Address Translation (NAT) This section explains Network Address Translation (NAT). NAT is also known as IP masquerading. It provides a mapping between internal IP addresses and officially
Configuring Static and Dynamic NAT Translation
This chapter contains the following sections: Network Address Translation Overview, page 1 Information About Static NAT, page 2 Dynamic NAT Overview, page 3 Timeout Mechanisms, page 4 NAT Inside and Outside
JNCIA-Junos Study Guide Part 2
Worldwide Education Services 1194 North Mathilda Avenue Sunnyvale, CA 94089 USA 408-745-2000 www.juniper.net This document is produced by Juniper Networks, Inc. This document or any part thereof may not
CLOS IP FABRICS WITH QFX5100 SWITCHES
White Paper CLOS IP FABRICS WITH QFX5100 SWITCHES Building Flexible, Programmable Data Center Networks Using Layer 3 Protocols and Overlay Networking Copyright 2014, Juniper Networks, Inc. 1 Table of Contents
Route Discovery Protocols
Route Discovery Protocols Columbus, OH 43210 [email protected] http://www.cse.ohio-state.edu/~jain/ 1 Overview Building Routing Tables Routing Information Protocol Version 1 (RIP V1) RIP V2 OSPF
ASA 9.x EIGRP Configuration Example
ASA 9.x EIGRP Configuration Example Document ID: 91264 Contributed by Dinkar Sharma, Magnus Mortensen, and Prashant Joshi, Cisco TAC Engineers. May 13, 2015 Contents Introduction Prerequisites Requirements
Supporting Document Mandatory Technical Document. Evaluation Activities for Stateful Traffic Filter Firewalls cpp. February-2015. Version 1.
Supporting Document Mandatory Technical Document Evaluation Activities for Stateful Traffic Filter Firewalls cpp February-2015 Version 1.0 CCDB-2015-01-002 Foreword This is a supporting document, intended
Introduction to HA Technologies: SSO/NSF with GR and/or NSR. Ken Weissner / [email protected] Systems and Technology Architecture, Cisco Systems
Introduction to HA Technologies: SSO/NSF with GR and/or NSR. Ken Weissner / [email protected] Systems and Technology Architecture, Cisco Systems 1 That s a lot of acronyms Some definitions HA - High Availability
Chapter 3 Configuring Basic IPv6 Connectivity
Chapter 3 Configuring Basic IPv6 Connectivity This chapter explains how to get a ProCurve Routing Switch that supports IPv6 up and running. To configure basic IPv6 connectivity, you must do the following:
Course Overview: Learn the essential skills needed to set up, configure, support, and troubleshoot your TCP/IP-based network.
Course Name: TCP/IP Networking Course Overview: Learn the essential skills needed to set up, configure, support, and troubleshoot your TCP/IP-based network. TCP/IP is the globally accepted group of protocols
Cisco Router Configuration Tutorial
Cisco Router Configuration Tutorial Cisco Inter-network Operating System: Cisco IOS Modes of Operation The Cisco IOS software provides access to several different command modes. Each command mode provides
Monitoring and Troubleshooting BGP Neighbor Sessions
Application Note Monitoring and Troubleshooting BGP Neighbor Sessions Juniper Networks, Inc. 1194 North Mathilda Avenue Sunnyvale, CA 94089 USA 408 745 2000 or 888 JUNIPER www.juniper.net Part Number:
Configuration Commands. SNMP System Commands. engineid. 7950 XRS System Management Guide Page 303 SNMP. Syntax [no] engineid engine-id
SNMP Configuration Commands SNMP System Commands engineid Syntax [no] engineid engine-id Context config>system>snmp Description This command sets the SNMP engineid to uniquely identify the SNMPv3 node.
IPv6.marceln.org. [email protected]
IPv6.marceln.org [email protected] RFC 1606 RFC 1606 A Historical Perspective On The Usage Of IP Version 9 1 April 1994, J. Onions Introduction The take-up of the network protocol TCP/IPv9 has been
The ISP Column. An Introduction to BGP the Protocol
The ISP Column An occasional column on things Internet May 2006 Geoff Huston An Introduction to BGP the Protocol Routing in the Internet is divided into two parts fine-grained topological detail of connected
Network Level Multihoming and BGP Challenges
Network Level Multihoming and BGP Challenges Li Jia Helsinki University of Technology [email protected] Abstract Multihoming has been traditionally employed by enterprises and ISPs to improve network connectivity.
Configuring MPLS Hub-and-Spoke Layer 3 VPNs
CHAPTER 23 This chapter describes how to configure a hub-and-spoke topology for Multiprotocol Layer Switching (MPLS) Layer 3 virtual private networks (VPNs) on Cisco NX-OS devices. This chapter includes
Configuring System Message Logging
CHAPTER 1 This chapter describes how to configure system message logging on the Cisco 4700 Series Application Control Engine (ACE) appliance. Each ACE contains a number of log files that retain records
Quick Note 20. Configuring a GRE tunnel over an IPSec tunnel and using BGP to propagate routing information. (GRE over IPSec with BGP)
Quick Note 20 Configuring a GRE tunnel over an IPSec tunnel and using BGP to propagate routing information. (GRE over IPSec with BGP) Appendix A GRE over IPSec with Static routes UK Support August 2012
Networking. Palo Alto Networks. PAN-OS Administrator s Guide Version 6.0. Copyright 2007-2015 Palo Alto Networks
Networking Palo Alto Networks PAN-OS Administrator s Guide Version 6.0 Contact Information Corporate Headquarters: Palo Alto Networks 4401 Great America Parkway Santa Clara, CA 95054 www.paloaltonetworks.com/company/contact-us
Module 12 Multihoming to the Same ISP
Module 12 Multihoming to the Same ISP Objective: To investigate various methods for multihoming onto the same upstream s backbone Prerequisites: Module 11 and Multihoming Presentation The following will
Network Configuration Example
Network Configuration Example Configuring Security Options for BGP with TCP Published: 2014-01-10 Juniper Networks, Inc. 1194 North Mathilda Avenue Sunnyvale, California 94089 USA 408-745-2000 www.juniper.net
IPv6 Fundamentals: A Straightforward Approach
IPv6 Fundamentals: A Straightforward Approach to Understanding IPv6 Rick Graziani Cisco Press 800 East 96th Street Indianapolis, IN 46240 IPv6 Fundamentals Contents Introduction xvi Part I: Background
Chapter 8 Router and Network Management
Chapter 8 Router and Network Management This chapter describes how to use the network management features of your ProSafe Dual WAN Gigabit Firewall with SSL & IPsec VPN. These features can be found by
Computer Networks. Introduc)on to Naming, Addressing, and Rou)ng. Week 09. College of Information Science and Engineering Ritsumeikan University
Computer Networks Introduc)on to Naming, Addressing, and Rou)ng Week 09 College of Information Science and Engineering Ritsumeikan University MAC Addresses l MAC address is intended to be a unique identifier
Configuring Simple Network Management Protocol (SNMP)
Configuring Simple Network Management Protocol (SNMP) This chapter describes the Simple Network Management Protocol (SNMP), SNMP Management Information Bases (MIBs), and how to configure SNMP on Cisco
Introduction to IP v6
IP v 1-3: defined and replaced Introduction to IP v6 IP v4 - current version; 20 years old IP v5 - streams protocol IP v6 - replacement for IP v4 During developments it was called IPng - Next Generation
Fireware How To Dynamic Routing
Fireware How To Dynamic Routing How do I configure my Firebox to use BGP? Introduction A routing protocol is the language a router speaks with other routers to share information about the status of network
IOS Server Load Balancing
IOS Server Load Balancing This feature module describes the Cisco IOS Server Load Balancing (SLB) feature. It includes the following sections: Feature Overview, page 1 Supported Platforms, page 5 Supported
IPv6 Diagnostic and Troubleshooting
8 IPv6 Diagnostic and Troubleshooting Contents Introduction.................................................. 8-2 ICMP Rate-Limiting........................................... 8-2 Ping for IPv6 (Ping6)..........................................
Exterior Gateway Protocols (BGP)
Exterior Gateway Protocols (BGP) Internet Structure Large ISP Large ISP Stub Dial-Up ISP Small ISP Stub Stub Stub Autonomous Systems (AS) Internet is not a single network! The Internet is a collection
NetStream (Integrated) Technology White Paper HUAWEI TECHNOLOGIES CO., LTD. Issue 01. Date 2012-9-6
(Integrated) Technology White Paper Issue 01 Date 2012-9-6 HUAWEI TECHNOLOGIES CO., LTD. 2012. All rights reserved. No part of this document may be reproduced or transmitted in any form or by any means
Chapter 4 Rate Limiting
Chapter 4 Rate Limiting HP s rate limiting enables you to control the amount of bandwidth specific Ethernet traffic uses on specific interfaces, by limiting the amount of data the interface receives or
IPv6 Security. Scott Hogg, CCIE No. 5133 Eric Vyncke. Cisco Press. Cisco Press 800 East 96th Street Indianapolis, IN 46240 USA
IPv6 Security Scott Hogg, CCIE No. 5133 Eric Vyncke Cisco Press Cisco Press 800 East 96th Street Indianapolis, IN 46240 USA Contents Introduction xix Chapter 1 Introduction to IPv6 Security 3 Reintroduction
This feature was introduced. This feature was integrated in Cisco IOS Release 12.2(11)T.
BGP Link Bandwidth The Border Gateway Protocol (BGP) Link Bandwidth feature is used to advertise the bandwidth of an autonomous system exit link as an extended community. This feature is configured for
