RIPv2:
- ip rip triggered is an interface command to only send rip updates when there is a change. Only works on P2P links
- passive interface in RIP only stops the router sending updates out, it’ll still receive updates in from neighbours. If you have configured a static neighbour it’ll send unicast updates even if passive-interface has been configured. i.e. if you want to limit the neighbour relationship out an interface, you can use passive-interface as well as the neighbour command
- ip rip v2-broadcast is an interface command to allow you to broadcast RIPv2 updates out
- Use the no validate update-source interface command if the neighbour is speaking to the router using an IP not on the local subnet (secondary address is an example)
EIGRP:
- k1 = bandwidth
- k2 = load
- k3 = delay
- k4 = reliability
- k5 = MTU
- By default, only bandwidth and delay are used
- K values need to match in EIGRP AS domain in order for neighbours to form
- Many ways to allow EIGRP to use equal or unequal paths. Can use offset-lists to increase metric, change bandwidth/delay, add additional K values into metric, increase K multiplier and so on
- IOS allows up to 16 paths to be used, but only 4 by default. Changed using the maximum-paths eigrp process command
- eigrp stub receive-only tells the local router to receive eigrp routes, but don’t send anything
OSPF:
- FLOOD-WAR means that 2 routers (not directly connected) share the same router-id. If they were directly connected the neighbour relationship would not form
- Router-id’s can change depending on the lab, this is important as virtual-links and certain other filtering mechanisms are configured using the RID. If the RID changes, your configuration needs to change
- Virtual-links are in Area 0, hence if you need to authenticate all Area 0 links, you need to authenticate the virtual-link
- Authentication is configured on the interface, however virtual-link authentication is configured under the ospf process itself using area (x) virtual-link (x.x.x.x) (message-digest-key|authentication-key) (…)
- If you need to configure an interface in area 0, but not allowed to use area 0 command, you can always use area 0.0.0.0 – More info on this 32bit area number here: http://mellowd.co.uk/ccie/?p=910
- Virtual links are on-demand links. Hence if you don’t do authentication on one side, you’ll not notice until packets actually needs to go down the link.
- When router A sends router B an LSA, it includes router B’s cost to the destination. It does NOT include the local shared link. Router A will add the local link cost itself. This is the same as spanning-tree costs
- max-lsa (options) – configured the maximum amount of non self generated lsa’s the local router can have. Can drop peer or warn when lsa amount is breached
- ip ospf flood-reduction – stops an OSPF speaker from updating LSA’s every 30 minutes. If configured you’ll need to do it on all OSPF speakers
- show ip ospf border-routers is a handy command to use when checking costs to border routers (perhaps for load-balancing to external destinations)
- Watch out for strange frame-relay set ups. You may need to have frame-relay maps to certain other spokes, depending on the ospf network type
- OSPF routes are always chosen in the order: O; O IA; E1; E2; N1; and N2 regardless of metric. You can however tell ospf to use different ADs for each of these types with the distance ospf [options] command which is handy for complex redistribution labs
Redistribution:
- distribute-list out on DV protocols will of course affect what DV routes go INTO another protocol
- Use debug ip routing
- Use tags wherever possible
- When redistributing from OSPF into BGP, it will only redistribute internal OSPF routes by default. You need to specify the external routes if you want them redistributed
- When reditributing through a route-map, you can specify in the route-map that certain routes will be E1 and others E2. Can also specify the metric itself
Policy-based routing:
- ip policy route-map will be configured on the interface in which traffic is coming in on
- ip local policy route-map is used for policy routing locally generated traffic by the router
Changing AD:
- router (eigrp|rip|ospf)
- distance (#) x.x.x.x x.x.x.x (ACL)
- RIP – x.x.x.x = advertising neighbours IP address
- EIGRP x.x.x.x = advertising neighbours router-id
- OSPF x.x.x.x = router-id of router originating the LSA into the area
- If you use 0.0.0.0 255.255.255.255 then you’re telling the router not to care WHERE the route came from
EBGP:
- BGP neighbour addresses have to be in the local routing table. Following a default route will NOT work
- Next-hop for eBGP routes will NOT follow a default route. i.e. if you have a BGP speaker advertising eBGP routes to it’s iBGP peers, those iBGP will not install that route into their rib if they don’t have a route to the next-hop. A default route doesn’t count!
- When advertising a network in BGP via the network command, there has to be a match in the local RIB, otherwise it won’t be advertised – An Inject-map can be used to change this slightly
- By default eBGP neighbours are expected to be directly connected. If not, or peering via loopbacks, there are 3 ways to change this behaviour
- ebgp multihop (ttl)
- disable-connected-check
- ttl-security hops
- ebgp multihop will increase the ttl to whatever value you want it to be
- disable-connected-check does not increase the ttl, but will allow routers to peer if the peer address is directly connected (like a loopback)
- ttl-security hops will send BGP requests out with a ttl of 255, but the incoming value needs to be 255 minus the value you set
Communities:
- ip bgp-community new-format is a global config command that will show the communitys in the new x:x format
- Communities are NOT sent to neighbours by default. You need to configure the send-community option on the nieghbour statement
- no-export – route not sent outside AS, but will be sent to confederation peers
- local-as - as above, but NOT advertised to confederation peers
- no-advertise – don’t advertise to anyone
- If you set a community via a route-map, it WILL overwrite all previous communities, unless you set the additive keyword
2 easy ways of stopping your AS becoming a transit AS:
- Create an incoming route-map from eBGP peers that adds the no-export community
- Create an as-path access-list matching ^$ and filter on that outbound to eBGP peers
Regular expressions:
- show ip bgp regexp (expression) is handy to work out what your expressions will match in your current BGP table
- ^ beginning of string
- _ Contains (anything before or after)
- $ End of string
- [] Range of numbers
- - Used to specify range [0-9]
- () Logical grouping
- \ Special character to follow (confederations)
- . Single character wildcard
- * 0 or more of the preceeding character
- + 1 or more of the preceeding character
- ? 0 or 1 of the preceeding character
Peer groups:
- Peer groups are used to simplify your BGP configuration by confguring options under a group, and then assigning neighbours to a group
- Neighbours in a single group must have the same outbound policies
- neighbor (group name) peer-group
- neighbor (group name) remote-as xxx
- neighbor (group name) (options)
- neighbor x.x.x.x peer-group (group name)
Route-reflectors:
- If you have more than 1 route-reflector in a single AS for fault-tolerence, ensure both have matching cluster-id’s BEFORE you set up the clients.
- If set up before, reboot the route-reflector
- If you only have a single route-reflector, it’s unnecessary to set the cluster-id
Confederations:
- inter-sub-as neighbours will need ebgp multihop configured if not directly connected!
- bgp confederation peers x x x only really needs to be configured on the confederation BGP speakers that connect to different confederation AS numbers in the same confederation. It doesn’t hurt to configure it all on all of them though
- bgp confederation identifier (external AS) needs to be configured on all confederation BGP speakers
Dampening:
- bgp dampening is a global command that enabled dampening
- bgp dampening (half-life) (reuse) (supress) (max-suppress) [route-map](map)
- Half-life – Time before penalty cut in half (15min default)
- Reuse – Low threshold where route reused (750 default)
- Supress – High threshold where route supressed (2000 default)
- Max-supression – Max time to be supressed (60 min default)
- The default penalty for a flap is 1000
- These are sliding scales. i.e. if a route flaps it’ll get 1000 points, but will start losing points 1 by 1 straight away
- If you want to ensure certain routes are NOT dampened, create a route-map that denys the routes you don’t want dampened, and allow everything else
- When dampening though a route-map, you need to set the dampening values in the route-map itself, even if they are the defaults!
Redistribution:
- When reditributing from BGP into an IGP, by default no iBGP routes will be reditributed, ONLY eBGP. To ensure iBGP routes are distributed, you need to configure bgp redistribute internal under the BGP process. This can VERY easily cause loops so be careful!
Misc:
- Supress-maps are configured under the aggregate command, while unsuprsess maps are configured under the neighbour statements (check this though, supress might also be for neighbour as well)
- When configuring an aggregate, the AS numbers of the source addresses part of that aggregate are lost. You can keep sending them as an as-set by adding the as-set command at the end of the aggregate
- An aggregate will inherit the community values of it’s parent routes when using as-set configured above. This includes communities like no-export. You can override this with an attribute-map at the end of an aggregate command. The attribute-map calls a route-map in which you can remove the communities, or set new ones
- Exist and non-exist maps will match routes in the BGP table, not the RIB
- When using an inject map, the exist map MUST have both a match route term AND a match route-source term
- You can see the effects of a filter before applying it by doing a show ip bgp filter-list (filter); show ip bgp community-list (filter) etc etc
- An extended ACL actually acts like a prefix list in BGP. The source bits tell what IP address/range to match, while the destination bits tell what subnet mask to match. The protocol is ignored. – permit ip 172.16.1.0 0.0.0.255 255.255.255.0 0.0.0.0 – matches 172.16.1.x/24 only – permit ip 172.16.1.50 0.0.0.0 255.255.255.0 0.0.0.255 matches 172.16.1.50/24-32 only – etc…
- When configuring maximum prefix values to receive from a neighbour, the first variable is the amount of prefixes while the second number is the percentage to warn on, not the number received!
- BGP timers can be configured under the bgp process, or neighbour-specific timers
This lab will test a Central Services MPLS VPN.
The diagram is the same as my last VPN Lab. Also it uses my MPLS topology found over here: http://mellowd.co.uk/ccie/?p=522
This is the topology for this lab (click for a bigger image):
- Customer1 and Customer 2 both have MPLS vpn’s through the ISP core.
- Customer1 is using OSPF and Customer2 is using EIGRP
- Customers should have no access to each others networks
- Customers should be able to reach all their sites from all their sites
- The ISP is now providing a mail relay for it’s customers to use. Ensure that all customers can get to the 10.200.1.1/24 subnet through their vpn’s, but they must still be seperated from each other.
This VPN lab will test intranet and extranet MPLS VPN’s.
The diagram is the same as my last VPN Lab. Also it uses my MPLs topology found over here: http://mellowd.co.uk/ccie/?p=522
This is the lab topology again:
- CPE1 and CPE5 belong to Customer1
- CPE2 and CPE6 belong to Customer2
- Both customers are running OSPF as their IGP’s
- The loopbacks as shown in the topology must be advertised into OSPF. Cutomer1 should be able to ping all loopbacks in their networks and Customer2 should be able to ping everything in theirs.
- Both customers are now running a project together, and need 2 of their offices connected. CPE1 from Customer1 should be able to communicate with CPE6 from Customer2 and vice-versa
- It’s essential that CPE2 and CPE5 are NOT able to get to all loopbacks. ONLY CPE1 and CPE6 should be able to communicate with each other. This new configuration should not break the previous VPN’s in place
- Do this without using any ACL’s, Prefix-lists, Route-maps or the like



Comments