(@SHZ - 0) - MTL-Lab-1
(@SHZ - 0) - MTL-Lab-1
0 PRACTICAL BOOK
MTL-
MTL-Lab-
Lab-1: Enterprise Lab
Topology:
Technologies:
• Service Provider Simulation for Internet access and MPLS L3VPN service
• Multi-Area OSPF, MPLS enabled enterprise
• STP: IEEE, Rapid-PVST,MST
• VTP: Version 2 and 3
• FHRP: HSRP, VRRP, GLBP
• IP SLA and Track
• Port-Security
• DHCP Server, DHCP Relay Agent, DHCP Snooping
• Dynamic ARP Inspection
• Ether-Channel
• IGP: OSPF, IS-IS, EIGRP, RIP
• BGP Route-Reflectors
• NAT
• BGP Route-Reflectors
• Zone-Based Firewall
• Route-Map
• Prefix-List
• Access-List
• Redistribution
• Private VLAN
• DMVPN
Tasks:
Task-1 (Can be done in any order):
Configure the Core layer node IPv4 addresses according to the diagram below
Enable MPLS LDP Session Protection
All interfaces between Core nodes should be L3 Ether-Channels using LACP
Loopback 0 interfaces IP Addressing scheme should be 10.255.255.R#/32
Every Inter-Switch connections must use this IP Addressing Scheme:
10.x.x.R#/24
Configure OSPF and enable OSPF Prefix-Supression on Core nodes
Enable MPLS and LDP and secure LDP sessions using password
“OrhanErgunLLC”
Change OSPF Cost reference bandwidth to 10 Gb/s
OSPF process should not generate Syslog messages for MOSPF Type 6 LSA
Enable Incremental SPF calculation on OSPF process
Enable OSPF TTL Security Check
Set OSPF and LDP router-id on each router to be the IP address of the Loopback 0
interface
No DR/BDR election should be on any Link
Secure the OSPF per interface using MD5 with key-id 1 and password:
“OrhanErgunLLC”
CEF Load sharing should be set to Per Micro-Flow (Including Src, Dst Ports)
Enable SSH version 2 on each node then Test configuration by doing SSH to every
node
Set Enable Secret of “OrhanErgunLLC”, Algorithm type should be sha256
Create a username: “ccie” and secret: “OrhanErgunLLC” and also set algorithm
type: sha256
Solution:
Core-SW-1:
interface Loopback0
ip address 10.255.255.1 255.255.255.255
!
default interface range e0/0-3, e1/0-1
interface range e0/0-1
shutdown
no switchport
channel-protocol lacp
channel-group 12 mode active
no shutdown
!
interface range e0/2-3
shutdown
no switchport
channel-protocol lacp
channel-group 13 mode active
no shutdown
!
interface range e1/0-1
shutdown
no switchport
channel-protocol lacp
channel-group 14 mode active
no shutdown
!
The command channel-protocol lacp does not set Ether-channel negotiation protocol to
LACP, this command only forces the user to only enter LACP Protocol (Correct mode)
for negotiation using command channel-group:
Core-SW-1(config-if)#channel-protocol lacp
Core-SW-1(config-if)#channel-group 12 mode desirable
Command rejected (Channel protocol mismatch for interface Et0/0 in group 12): the interface can
not be added to the channel group
Core-SW-1(config-if)#channel-group 12 mode active
Core-SW-1:
interface Port-channel12
no switchport
ip address 10.0.21.1 255.255.255.0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 OrhanErgunLLC
ip ospf network point-to-point
ip ospf 1000 area 0
mpls ip
no shutdown
!
interface Port-channel13
ip address 10.0.31.1 255.255.255.0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 OrhanErgunLLC
ip ospf network point-to-point
ip ospf 1000 area 0
mpls ip
no shutdown
!
interface Port-channel14
ip address 10.0.41.1 255.255.255.0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 OrhanErgunLLC
ip ospf network point-to-point
ip ospf 1000 area 0
mpls ip
no shutdown
!
Task asks us to make interfaces OSPF Network-Type point to point and also enable
MPLS/LDP on them, this switch does not support mpls ldp autoconfig command under
OSPF process, then we have to use mpls ip command under any interface.
Core-SW-1:
ip access-list standard SUBNET_10
permit 10.0.0.0 0.255.255.255
!
mpls label range 10000 19999
mpls label protocol ldp
mpls ldp password required
mpls ldp password option 1 for SUBNET_10 OrhanErgunLLC
mpls ldp session protection
mpls ldp router-id Loopback0
mpls label range command is an optional command for this task but we set it then
troubleshooting of packet LSP could become easier in the Lab environment.
In order to enable LDP authentication for all neighbors, we use an access list to match
every neighbor’s Loopback 0 interface IP address (Transport address for LDP) and also
force neighbors to only form Secure MD5 authenticated LDP session.
LDP uses Layer 4 (TCP) MD5 authentication:
Core-SW-1:
router ospf 1000
router-id 10.255.255.1
ignore lsa mospf
ispf
log-adjacency-changes detail
auto-cost reference-bandwidth 10000
ttl-security all-interfaces
prefix-suppression
passive-interface default
no passive-interface Port-channel12
no passive-interface Port-channel13
no passive-interface Port-channel14
!
Cisco’s implemention of OSPF on IOS/IOS-XR does not support LSA Type 6 (MOSPF
LSA) then when the router receives an LSA Type 6 update, IOS generates syslog
messages, it is best practice to disable LSA Type 6 syslog message. Think about an
attacker trying to flood many OSPF LSA Type 6 LSUs towards your router!
OSPF TTL Security Check is a security mechanism that protects OSPF against remote
attacks. Indeed OSPF can be attacked by remote hosts because it uses IP to encapsulate
it’s PDUs:
It is almost impossible to remotely attack IS-IS, because it does not use any L3 routed-
protocol for it’s operations, IS-IS is an L2 protocol.
When you enable OSPF TTL Security Check feature, OSPF will generate Packets with IP
TTL of 255 and rejects any received packet with smaller TTL values than a configured
threshold.
By default this command forces OSPF process to only accept directly connected (Link-
Local) received packets. The actual command is ttl-
ttl-security all-
all-interfaces hops 1.
OSPF runs the SPF algorithm to calculate the Shortest Path Tree, it means to find out
how this node can reach to each destination with minimum cost by looking at
bandwidth information.
All OSPF neighbors in one area have the same topological information (same LSA type
1 and type 2), it means they create the same SPT (Shortest Path Tree), every single
change in the network causes all those routers in that area to re-run SPF algorithm.
Running this SPF algorithm is a good thing when there is a change in the topology, but
what if only a leaf node addedd/removed to/from the topology?
There is no need to run Full SPF all the time, because Full SPF run is a resource
intensive task, especially for the CPU usage. OSPF supports a method only to
recalculate the part of the SPT that has changed, it is called iSPF (Incremental SPF).
But should be known that running iSPF increases memory usage, so as usual, as a
design practice we should understand the trade-off here , which is running iSPF can
decrease the CPU usage but also it increases the memory usage.
It is a best practice to use passive-
passive-interface default command then exclude the
interfaces that neighbors are being excpected from. This command prevents Multicast
destined (224.0.0.5) Hello message generation on those interfaces.
Core-SW-1:
hostname Core-SW-1
ip domain-name orhanergun.net
enable algorithm-type sha256 secret OrhanErgunLLC
username ccie algorithm-type sha256 secret OrhanErgunLLC
crypto key generate rsa modulus 1024
ip ssh time-out 60
ip ssh authentication-retries 2
ip ssh version 2
line vty 0 4
login local
transport input ssh
!
Higher the modulus number, Longer the key length and longer the time to generate
RSA key and also more security.
By default IOS enables SSH 1.99 when we generate an RSA key, means it supports both
version 1 and 2. It is a good practice to change the version to 2 only by using ip ssh
version 2 command.
By entering ip ssh authentication-
authentication-retries 2 command, session will be closed if user
enters wrong password for more than 3 times.
ip ssh time-
time-out 60 Configures the wait time to 60 seconds for a response from the client
when the SSH server attempts to negotiate a session key and encryption method with a
connecting client.
Task also asks us to change CEF load sharing algorithm to Per-MicroFlow it means
algorithm should consider Src, Dst IP addresses as well as Src, Dst Port numbers.
Core-SW-1:
ip cef load-sharing algorithm include-ports source destination
Core-SW-2:
hostname Core-SW-2
enable secret 8 $8$qrvK7qOfUAK8cR$AyzNf8DV1Ifjl28oSLtuH4OLJpYdYsaRYbAvCytvXFw
username ccie secret 8 $8$BbZoIfDWgfpL.h$MOXoPRFZbiuVqm6Yae98rKkg.r.U81o1Wy.5hEzaStk
clock timezone +0330 3 30
ip domain-name orhanergun.net
ip cef load-sharing algorithm include-ports source destination
mpls label range 20000 29999
mpls label protocol ldp
mpls ldp password required
mpls ldp password option 1 for SUBNET_10 7 022916530A082A334B5B07352934
mpls ldp session protection
!
interface Loopback0
ip address 10.255.255.2 255.255.255.255
ip ospf 1000 area 0
!
interface Port-channel21
no switchport
ip address 10.0.21.2 255.255.255.0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 OrhanErgunLLC
ip ospf network point-to-point
ip ospf 1000 area 0
mpls ip
!
interface Port-channel23
no switchport
ip address 10.0.32.2 255.255.255.0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 OrhanErgunLLC
ip ospf network point-to-point
ip ospf 1000 area 0
mpls ip
!
interface Port-channel24
no switchport
ip address 10.0.42.2 255.255.255.0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 OrhanErgunLLC
ip ospf network point-to-point
ip ospf 1000 area 0
mpls ip
!
interface Ethernet0/0
no switchport
no ip address
channel-protocol lacp
channel-group 21 mode active
!
interface Ethernet0/1
no switchport
no ip address
channel-protocol lacp
channel-group 21 mode active
!
interface Ethernet0/2
no switchport
no ip address
channel-protocol lacp
channel-group 24 mode active
!
interface Ethernet0/3
no switchport
no ip address
channel-protocol lacp
channel-group 24 mode active
!
interface Ethernet1/0
no switchport
no ip address
channel-protocol lacp
channel-group 23 mode active
!
interface Ethernet1/1
no switchport
no ip address
channel-protocol lacp
channel-group 23 mode active
!
router ospf 1000
router-id 10.255.255.2
ignore lsa mospf
ispf
log-adjacency-changes detail
auto-cost reference-bandwidth 10000
ttl-security all-interfaces
prefix-suppression
passive-interface default
no passive-interface Port-channel21
no passive-interface Port-channel23
no passive-interface Port-channel24
!
crypto key generate rsa modulus 1024
ip ssh time-out 60
ip ssh authentication-retries 2
ip ssh version 2
ip access-list standard SUBNET_10
permit 10.0.0.0 0.255.255.255
!
mpls ldp router-id Loopback0
line vty 0 4
login local
transport input ssh
!
Core-SW-3:
hostname Core-SW-3
enable secret 8 $8$lLlQ1l7EZREZah$/SyYyvuuyvhuxiLkoGqUZXSUpGKPImOxlTPEmcSWitM
username ccie secret 8 $8$ij8b2/D6/by62B$rwG5EOIEKQEmFyd0KWFcnQV318Ns/HvxHO0Ki4ZoOig
ip domain-name orhanergun.net
ip cef load-sharing algorithm include-ports source destination
mpls label range 30000 39999
mpls label protocol ldp
mpls ldp password required
mpls ldp password option 1 for SUBNET_10 7 022916530A082A334B5B07352934
mpls ldp session protection
!
interface Loopback0
ip address 10.255.255.3 255.255.255.255
ip ospf 1000 area 0
!
interface Port-channel31
no switchport
ip address 10.0.31.3 255.255.255.0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 OrhanErgunLLC
ip ospf network point-to-point
ip ospf 1000 area 0
mpls ip
!
interface Port-channel32
no switchport
ip address 10.0.32.3 255.255.255.0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 OrhanErgunLLC
ip ospf network point-to-point
ip ospf 1000 area 0
mpls ip
!
interface Port-channel34
no switchport
ip address 10.0.43.3 255.255.255.0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 OrhanErgunLLC
ip ospf network point-to-point
ip ospf 1000 area 0
mpls ip
!
interface Ethernet0/0
no switchport
no ip address
channel-protocol lacp
channel-group 34 mode active
!
interface Ethernet0/1
no switchport
no ip address
channel-protocol lacp
channel-group 34 mode active
!
interface Ethernet0/2
no switchport
no ip address
channel-protocol lacp
channel-group 31 mode active
!
interface Ethernet0/3
no switchport
no ip address
channel-protocol lacp
channel-group 31 mode active
!
interface Ethernet1/0
no switchport
no ip address
channel-protocol lacp
channel-group 32 mode active
!
interface Ethernet1/1
no switchport
no ip address
channel-protocol lacp
channel-group 32 mode active
!
router ospf 1000
router-id 10.255.255.3
ignore lsa mospf
ispf
log-adjacency-changes detail
auto-cost reference-bandwidth 10000
ttl-security all-interfaces
prefix-suppression
passive-interface default
no passive-interface Port-channel31
no passive-interface Port-channel32
no passive-interface Port-channel34
!
crypto key generate rsa modulus 1024
ip ssh time-out 60
ip ssh authentication-retries 2
ip ssh version 2
!
ip access-list standard SUBNET_10
permit 10.0.0.0 0.255.255.255
!
mpls ldp router-id Loopback0
!
line vty 0 4
login local
transport input ssh
!
Core-SW-4:
hostname Core-SW-4
enable secret 8 $8$D9Plgorbii99Hx$4PJH6CpxKTb1X.flsIn.2cDikKd51wXDQgU9/T1M4oI
username ccie secret 8 $8$KEosyCvZTBtf7x$hYUAnOFF1J7rGXwaIsDgj7CW4aC8fPMgpW1t0j9X8QM
!
ip domain-name orhanergun.net
ip cef load-sharing algorithm include-ports source destination
mpls label range 40000 49999
mpls label protocol ldp
mpls ldp password required
mpls ldp password option 1 for SUBNET_10 7 072033444F073C17100705202809
mpls ldp session protection
!
interface Loopback0
ip address 10.255.255.4 255.255.255.255
ip ospf 1000 area 0
!
interface Port-channel41
no switchport
ip address 10.0.41.4 255.255.255.0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 OrhanErgunLLC
ip ospf network point-to-point
ip ospf 1000 area 0
mpls ip
!
interface Port-channel42
no switchport
ip address 10.0.42.4 255.255.255.0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 OrhanErgunLLC
ip ospf network point-to-point
ip ospf 1000 area 0
mpls ip
!
interface Port-channel43
no switchport
ip address 10.0.43.4 255.255.255.0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 OrhanErgunLLC
ip ospf network point-to-point
ip ospf 1000 area 0
mpls ip
!
interface Ethernet0/0
no switchport
no ip address
channel-protocol lacp
channel-group 43 mode active
!
interface Ethernet0/1
no switchport
no ip address
channel-protocol lacp
channel-group 43 mode active
!
interface Ethernet0/2
no switchport
no ip address
channel-protocol lacp
channel-group 42 mode active
!
interface Ethernet0/3
no switchport
no ip address
channel-protocol lacp
channel-group 42 mode active
!
interface Ethernet1/0
no switchport
no ip address
channel-protocol lacp
channel-group 41 mode active
!
interface Ethernet1/1
no switchport
no ip address
channel-protocol lacp
channel-group 41 mode active
!
router ospf 1000
router-id 10.255.255.4
ignore lsa mospf
ispf
log-adjacency-changes detail
auto-cost reference-bandwidth 10000
ttl-security all-interfaces
prefix-suppression
passive-interface default
no passive-interface Port-channel41
no passive-interface Port-channel42
no passive-interface Port-channel43
!
crypto key generate rsa modulus 1024
ip ssh time-out 60
ip ssh authentication-retries 2
ip ssh version 2
!
ip access-list standard SUBNET_10
permit 10.0.0.0 0.255.255.255
!
mpls ldp router-id Loopback0
line vty 0 4
login local
transport input ssh
!
Verification:
LDP uses Loopback 0 to form TCP session, because of LDP router-id of every router,
Cisco IOS/IOS-XR uses router-id as it’s transport address.
RU means the Type of port channel is R: Layer3, and it is being used (U).
P means that port is already boundled in port-channel.
The negotiation protocol is LACP (IEEE 802.3ad).
Attached via Interface Enable means: we have added this interface to OSPF process
Area 0 using ip ospf 1000 area 0 interface command.
Neighbor Count shows All 2WAY neighbors, but Adjacent neighbor count shows the
neighbors that we are Fully adjacent with them or in other words we Exchanged full
Link-State database with them. In this situation both of those values are 1 because only
2 neighbors can be exist on Point-To-Point Links and the state would be Full and also
no DR/BDR election.
Core-SW-3>en
Password:
Core-SW-3#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Core-SW-3(config)#
Core-SW-3(config)#do sh ssh
Connection Version Mode Encryption Hmac State Username
0 2.0 IN aes128-ctr hmac-sha1 Session started ccie
0 2.0 OUT aes128-ctr hmac-sha1 Session started ccie
Core-SW-3(config)#
Core-SW-3(config)#do sh user
Line User Host(s) Idle Location
0 con 0 idle 00:22:14
* 2 vty 0 ccie idle 00:00:00 10.0.31.1
Core-SW-4>en
Password:
Core-SW-4#show user
Line User Host(s) Idle Location
0 con 0 idle 00:21:41
* 2 vty 0 ccie idle 00:00:00 10.255.255.1
Core-SW-4#show ip ssh | include SSH|version|timeout
SSH Enabled - version 2.0
Authentication timeout: 60 secs; Authentication retries: 2
Solution:
Core-SW-3:
interface Ethernet1/2
no switchport
ip address 10.0.53.3 255.255.255.0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 OrhanErgunLLC
ip ospf network point-to-point
ip ospf 1000 area 0
mpls ip
!
interface Ethernet1/3
no switchport
ip address 10.0.63.3 255.255.255.0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 OrhanErgunLLC
ip ospf network point-to-point
ip ospf 1000 area 0
mpls ip
!
router ospf 1000
no passive-interface Ethernet1/2
no passive-interface Ethernet1/3
!
Core-SW-4:
interface Ethernet1/2
no switchport
ip address 10.0.64.4 255.255.255.0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 7 000A1E071C52
ip ospf network point-to-point
ip ospf 1000 area 0
mpls ip
!
interface Ethernet1/3
no switchport
ip address 10.0.54.4 255.255.255.0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 7 000A1E071C52
ip ospf network point-to-point
ip ospf 1000 area 0
mpls ip
!
router ospf 1000
no passive-interface Ethernet1/2
no passive-interface Ethernet1/3
!
Agg-SW-5:
interface Loopback0
ip address 10.255.255.5 255.255.255.255
ip ospf 1000 area 0
!
interface Ethernet1/2
no switchport
ip address 10.0.53.5 255.255.255.0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 OrhanErgunLLC
ip ospf network point-to-point
ip ospf 1000 area 0
mpls ip
!
interface Ethernet1/3
no switchport
ip address 10.0.54.5 255.255.255.0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 OrhanErgunLLC
ip ospf network point-to-point
ip ospf 1000 area 0
mpls ip
!
ip access-list standard SUBNET_10
permit 10.0.0.0 0.255.255.255
!
mpls label range 50000 59999
mpls label protocol ldp
mpls ldp password required
mpls ldp password option 1 for SUBNET_10 OrhanErgunLLC
mpls ldp session protection
mpls ldp router-id Loopback0
!
router ospf 1000
router-id 10.255.255.5
ignore lsa mospf
ispf
log-adjacency-changes detail
auto-cost reference-bandwidth 10000
ttl-security all-interfaces
area 1 range 10.10.0.0 255.255.0.0
passive-interface default
no passive-interface Ethernet1/2
no passive-interface Ethernet1/3
!
Agg-SW-6:
interface Loopback0
ip address 10.255.255.6 255.255.255.255
ip ospf 1000 area 0
!
interface Ethernet1/2
no switchport
ip address 10.0.64.6 255.255.255.0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 7 022916530A082A334B5B07352934
ip ospf network point-to-point
ip ospf 1000 area 0
mpls ip
!
interface Ethernet1/3
no switchport
ip address 10.0.63.6 255.255.255.0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 7 032B49030701045E491C17293B31
ip ospf network point-to-point
ip ospf 1000 area 0
mpls ip
!
router ospf 1000
router-id 10.255.255.6
ignore lsa mospf
ispf
log-adjacency-changes detail
auto-cost reference-bandwidth 10000
ttl-security all-interfaces
area 1 range 10.10.0.0 255.255.0.0
passive-interface default
no passive-interface Ethernet1/2
no passive-interface Ethernet1/3
!
ip access-list standard SUBNET_10
permit 10.0.0.0 0.255.255.255
!
mpls label range 60000 69999
mpls label protocol ldp
mpls ldp password required
mpls ldp password option 1 for SUBNET_10 7 022916530A082A334B5B07352934
mpls ldp session protection
mpls ldp router-id Loopback0
Agg-SW-5:
enable algorithm-type sha256 secret OrhanErgunLLC
username ccie algorithm-type sha256 secret OrhanErgunLLC
ip domain-name orhanergun.net
hostname Agg-SW-5
crypto key generate rsa modu 1024
ip ssh time-out 60
ip ssh authentication-retries 2
ip ssh version 2
!
line vty 0 4
login local
transport input ssh
!
Agg-SW-6:
enable algorithm-type sha256 secret OrhanErgunLLC
username ccie algorithm-type sha256 secret OrhanErgunLLC
ip domain-name orhanergun.net
hostname Agg-SW-6
crypto key generate rsa modu 1024
ip ssh time-out 60
ip ssh authentication-retries 2
ip ssh version 2
!
line vty 0 4
login local
transport input ssh
!
Agg-SW-5:
vlan 10,20
exit
vlan 999
name DUMMY-VLAN
exit
!
interface range e0/0-2
switchport trunk allowed vlan 10,20
switchport trunk encapsulation dot1q
switchport trunk native vlan 999
switchport mode trunk
switchport nonegotiate
!
vtp version 2
vtp domain ccie
vtp password OrhanErgunLLC
Agg-SW-6:
vtp version 2
vtp domain ccie
vtp password OrhanErgunLLC
!
interface range e0/0-2
switchport trunk allowed vlan 10,20
switchport trunk encapsulation dot1q
switchport trunk native vlan 999
switchport mode trunk
switchport nonegotiate
!
We just created vlan 999, what is the purpose of this VLAN? We named it DUMMY-
VLAN, it is not going to be used anywhere, just a dummy vlan. It is a best practice to
change Trunk link’s Native-VLAN to something unused else than default vlan 1.
It prevents VLAN-Hopping attacks. But we don’t even allow that vlan to be functional
on trunk link by using switchport trunk allowed vlan 10,20 command, this is more
secure then.
The task asks us to disable DTP (Dynamic Trunking Protocol) on interfaces, the
command switchport nonegotiage disables DTP on the link. It is also a best practice to
make static trunk ports on inter-switch connections not DTP negotiated ports, an
attacker may try to form Trunk port using his/her machine (Like Kali Linux) and get all
your VLAN data!
VTP version 2 does not support encrypted passwords, it is saved in plain text:
Agg-SW-5(config)#vtp password OrhanErgunLLC hidden
Device is operating in VTP version 2. hidden option is allowed from VTP version 3 only.
Agg-SW-5(config)#vtp password OrhanErgunLLC
Agg-SW-5(config)#do sh vtp password
VTP Password: OrhanErgunLLC
Acc-SW-19:
vtp version 2
vtp domain ccie
vtp mode client
vtp password OrhanErgunLLC
!
interface range e0/0-1
switchport trunk allowed vlan 10,20
switchport trunk encapsulation dot1q
switchport trunk native vlan 999
switchport mode trunk
switchport nonegotiate
!
Acc-SW-20:
vtp version 2
vtp domain ccie
vtp mode client
vtp password OrhanErgunLLC
!
interface range e0/0-1
switchport trunk allowed vlan 10,20
switchport trunk encapsulation dot1q
switchport trunk native vlan 999
switchport mode trunk
switchport nonegotiate
!
3 Switches must get VLAN information from Agg-SW-5 using VTP, then we just
configured vlan 10,20,999 on that switch:
Verification:
Feature VLAN:
--------------
VTP Operating Mode :
Client
Maximum VLANs supported locally :
1005
Number of existing VLANs 8:
Configuration Revision 5:
MD5 digest :
0xAC 0x1A 0xB9 0x0A 0xBA 0x11 0x87 0xD6
0x18 0x76 0x51 0x50 0xDB 0xEF 0x25 0x76
Acc-SW-19(config)#do sh vtp password
VTP Password: OrhanErgunLLC
Feature VLAN:
--------------
VTP Operating Mode : Server
Maximum VLANs supported locally : 1005
Number of existing VLANs : 8
Configuration Revision : 5
MD5 digest : 0xAC 0x1A 0xB9 0x0A 0xBA 0x11 0x87 0xD6
0x18 0x76 0x51 0x50 0xDB 0xEF 0x25 0x76
Agg-SW-5:
spanning-tree vlan 10 root primary diameter 2
spanning-tree vlan 20 root secondary diameter 2
spanning-tree backbonefast
!
Agg-SW-6:
spanning-tree vlan 20 root primary diameter 2
spanning-tree vlan 10 root secondary diameter 2
spanning-tree backbonefast
!
The default STP mode is ieee or PVST+ (Cisco proprietary edition of 802.1D, that is
VLAN aware and generates BPDUs per VLAN).
is a macro that looks at current root bridge priority
spanning-tree vlan [vlan_number] root
and lowers the value depending on it. In this scenario all bridge priorities are default
32768, the macro lowers the priority of STP to 24576 for primary root bridge and
28672 for secondary root bridge.
The diameter argument tunes the timer values, in this scenario we only have
Distribution and Access Layer switches, it means all switches are farthest from root
bridge maximum 2 hops, thus we set diameter value of 2. Then Macro automatically
adds forward-time 7 and max-age 10 to the running-config. The default values were 15
and 20 respectively.
Verification:
Agg-SW-5(config)#do sh spann
VLAN0010
Spanning tree enabled protocol ieee
Root ID Priority 24586
Address aabb.cc00.0300
This bridge is the root
Hello Time 2 sec Max Age 10 sec Forward Delay 7 sec
VLAN0020
Spanning tree enabled protocol ieee
Root ID Priority 24596
Address aabb.cc00.0400
Cost 100
Port 3 (Ethernet0/2)
Hello Time 2 sec Max Age 10 sec Forward Delay 7 sec
Agg-SW-6#show spann
VLAN0010
Spanning tree enabled protocol ieee
Root ID Priority 24586
Address aabb.cc00.0300
Cost 100
Port 3 (Ethernet0/2)
Hello Time 2 sec Max Age 10 sec Forward Delay 7 sec
VLAN0020
Spanning tree enabled protocol ieee
Root ID Priority 24596
Address aabb.cc00.0400
This bridge is the root
Hello Time 2 sec Max Age 10 sec Forward Delay 7 sec
Acc-SW-19(config)#do sh spann
VLAN0010
Spanning tree enabled protocol ieee
Root ID Priority 24586
Address aabb.cc00.0300
Cost 100
Port 1 (Ethernet0/0)
Hello Time 2 sec Max Age 10 sec Forward Delay 7 sec
VLAN0020
Spanning tree enabled protocol ieee
Root ID Priority 24596
Address aabb.cc00.0400
Cost 100
Port 2 (Ethernet0/1)
Hello Time 2 sec Max Age 10 sec Forward Delay 7 sec
Acc-SW-20(config)#do sh spann
VLAN0010
Spanning tree enabled protocol ieee
Root ID Priority 24586
Address aabb.cc00.0300
Cost 100
Port 2 (Ethernet0/1)
Hello Time 2 sec Max Age 10 sec Forward Delay 7 sec
VLAN0020
Spanning tree enabled protocol ieee
Root ID Priority 24596
Address aabb.cc00.0400
Cost 100
Port 1 (Ethernet0/0)
Hello Time 2 sec Max Age 10 sec Forward Delay 7 sec
Both Access Switch L2 links are in forwarding state but each of them for a specific
VLAN. This is the power of Per-VLAN STP. The other links stay at blocking state untill
the main link fails.
The other design point here is: there should be an L2 Link between Distribution
switches because VLANs span on both access switches:
Distribution switches must act as a router for Inter-VLAN traffic routing, this job is
done using SVIs on those switches and VLAN10 and VLAN20 subnets should be
advertised into OSPF:
Agg-SW-5:
ip routing
interface Vlan10
ip address 10.10.10.5 255.255.255.0
ip ospf 1000 area 1
!
interface Vlan20
ip address 10.10.20.5 255.255.255.0
ip ospf 1000 area 1
!
Agg-SW-6:
ip routing
interface Vlan10
ip address 10.10.10.6 255.255.255.0
ip ospf 1000 area 1
!
interface Vlan20
ip address 10.10.20.6 255.255.255.0
ip ospf 1000 area 1
!
The task asks us to configure HSRP as a FHRP, thus hosts can set a Virtual-IP address as
their default gateway, this provides redundancy for the First Hop Gateway. Also the
task asks us to use IP SLA and Tracks for hsrp priority decrement.
Agg-SW-5:
ip sla 10
icmp-echo 10.255.255.1 source-interface Ethernet1/2
verify-data
frequency 5
ip sla schedule 10 life forever start-time now
ip sla 11
icmp-echo 10.255.255.2 source-interface Ethernet1/3
frequency 5
ip sla schedule 11 life forever start-time now
!
track 10 list boolean and
object 11
object 12
!
track 11 ip sla 10 reachability
!
track 12 ip sla 11 reachability
!
interface Vlan10
standby 10 ip 10.10.10.254
standby 10 priority 110
standby 10 preempt
standby 10 track 10 decrement 50
!
interface Vlan20
standby 20 ip 10.10.20.254
standby 20 preempt
standby 20 track 10 decrement 50
!
Agg-SW-6:
ip sla 20
icmp-echo 10.255.255.3 source-interface Ethernet1/2
verify-data
frequency 5
ip sla schedule 20 life forever start-time now
ip sla 21
icmp-echo 10.255.255.4 source-interface Ethernet1/3
frequency 5
ip sla schedule 21 life forever start-time now
!
track 20 list boolean and
object 21
object 22
!
track 21 ip sla 20 reachability
!
track 22 ip sla 21 reachability
!
interface Vlan10
standby 10 ip 10.10.10.254
standby 10 preempt
standby 10 track 20 decrement 50
!
interface Vlan20
standby 20 ip 10.10.20.254
standby 20 priority 110
standby 20 preempt
standby 20 track 20 decrement 50
!
We defined 2 IP SLA objects on both Distribution switches to check the Core router’s
Loopback 0 reachability. Then we used tracks to track those ip sla objects reachability
state. The tricky thing that we have done here is using a blooean track to also track
both track objects we created before! If any of those tracks fails the state of the boolean
track would be DOWN thus HSRP priority would be decremented by 50 and the other
Distribution switch becomes the Active router for the specific VLAN.
Preemption is not enabled by default in HSRP, we should enable it explicitly so the
standby router can become active as soon as the Active router’s priority drops by 50.
Verification:
Agg-SW-5(config)#do sh standby
Vlan10 - Group 10
State is Active
2 state changes, last state change 1d04h
Virtual IP address is 10.10.10.254
Active virtual MAC address is 0000.0c07.ac0a (MAC In Use)
Local virtual MAC address is 0000.0c07.ac0a (v1 default)
Hello time 3 sec, hold time 10 sec
Next hello sent in 2.336 secs
Preemption enabled
Active router is local
Standby router is 10.10.10.6, priority 100 (expires in 9.392 sec)
Priority 110 (configured 110)
Track object 10 state Up decrement 50
Group name is "hsrp-Vl10-10" (default)
Vlan20 - Group 20
State is Standby
1 state change, last state change 1d04h
Virtual IP address is 10.10.20.254
Active virtual MAC address is 0000.0c07.ac14 (MAC Not In Use)
Local virtual MAC address is 0000.0c07.ac14 (v1 default)
Hello time 3 sec, hold time 10 sec
Next hello sent in 2.272 secs
Preemption enabled
Active router is 10.10.20.6, priority 110 (expires in 7.744 sec)
Standby router is local
Priority 100 (default 100)
Track object 10 state Up decrement 50
Group name is "hsrp-Vl20-20" (default)
Agg-SW-6(config)#do sh standby
Vlan10 - Group 10
State is Standby
1 state change, last state change 1d04h
Virtual IP address is 10.10.10.254
Active virtual MAC address is 0000.0c07.ac0a (MAC Not In Use)
Local virtual MAC address is 0000.0c07.ac0a (v1 default)
Hello time 3 sec, hold time 10 sec
Next hello sent in 0.272 secs
Preemption enabled
Active router is 10.10.10.5, priority 110 (expires in 9.312 sec)
Standby router is local
Priority 100 (default 100)
Track object 20 state Up decrement 50
Group name is "hsrp-Vl10-10" (default)
Vlan20 - Group 20
State is Active
2 state changes, last state change 1d04h
Virtual IP address is 10.10.20.254
Active virtual MAC address is 0000.0c07.ac14 (MAC In Use)
Local virtual MAC address is 0000.0c07.ac14 (v1 default)
Hello time 3 sec, hold time 10 sec
Next hello sent in 0.960 secs
Preemption enabled
Active router is local
Standby router is 10.10.20.5, priority 100 (expires in 10.192 sec)
Priority 110 (configured 110)
Track object 20 state Up decrement 50
Group name is "hsrp-Vl20-20" (default)
Track 10
List boolean and
Boolean AND is Up
4 changes, last change 1d05h
object 11 Up
object 12 Up
Tracked by:
HSRP Vlan10 10
HSRP Vlan20 20
Track 11
IP SLA 10 reachability
Reachability is Up
4 changes, last change 1d05h
Latest operation return code: OK
Latest RTT (millisecs) 2
Track 12
IP SLA 11 reachability
Reachability is Up
4 changes, last change 1d05h
Latest operation return code: OK
Latest RTT (millisecs) 1
Agg-SW-6(config)#do sh track
Track 20
List boolean and
Boolean AND is Up
4 changes, last change 1d05h
object 21 Up
object 22 Up
Tracked by:
HSRP Vlan10 10
HSRP Vlan20 20
Track 21
IP SLA 20 reachability
Reachability is Up
4 changes, last change 1d05h
Latest operation return code: OK
Latest RTT (millisecs) 1
Track 22
IP SLA 21 reachability
Reachability is Up
4 changes, last change 1d05h
Latest operation return code: OK
Latest RTT (millisecs) 2
Let’s shutdown one interface of an Aggregation Switch and see what happens:
Agg-SW-5(config)#int e1/2
Agg-SW-5(config-if)#shutdown
Agg-SW-5(config-if)#
*Apr 9 20:07:49.273: %LDP-5-SP: 10.255.255.3:0: session hold up initiated
*Apr 9 20:07:49.274: %OSPF-5-ADJCHG: Process 1000, Nbr 10.255.255.3 on Ethernet1/2 from FULL to DOWN, Neighbor
Down: Interface down or detached
Agg-SW-5(config-if)#
*Apr 9 20:07:51.267: %LINK-5-CHANGED: Interface Ethernet1/2, changed state to administratively down
*Apr 9 20:07:52.268: %LINEPROTO-5-UPDOWN: Line protocol on Interface Ethernet1/2, changed state to down
Agg-SW-5(config-if)#
*Apr 9 20:07:57.037: %TRACK-6-STATE: 11 ip sla 10 reachability Up -> Down
*Apr 9 20:07:57.596: %TRACK-6-STATE: 10 list boolean and Up -> Down
Agg-SW-5(config-if)#
*Apr 9 20:07:59.724: %HSRP-5-STATECHANGE: Vlan10 Grp 10 state Active -> Speak
Agg-SW-5(config-if)#
*Apr 9 20:08:02.041: %TRACK-6-STATE: 12 ip sla 11 reachability Up -> Down
Agg-SW-5(config-if)#
*Apr 9 20:08:10.317: %HSRP-5-STATECHANGE: Vlan10 Grp 10 state Speak -> Standby
Agg-SW-5(config-if)#do sh standby
Vlan10 - Group 10
State is Standby
4 state changes, last state change 00:00:43
Virtual IP address is 10.10.10.254
Active virtual MAC address is 0000.0c07.ac0a (MAC Not In Use)
Local virtual MAC address is 0000.0c07.ac0a (v1 default)
Hello time 3 sec, hold time 10 sec
Next hello sent in 2.160 secs
Preemption enabled
Active router is 10.10.10.6, priority 100 (expires in 8.848 sec)
Standby router is local
Priority 60 (configured 110)
Track object 10 state Down decrement 50
Group name is "hsrp-Vl10-10" (default)
Vlan20 - Group 20
State is Standby
1 state change, last state change 1d04h
Virtual IP address is 10.10.20.254
Active virtual MAC address is 0000.0c07.ac14 (MAC Not In Use)
Local virtual MAC address is 0000.0c07.ac14 (v1 default)
Hello time 3 sec, hold time 10 sec
Next hello sent in 1.056 secs
Preemption enabled
Active router is 10.10.20.6, priority 110 (expires in 8.960 sec)
Standby router is local
Priority 50 (default 100)
Track object 10 state Down decrement 50
Group name is "hsrp-Vl20-20" (default)
Agg-SW-5(config-if)#do sh track
Track 10
List boolean and
Boolean AND is Down
7 changes, last change 00:00:28
object 11 Down
object 12 Up
Tracked by:
HSRP Vlan10 10
HSRP Vlan20 20
Track 11
IP SLA 10 reachability
Reachability is Down
7 changes, last change 00:00:29
Latest operation return code: Timeout
Track 12
IP SLA 11 reachability
Reachability is Up
6 changes, last change 00:03:29
Latest operation return code: OK
If we shutdown one uplink interface, the Distribution Layer Switch looses it’s
connection to the core using that interface then IP SLA object returns DOWN code to
the Object and because of AND operation of the Boolean Object, the state of the boolean
object becomes Down, this results HSRP Priority decrementation.
Acc-SW-19:
interface range Ethernet0/2-3
switchport access vlan 10
switchport mode access
switchport nonegotiate
switchport port-security violation restrict
switchport port-security mac-address sticky
switchport port-security
spanning-tree portfast edge
!
interface Ethernet1/0
switchport access vlan 20
switchport mode access
switchport nonegotiate
switchport port-security violation restrict
switchport port-security mac-address sticky
switchport port-security
spanning-tree portfast edge
!
Acc-SW-20:
interface Ethernet0/2
switchport access vlan 20
switchport mode access
switchport nonegotiate
switchport port-security violation restrict
switchport port-security mac-address sticky
switchport port-security
spanning-tree portfast edge
!
interface Ethernet0/3
switchport access vlan 10
switchport mode access
switchport nonegotiate
switchport port-security violation restrict
switchport port-security mac-address sticky
switchport port-security
spanning-tree portfast edge
!
Port-security is a feature that we can apply security limitations to the port. By enabling
this feature the port limits the number of learned MAC addresses to 1, if more MAC
addresses appear on this port it is going to be shutdown by default. We changed this
default behavior using switchport port-
port-security violation command. Restrict mode does
not shutdown the port in the case of violation, instead it prevents all the other hosts
than the current one to communicate using this port, It blocks all incomming frames
from those hosts.
PC44(config-if)#mac-address 0000.4444.4444
Acc-SW-19#
*Apr 11 15:26:16.638: %PORT_SECURITY-2-PSECURE_VIOLATION: Security violation occurred, caused by MAC address
0000.4444.4444 on port Ethernet0/2.
When we change MAC address of the PC44 e0/0 interface, syslog messages are being
generated due to the violation. The protect option does not generate syslog messages.
Acc-SW-19#show port-security
Secure Port MaxSecureAddr CurrentAddr SecurityViolation Security Action
(Count) (Count) (Count)
---------------------------------------------------------------------------
Et0/2 1 1 61 Restrict
Et0/3 1 1 0 Restrict
Et1/0 1 1 0 Restrict
---------------------------------------------------------------------------
If we change the violation action to shutdown, the port is going to be error disabled as
soon as violation accurs:
Acc-SW-19(config-if)#do sh port-security
Secure Port MaxSecureAddr CurrentAddr SecurityViolation Security Action
(Count) (Count) (Count)
---------------------------------------------------------------------------
Et0/2 1 1 79 Shutdown
Et0/3 1 1 0 Restrict
Et1/0 1 1 0 Restrict
---------------------------------------------------------------------------
Total Addresses in System (excluding one mac per port) : 0
Max Addresses limit in System (excluding one mac per port) : 4096
Acc-SW-19(config-if)#int e0/2
Acc-SW-19(config-if)#shutdown
Acc-SW-19(config-if)#no shutdown
Acc-SW-19(config-if)#
*Apr 11 15:39:34.273: %LINK-5-CHANGED: Interface Ethernet0/2, changed state to administratively down
Acc-SW-19(config-if)#
*Apr 11 15:39:36.638: %PM-4-ERR_DISABLE: psecure-violation error detected on Et0/2, putting Et0/2 in err-disable state
Acc-SW-19(config-if)#
*Apr 11 15:39:36.638: %PORT_SECURITY-2-PSECURE_VIOLATION: Security violation occurred, caused by MAC address
0000.4444.4444 on port Ethernet0/2.
Acc-SW-19(config-if)#
*Apr 11 15:39:36.855: %LINK-3-UPDOWN: Interface Ethernet0/2, changed state to down
As soon as the port comes up, it goes down again, because the host is violating using
the static MAC address we configured on the node.
There is a better solution, indeed an automatic way to bring the port up again:
We enabled errdisable recovery feature for port-security violation, it tracks the error
disabled interface and brings it back to up state after 30 seconds.
The MAC addresses learned by Switch are going to be timed out after a while, by
default 5 minutes or 300 seconds:
Acc-SW-19#show mac address-table aging-time | include Global
Global Aging Time: 300
After 5 minutes of being silent, the host can continue commuication using it’s new MAC
address as the Frame Src MAC address.
We can bind a MAC address statically to the specific port, then even it ages out from the
MAC address table, the host cannot use another MAC address than the static one for the
communication:
PC44(config-if)#mac-address 0000.6666.6666
Acc-SW-19(config-if)#
*Apr 11 16:31:16.638: %PM-4-ERR_DISABLE: psecure-violation error detected on Et0/2, putting Et0/2 in err-disable state
Acc-SW-19(config-if)#
*Apr 11 16:31:16.638: %PORT_SECURITY-2-PSECURE_VIOLATION: Security violation occurred, caused by MAC address
0000.6666.6666 on port Ethernet0/2.
*Apr 11 16:31:17.642: %LINEPROTO-5-UPDOWN: Line protocol on Interface Ethernet0/2, changed state to down
Acc-SW-19(config-if)#
*Apr 11 16:31:18.642: %LINK-3-UPDOWN: Interface Ethernet0/2, changed state to down
There is another option of adding Static MAC addresses but actually in a dynamic way!
Acc-SW-19(config-if)#int e0/2
Acc-SW-19(config-if)#switchport port-security mac sticky
Acc-SW-19(config-if)#do sh run int e0/2
Building configuration...
All dynamic learned MAC addresses are going to be added to the Running-Config not
the Startup config, you must write the running-config to the startup-config in order to
keep sticky learned MAC addresses on the switch after a reboot.
This feature is very useful during the first time boot up of the enterprise network.
When network design, implementation and also configuration is done, the network
engineer can collect all the MAC addresses of the hosts connecting to the access layer
switches and make them static entries using this feature.
We also enabled the PortFast feature of the STP on host facing ports. By enabling this
feature the port immediately goes to forwarding state instead of going through
LIS/LRN:
Acc-SW-19(config-if)#int e0/2
Acc-SW-19(config-if)#no spanning-tree portfast edge
Acc-SW-19(config-if)#do debug spann event
Spanning Tree event debugging is on
Acc-SW-19(config-if)#shutdown
Acc-SW-19(config-if)#
*Apr 11 16:59:45.002: STP: VLAN0010 sent Topology Change Notice on Et0/0
*Apr 11 16:59:45.002: STP[10]: Generating TC trap for port Ethernet0/2
Acc-SW-19(config-if)#
*Apr 11 16:59:47.004: %LINK-5-CHANGED: Interface Ethernet0/2, changed state to administratively down
*Apr 11 16:59:48.005: %LINEPROTO-5-UPDOWN: Line protocol on Interface Ethernet0/2, changed state to down
Acc-SW-19(config-if)#spanning-tree portfast edge
%Warning: portfast should only be enabled on ports connected to a single
host. Connecting hubs, concentrators, switches, bridges, etc... to this
interface when portfast is enabled, can cause temporary bridging loops.
Use with CAUTION
Enabling PortFast feature does not mean that STP BPDUs are going to be suppressed,
switch still continues to generate STP BPDUs on those interfaces:
Acc-SW-19#show spanning-tree interface e0/2 portfast
VLAN0010 enabled
Acc-SW-19#show spanning-tree interface e0/2
The switch is trying to talk to another switches even on PortFast enabled access mode
interfaces! We can use a feature called BPDUGuard to detect STP talking switches on
PortFast Enabled interfaces:
Acc-SW-19(config)#int e0/2
Acc-SW-19(config-if)#spanning-tree bpduguard enable
PC44(config-if)#bridge irb
PC44(config)#bridge 1 protocol ieee
PC44(config)#int e0/0
PC44(config-if)#bridge-group 1
PC44(config-if)#shutdown
PC44(config-if)#no sh
PC44(config-if)#no shutdown
Acc-SW-19(config-if)#
*Apr 11 17:24:11.837: %SPANTREE-2-BLOCK_BPDUGUARD: Received BPDU on port Et0/2 with BPDU Guard enabled. Disabling port.
Acc-SW-19(config-if)#
*Apr 11 17:24:11.837: %PM-4-ERR_DISABLE: bpduguard error detected on Et0/2, putting Et0/2 in err-disable state
*Apr 11 17:24:12.837: %LINEPROTO-5-UPDOWN: Line protocol on Interface Ethernet0/2, changed state to down
Acc-SW-19(config-if)#
*Apr 11 17:24:13.837: %LINK-3-UPDOWN: Interface Ethernet0/2, changed state to down
After enabling bpduguard feature on e0/2 interface of the access switch and also
making some changes to the e0/0 interface of the PC44 (it is actually a router but we
use it as and end host, without using its routing capabilities), the PC44 now generates
STP packets and sends it towards the access switch. BPDUGuard feature detects the
STP packet on the host facing interface and puts it into the err-disabled state:
Acc-SW-19#show interfaces e0/2 status err-disabled
Generating STP BPDUs on end host facing interfaces are just a waste of the resources. If
you have hundreds of host facing interfaces, switch would consume some of its CPU
power to generate BPDUs. We can use a feature called BPDUFilter to suppress BPDU
generation and also reception, the switch ignores even the received BPDUs. But there is
a tricky configuration we can use in order to have both BPDUFilter and BPDUGuard
feature enabled on host facing ports.
If we enable both BPDUFilter and BPDUGuard per interface, then BPDUFilter drops the
received BPDUs even before BPDUGuard notices! It means BPDUGuard and BPDUFilter
cannot be activated per interface at the same time.
But by enabling BPDUFilter feature globally, The switch generates 11 initial STP BPDUs
on PortFast enabled edge ports, If it receives any BPDUs in response, BPDUFilter
becomes disabled on that port and the port starts generating STP messages normally. If
no BPDUs received at all, the switch stops generating BPDUs on that port, but also
listens for incomming BPDUs, as soon as a BPDU is received again (even after being
silent for some time) the BPDUFilter becomes disabled and that port generates BPDUs
normally.
Acc-SW-19(config)#spanning-tree portfast edge bpdufilter default
Globally enabled BPDUFilter can be used with interface enabled BPDUGuard as well as
Globally enabled BPDUGuard:
Acc-SW-19(config)#spanning-tree portfast edge bpdufilter default
Acc-SW-19(config)#spanning-tree portfast edge bpduguard default
Note: Globally enabled BPDUFilter and BPDUGuard only affects PortFast configured
ports.
When they are both configured globally BPDUFilter becomes disabled after receiving a
BPDU and BPDUGuard comes into play:
UplinkFast statistics
-----------------------
Number of transitions via uplinkFast (all VLANs) : 0
Number of proxy multicast addresses transmitted (all VLANs) : 0
Acc-SW-19:
spanning-tree uplinkfast
Acc-SW-20:
spanning-tree uplinkfast
VLAN0010
Spanning tree enabled protocol ieee
Root ID Priority 24586
Address aabb.cc00.0300
Cost 3100
Port 1 (Ethernet0/0)
Hello Time 2 sec Max Age 10 sec Forward Delay 7 sec
By enabling UplinkFast feature, STP port costs are automatically increased to 3100 and
also Bridge Priority is increased from 32768 to 49152, Why Switch increases those
values? It tries to not become a transit switch for Distribution layer switches and it
tries to only remain stub switch. When the switch looses its Uplink, the Backup link
takes the job and its state immediately becomes Forwarding.
The other feature the Task asks us to configure is BackboneFast, but before configuring
BackboneFast let’s verify the IEEE STP default behavior:
We enable STP event debugging on Acc-SW-20 and suspend the link between
Distribution switches (e0/2):
Acc-SW-20(config)#do sh spann
VLAN0010
Spanning tree enabled protocol ieee
Root ID Priority 24586
Address aabb.cc00.0300
Cost 3100
Port 2 (Ethernet0/1)
Hello Time 2 sec Max Age 10 sec Forward Delay 7 sec
When an indirect failure happens in the bridge domain (from Acc-SW-20 point of view,
suspending e0/2 interface of Aggregation switches is an indirect failure) the STP by
default ignores the BPDUs received on e0/0 and e0/1 of Agg-SW-20 for MaxAge time
seconds, because STP keeps (remembers/caches) the inferior BPDU received on every
interface for MaxAge time seconds (in this case 10 seconds). After 10 seconds Bridge
accepts the new BPDUs and can go through LIS/LRN/FWD states.
Agg-SW-5:
spanning-tree backbonefast
Agg-SW-6:
spanning-tree backbonefast
Acc-SW-19:
spanning-tree backbonefast
Acc-SW-20:
spanning-tree backbonefast
Acc-SW-20(config)#
*Apr 12 13:22:22.685: STP: VLAN0020 heard root 28692-aabb.cc00.0300 on Et0/1
*Apr 12 13:22:22.686: STP: VLAN0020 Et0/1 -> listening
*Apr 12 13:22:22.733: STP: VLAN0020 Topology Change rcvd on Et0/1
*Apr 12 13:22:22.733: STP: VLAN0020 sent Topology Change Notice on Et0/0
*Apr 12 13:22:23.030: STP: VLAN0010 heard root 28682-aabb.cc00.0400 on Et0/0
*Apr 12 13:22:23.031: STP: VLAN0010 Et0/0 -> listening
Acc-SW-20(config)#
*Apr 12 13:22:23.850: STP: VLAN0010 Topology Change rcvd on Et0/0
*Apr 12 13:22:23.850: STP: VLAN0010 sent Topology Change Notice on Et0/1
Acc-SW-20(config)#
*Apr 12 13:22:29.688: STP: VLAN0020 Et0/1 -> learning
*Apr 12 13:22:30.033: STP: VLAN0010 Et0/0 -> learning
Acc-SW-20(config)#
*Apr 12 13:22:36.691: STP[20]: Generating TC trap for port Ethernet0/1
*Apr 12 13:22:36.692: STP: VLAN0020 sent Topology Change Notice on Et0/0
*Apr 12 13:22:36.692: STP: VLAN0020 Et0/1 -> forwarding
*Apr 12 13:22:37.033: STP[10]: Generating TC trap for port Ethernet0/0
*Apr 12 13:22:37.033: STP: VLAN0010 sent Topology Change Notice on Et0/1
*Apr 12 13:22:37.033: STP: VLAN0010 Et0/0 -> forwarding
This time we see only on heard root message, because as soon as the bridge receives
new updated BPDU, it drops the previous cached superior BPDU.
It is time to configure and Verify Hosts connectivity:
PC44(config)#no ip routing
PC44(config)#int e0/0
PC44(config-if)#ip add 10.10.10.44 255.255.255.0
PC44(config-if)#no shutdown
PC44(config-if)#ip default-gateway 10.10.10.254
PC44(config)#do trace 10.255.255.1
Type escape sequence to abort.
Tracing the route to 10.255.255.1
VRF info: (vrf in name/id, vrf out name/id)
1 10.10.10.6 2 msec 1 msec 2 msec
2 10.0.63.3 [MPLS: Label 30007 Exp 0] 2 msec 2 msec 2 msec
3 10.0.31.1 2 msec * 3 msec
PC46(config)#no ip routing
PC46(config)#int e0/0
PC46(config-if)#ip add 10.10.10.46 255.255.255.0
PC46(config-if)#no shutdown
PC46(config-if)#ip default-gateway 10.10.10.254
PC46(config)#do ping 10.10.10.44
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.10.10.44, timeout is 2 seconds:
.!!!!
Success rate is 80 percent (4/5), round-trip min/avg/max = 1/1/2 ms
PC46(config)#do trace 10.255.255.3
Type escape sequence to abort.
Tracing the route to 10.255.255.3
VRF info: (vrf in name/id, vrf out name/id)
1 10.10.10.6 1005 msec 2 msec 2 msec
2 10.0.63.3 2 msec * 3 msec
PC70(config)#no ip routing
PC70(config)#int e0/0
PC70(config-if)#ip add 10.10.20.70 255.255.255.0
PC70(config-if)#no shutdown
PC70(config-if)#ip default-gateway 10.10.20.254
PC70(config)#do trace 10.10.10.44
Type escape sequence to abort.
Tracing the route to 10.10.10.44
VRF info: (vrf in name/id, vrf out name/id)
1 10.10.20.6 1003 msec 2 msec 1 msec
2 10.10.10.44 3 msec 2 msec 3 msec
PC70(config)#do trace 10.10.10.46
Type escape sequence to abort.
Tracing the route to 10.10.10.46
VRF info: (vrf in name/id, vrf out name/id)
1 10.10.20.6 2 msec 1 msec 1 msec
2 10.10.10.46 3 msec 3 msec 2 msec
PC70(config)#do trace 10.255.255.4
Type escape sequence to abort.
Tracing the route to 10.255.255.4
VRF info: (vrf in name/id, vrf out name/id)
1 10.10.20.6 2 msec 1 msec 1 msec
2 10.0.63.3 [MPLS: Label 30003 Exp 0] 2 msec 1 msec 2 msec
3 10.0.43.4 2 msec * 4 msec
PC71(config)#no ip routing
PC71(config)#int e0/0
PC71(config-if)#ip add 10.10.20.71 255.255.255.0
PC71(config-if)#no shutdown
PC71(config-if)#ip default-gateway 10.10.20.254
PC71(config)#do trace
PC71(config)#do trace 10.10.10.44
Type escape sequence to abort.
Tracing the route to 10.10.10.44
VRF info: (vrf in name/id, vrf out name/id)
1 10.10.20.6 1003 msec 2 msec 1 msec
2 10.10.10.44 3 msec 3 msec 3 msec
PC71(config)#do trace 10.10.10.46
Type escape sequence to abort.
Tracing the route to 10.10.10.46
VRF info: (vrf in name/id, vrf out name/id)
1 10.10.20.6 2 msec 1 msec 1 msec
2 10.10.10.46 3 msec 3 msec 2 msec
Agg-SW-5(config)#do sh standby
Vlan10 - Group 10
State is Standby
19 state changes, last state change 00:21:54
Virtual IP address is 10.10.10.254
Active virtual MAC address is 0000.0c07.ac0a (MAC Not In Use)
Local virtual MAC address is 0000.0c07.ac0a (v1 default)
Hello time 3 sec, hold time 10 sec
Next hello sent in 2.224 secs
Preemption enabled
Active router is 10.10.10.6, priority 100 (expires in 9.968 sec)
Standby router is local
Priority 60 (configured 110)
Track object 10 state Down decrement 50
Group name is "hsrp-Vl10-10" (default)
Vlan20 - Group 20
State is Standby
19 state changes, last state change 00:21:53
Virtual IP address is 10.10.20.254
Active virtual MAC address is 0000.0c07.ac14 (MAC Not In Use)
Local virtual MAC address is 0000.0c07.ac14 (v1 default)
Hello time 3 sec, hold time 10 sec
Next hello sent in 2.096 secs
Preemption enabled
Active router is 10.10.20.6, priority 110 (expires in 10.752 sec)
Standby router is local
Priority 50 (default 100)
Track object 10 state Down decrement 50
Group name is "hsrp-Vl20-20" (default)
Agg-SW-5(config)#int e1/2
Agg-SW-5(config-if)#no shutdown
*Apr 12 13:54:01.594: %LINK-3-UPDOWN: Interface Ethernet1/2, changed state to up
*Apr 12 13:54:14.353: %TRACK-6-STATE: 11 ip sla 10 reachability Down -> Up
*Apr 12 13:54:14.736: %TRACK-6-STATE: 10 list boolean and Down -> Up
Agg-SW-5(config)#
*Apr 12 13:54:16.829: %HSRP-5-STATECHANGE: Vlan10 Grp 10 state Standby -> Active
The interface e1/2 of Agg-SW-5 was administratively down and track was decreasing
the priority of the HSRP process.
Agg-SW-6 has a direct redundant link to Core-SW-4 (e1/2) but it is not being used,
Let’s troubleshoot the problem, I think there is something wrong with OSPF
neighborship:
We have found the problem! Different MD5 key-strings on Aggregation and Core
switches:
Core-SW-4(config)#int e1/2
Core-SW-4(config-if)#no ip ospf message-digest-key 1 md5 7 000A1E071C52
Core-SW-4(config-if)#ip ospf message-digest-key 1 md5 7 022916530A082A334B5B07352934
*Apr 12 14:14:55.815: %OSPF-5-ADJCHG: Process 1000, Nbr 10.255.255.6 on Ethernet1/2 from DOWN to INIT, Received Hello
Core-SW-4(config-if)#
*Apr 12 14:15:03.089: %OSPF-5-ADJCHG: Process 1000, Nbr 10.255.255.6 on Ethernet1/2 from INIT to 2WAY, 2-Way Received
*Apr 12 14:15:03.089: %OSPF-5-ADJCHG: Process 1000, Nbr 10.255.255.6 on Ethernet1/2 from 2WAY to EXSTART, AdjOK?
*Apr 12 14:15:03.089: %OSPF-5-ADJCHG: Process 1000, Nbr 10.255.255.6 on Ethernet1/2 from EXSTART to EXCHANGE, Negotiation Done
*Apr 12 14:15:03.090: %OSPF-5-ADJCHG: Process 1000, Nbr 10.255.255.6 on Ethernet1/2 from EXCHANGE to LOADING, Exchange Done
*Apr 12 14:15:03.090: %OSPF-5-ADJCHG: Process 1000, Nbr 10.255.255.6 on Ethernet1/2 from LOADING to FULL, Loading Done
Let’s verify HSRP to see if it works fine, shutdown Agg-SW-5 while PC44 pings Core
router 3 Loopback 0:
Core-SW-4(config)#int e1/2
Core-SW-4(config-if)#no ip ospf message-digest-key 1 md5 7 000A1E071C52
Core-SW-4(config-if)#ip ospf message-digest-key 1 md5 7 022916530A082A334B5B07352934
*Apr 12 14:14:55.815: %OSPF-5-ADJCHG: Process 1000, Nbr 10.255.255.6 on Ethernet1/2 from DOWN to INIT, Received Hello
Core-SW-4(config-if)#
*Apr 12 14:15:03.089: %OSPF-5-ADJCHG: Process 1000, Nbr 10.255.255.6 on Ethernet1/2 from INIT to 2WAY, 2-Way Received
*Apr 12 14:15:03.089: %OSPF-5-ADJCHG: Process 1000, Nbr 10.255.255.6 on Ethernet1/2 from 2WAY to EXSTART, AdjOK?
*Apr 12 14:15:03.089: %OSPF-5-ADJCHG: Process 1000, Nbr 10.255.255.6 on Ethernet1/2 from EXSTART to EXCHANGE, Negotiation Done
*Apr 12 14:15:03.090: %OSPF-5-ADJCHG: Process 1000, Nbr 10.255.255.6 on Ethernet1/2 from EXCHANGE to LOADING, Exchange Done
*Apr 12 14:15:03.090: %OSPF-5-ADJCHG: Process 1000, Nbr 10.255.255.6 on Ethernet1/2 from LOADING to FULL, Loading Done
It took about 22 seconds in order to the standby router takes the role of the active
router. If we tune HSRP timers, what would happen?
Agg-SW-6(config-if)#int vlan 10
Agg-SW-6(config-if)#standby 10 timers msec 250 msec 750
Agg-SW-6(config-if)#int vlan 20
Agg-SW-6(config-if)#standby 20 timers msec 250 msec 750
Agg-SW-5(config)#int vlan 10
Agg-SW-5(config-if)#standby 10 timers msec 250 msec 750
Agg-SW-5(config-if)#int vlan 20
Agg-SW-5(config-if)#standby 20 timers msec 250 msec 750
We almost minimized the HSRP convergence time, but what about STP? It can be tuned
but it is still slow when it comes to convergence time.
Agg-SW-6(config-if)#int vlan 10
Agg-SW-6(config-if)#standby 20 timers msec 250 msec 750
Agg-SW-6(config-if)#int vlan 20
Agg-SW-6(config-if)#standby 20 timers msec 250 msec 750
Agg-SW-5(config)#int vlan 10
Agg-SW-5(config-if)#standby 20 timers msec 250 msec 750
Agg-SW-5(config-if)#int vlan 20
Agg-SW-5(config-if)#standby 20 timers msec 250 msec 750
The result is the same, no matter you configure HSRP Hello and Hold Timers in
milliseconds, IEEE STP (802.1D) is still slow and prevents HSRP fast switchover.
Also we are enabling the UplinkFast and LoopGuard feature on Access switches, those
features are explained in detail in L2 Technologies Lab.
Acc-SW-19:
spanning-tree loopguard default
spanning-tree uplinkfast
Acc-SW-20:
spanning-tree loopguard default
spanning-tree uplinkfast
UplinkFast statistics
-----------------------
Number of transitions via uplinkFast (all VLANs) : 0
Number of proxy multicast addresses transmitted (all VLANs) : 0
BackboneFast statistics
-----------------------
Number of transition via backboneFast (all VLANs) : 0
Number of inferior BPDUs received (all VLANs) : 0
Number of RLQ request PDUs received (all VLANs) : 0
Number of RLQ response PDUs received (all VLANs) : 0
Number of RLQ request PDUs sent (all VLANs) : 0
Number of RLQ response PDUs sent (all VLANs) : 0
All of above technologies have been explained in detail in three labs (L2 Technologies,
OSPF and MPLS Labs) if you want more information please refer to those Labs. It is
recommended to do those three labs before doing this Task.
Agg-SW-14:
service timestamps debug datetime msec
service timestamps log datetime msec
service password-encryption
service compress-config
!
hostname Agg-SW-14
!
enable secret 8 $8$zWf.NNsCB54aSR$Xsj/n2M1nCDR/F9nPVzk3vt6FKrSPn/bH4Soi49uPA2
!
username ccie secret 8 $8$aZ3dK2AYDs2Jdx$2YvycjcBRKktJ/V8hPas/jdpRJW6bc18mdU7gPa.XqI
clock timezone +0330 3 30
!
no ip domain-lookup
ip cef
ip cef load-sharing algorithm include-ports source destination
mpls label range 140000 149999
mpls label protocol ldp
mpls ldp password required
mpls ldp password option 1 for SUBNET_10 7 022916530A082A334B5B07352934
mpls ldp session protection
!
spanning-tree mode mst
spanning-tree extend system-id
!
spanning-tree mst configuration
name AREA2
revision 10
instance 30 vlan 30
instance 40 vlan 40
!
spanning-tree mst 30 priority 24576
spanning-tree mst 40 priority 28672
!
vlan dot1q tag native
!
track 1 ip sla 1 reachability
delay down 3 up 3
!
track 3 ip sla 3 reachability
delay down 3 up 3
!
track 13 list boolean and
object 1
object 3
!
interface Loopback0
ip address 10.255.255.14 255.255.255.255
ip ospf 1000 area 0
!
interface Ethernet0/0
switchport trunk allowed vlan 30,40
switchport trunk encapsulation dot1q
switchport trunk native vlan 999
switchport mode trunk
switchport nonegotiate
!
interface Ethernet0/1
switchport trunk allowed vlan 30,40
switchport trunk encapsulation dot1q
switchport trunk native vlan 999
switchport mode trunk
switchport nonegotiate
!
interface Ethernet0/2
switchport trunk allowed vlan 30,40
switchport trunk encapsulation dot1q
switchport trunk native vlan 999
switchport mode trunk
switchport nonegotiate
!
interface Ethernet1/3
no switchport
ip address 10.0.141.14 255.255.255.0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 7 002B010E05552E1408344262253A
ip ospf network point-to-point
Agg-SW-15:
version 15.2
service timestamps debug datetime msec
service timestamps log datetime msec
service password-encryption
service compress-config
!
hostname Agg-SW-15
!
enable secret 8 $8$zWf.NNsCB54aSR$Xsj/n2M1nCDR/F9nPVzk3vt6FKrSPn/bH4Soi49uPA2
!
username ccie secret 8 $8$aZ3dK2AYDs2Jdx$2YvycjcBRKktJ/V8hPas/jdpRJW6bc18mdU7gPa.XqI
no aaa new-model
clock timezone +0330 3 30
!
no ip domain-lookup
ip cef
ip cef load-sharing algorithm include-ports source destination
mpls label range 150000 159999
mpls label protocol ldp
mpls ldp password required
mpls ldp password option 1 for SUBNET_10 7 022916530A082A334B5B07352934
mpls ldp session protection
!
spanning-tree mode mst
spanning-tree extend system-id
!
spanning-tree mst configuration
name AREA2
revision 10
instance 30 vlan 30
instance 40 vlan 40
!
spanning-tree mst 30 priority 28672
spanning-tree mst 40 priority 24576
!
vlan dot1q tag native
!
track 2 ip sla 2 reachability
delay down 3 up 3
!
track 4 ip sla 4 reachability
delay down 3 up 3
!
track 24 list boolean and
object 2
object 4
!
interface Loopback0
ip address 10.255.255.15 255.255.255.255
ip ospf 1000 area 0
!
interface Ethernet0/0
switchport trunk allowed vlan 30,40
switchport trunk encapsulation dot1q
switchport trunk native vlan 999
switchport mode trunk
switchport nonegotiate
!
interface Ethernet0/1
switchport trunk allowed vlan 30,40
switchport trunk encapsulation dot1q
switchport trunk native vlan 999
switchport mode trunk
switchport nonegotiate
!
interface Ethernet0/2
switchport trunk allowed vlan 30,40
switchport trunk encapsulation dot1q
switchport trunk native vlan 999
switchport mode trunk
switchport nonegotiate
!
interface Ethernet1/2
no switchport
ip address 10.0.151.15 255.255.255.0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 7 132A051A0A0221382C31261F1901
ip ospf network point-to-point
ip ospf 1000 area 0
mpls ip
!
interface Ethernet2/3
no switchport
ip address 10.0.153.15 255.255.255.0
Acc-SW-26:
service timestamps debug datetime msec
service timestamps log datetime msec
service password-encryption
service compress-config
!
hostname Acc-SW-26
!
enable secret 8 $8$zWf.NNsCB54aSR$Xsj/n2M1nCDR/F9nPVzk3vt6FKrSPn/bH4Soi49uPA2
!
username ccie secret 8 $8$aZ3dK2AYDs2Jdx$2YvycjcBRKktJ/V8hPas/jdpRJW6bc18mdU7gPa.XqI
no aaa new-model
clock timezone +0330 3 30
!
no ip routing
!
!
no ip domain-lookup
!
spanning-tree mode mst
spanning-tree portfast edge default
spanning-tree portfast edge bpduguard default
spanning-tree portfast edge bpdufilter default
spanning-tree extend system-id
!
interface Ethernet0/0
switchport trunk allowed vlan 30,40
switchport trunk encapsulation dot1q
switchport trunk native vlan 999
switchport mode trunk
switchport nonegotiate
!
interface Ethernet0/1
switchport trunk allowed vlan 30,40
switchport trunk encapsulation dot1q
switchport trunk native vlan 999
switchport mode trunk
switchport nonegotiate
!
interface Ethernet0/2
switchport access vlan 40
switchport mode access
switchport nonegotiate
switchport port-security violation restrict
switchport port-security mac-address sticky
switchport port-security mac-address sticky aabb.cc00.4b00
switchport port-security
!
interface Ethernet0/3
switchport access vlan 30
switchport mode access
switchport nonegotiate
switchport port-security violation restrict
switchport port-security mac-address sticky
switchport port-security mac-address sticky aabb.cc00.4f00
switchport port-security
!
interface Ethernet1/0
switchport access vlan 40
switchport mode access
switchport nonegotiate
switchport port-security violation restrict
switchport port-security mac-address sticky
switchport port-security mac-address sticky aabb.cc00.4e00
switchport port-security
!
interface Ethernet1/1
switchport access vlan 30
switchport mode access
switchport nonegotiate
switchport port-security violation restrict
switchport port-security mac-address sticky
switchport port-security mac-address sticky aabb.cc00.2d00
switchport port-security
!
!
ip ssh time-out 60
ip ssh authentication-retries 2
ip ssh version 2
ip ssh server algorithm encryption aes128-ctr aes192-ctr aes256-ctr
ip ssh client algorithm encryption aes128-ctr aes192-ctr aes256-ctr
!
vtp mode client
vtp mode client mst
Acc-SW-25:
service timestamps debug datetime msec
service timestamps log datetime msec
service password-encryption
service compress-config
!
hostname Acc-SW-25
!
enable secret 8 $8$zWf.NNsCB54aSR$Xsj/n2M1nCDR/F9nPVzk3vt6FKrSPn/bH4Soi49uPA2
!
username ccie secret 8 $8$aZ3dK2AYDs2Jdx$2YvycjcBRKktJ/V8hPas/jdpRJW6bc18mdU7gPa.XqI
clock timezone +0330 3 30
!
no ip routing
!
no ip domain-lookup
!
spanning-tree mode mst
spanning-tree portfast edge default
spanning-tree portfast edge bpduguard default
spanning-tree portfast edge bpdufilter default
spanning-tree extend system-id
!
interface Ethernet0/0
switchport trunk allowed vlan 30,40
switchport trunk encapsulation dot1q
switchport trunk native vlan 999
switchport mode trunk
switchport nonegotiate
!
interface Ethernet0/1
switchport trunk allowed vlan 30,40
switchport trunk encapsulation dot1q
switchport trunk native vlan 999
switchport mode trunk
switchport nonegotiate
!
interface Ethernet0/2
switchport access vlan 30
switchport mode access
switchport nonegotiate
switchport port-security violation restrict
switchport port-security mac-address sticky
switchport port-security mac-address sticky aabb.cc00.4900
switchport port-security
!
interface Ethernet0/3
switchport access vlan 40
switchport mode access
switchport nonegotiate
switchport port-security violation restrict
switchport port-security mac-address sticky
switchport port-security mac-address sticky aabb.cc00.4a00
switchport port-security
!
!
ip ssh time-out 60
ip ssh authentication-retries 2
ip ssh version 2
ip ssh server algorithm encryption aes128-ctr aes192-ctr aes256-ctr
ip ssh client algorithm encryption aes128-ctr aes192-ctr aes256-ctr
!
vtp mode client
vtp mode client mst
Feature VLAN:
--------------
VTP Operating Mode : Primary Server
Number of existing VLANs : 7
Number of existing extended VLANs : 0
Maximum VLANs supported locally : 4096
Configuration Revision : 2
Primary ID : aabb.cc80.0700
Primary Description : Agg-SW-14
MD5 digest : 0xF0 0x57 0x25 0x68 0x02 0x49 0x8E 0x07
0x6C 0xAA 0xA1 0x85 0x7A 0x69 0xE5 0xD4
Feature MST:
--------------
VTP Operating Mode : Primary Server
Configuration Revision : 1
Primary ID : aabb.cc80.0700
Primary Description : Agg-SW-14
MD5 digest : 0xBC 0x53 0x70 0xA7 0xE3 0x1E 0xB4 0xC4
0x34 0x27 0x51 0x47 0x81 0x55 0x30 0xAD
Feature UNKNOWN:
--------------
VTP Operating Mode : Transparent
MST40
Spanning tree enabled protocol mstp
Root ID Priority 24616
Address aabb.cc00.0800
Cost 2000000
Port 3 (Ethernet0/2)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Agg-SW-14(config)#do sh vrrp
Vlan30 - Group 30
State is Master
Virtual IP address is 10.30.30.254
Virtual MAC address is 0000.5e00.011e
Advertisement interval is 1.000 sec
Preemption enabled
Priority is 110
Track object 13 state Up decrement 50
Master Router is 10.30.30.14 (local), priority is 110
Master Advertisement interval is 1.000 sec
Master Down interval is 3.570 sec
Vlan40 - Group 40
State is Backup
Virtual IP address is 10.30.40.254
Virtual MAC address is 0000.5e00.0128
Advertisement interval is 1.000 sec
Preemption enabled
Priority is 100
Track object 13 state Up decrement 50
Master Router is 10.30.40.15, priority is 110
Master Advertisement interval is 1.000 sec
Master Down interval is 3.609 sec (expires in 3.331 sec)
In this section of the Lab, we have used Loop Free L2 design, as you noticed the link
between Agg-SW-9 and Agg-SW-10 is a routed L3 link which two switches form OSPF
adjacency.
In previous Sections (Building 1 and 2) the link between two aggregation switches was
a trunk. Indeed this topology is not completely loop free because VLAN 50 exists on
both access switches, we could use a VLAN per access switches to make this topology
completely loop free; But in this case we still have an L2 loop that STP is going to deal
with it and block one link in order to prevent L2 loop:
Because of the usage of GLBP and also take advantage of gateway load balancing for all
Data Center servers, this part should be done this way, by default GLBP uses round-
robin algorithm in order to do first hop load balancing. GLBP is explained in the L2
technology lab part of the workbook, so we avoid over explanation and just configure
the devices.
Also it is good to mention that GLBP packets will be sent over Inter-Switch trunk links,
so Aggregation switches can talk GLBP together using those links that are connected to
the Access switches.
Aggregation switches can also do summarization for that area subnet and only sent a
summarized prefix/Length (10.50.0.0/16) to the backbone area.
Also we need to mention that, this building is our Data Center block and as an example
DHCP server (which is remote DHCP server for our campus) is placed in this block. The
aggregation switch (distribution switch) of other areas and even remote sites can use
ip helper-address command to send the unicast DHCP messages to this DHCP server.
Agg-SW-9:
hostname Agg-SW-9
!
enable secret 8 $8$zWf.NNsCB54aSR$Xsj/n2M1nCDR/F9nPVzk3vt6FKrSPn/bH4Soi49uPA2
!
username ccie secret 8 $8$aZ3dK2AYDs2Jdx$2YvycjcBRKktJ/V8hPas/jdpRJW6bc18mdU7gPa.XqI
vtp mode off
!
no ip domain-lookup
ip cef
ip cef load-sharing algorithm include-ports source destination
mpls label range 90000 99999
mpls label protocol ldp
mpls ldp password required
mpls ldp password option 1 for SUBNET_10 7 022916530A082A334B5B07352934
mpls ldp session protection
!
spanning-tree mode rapid-pvst
spanning-tree extend system-id
spanning-tree vlan 50 priority 24576
!
vlan dot1q tag native
!
vlan 50,999
!
interface Loopback0
ip address 10.255.255.9 255.255.255.255
ip ospf 1000 area 0
!
interface Ethernet0/0
switchport trunk allowed vlan 50
switchport trunk encapsulation dot1q
switchport trunk native vlan 999
switchport mode trunk
switchport nonegotiate
spanning-tree portfast network
!
interface Ethernet0/1
switchport trunk allowed vlan 50
switchport trunk encapsulation dot1q
switchport trunk native vlan 999
switchport mode trunk
switchport nonegotiate
spanning-tree portfast network
!
interface Ethernet0/2
no switchport
ip address 10.9.10.9 255.255.255.0
ip ospf message-digest-key 1 md5 7 1236171F130529162D3E2A041F16
ip ospf network point-to-point
ip ospf 1000 area 3
spanning-tree portfast network
!
interface Ethernet1/2
no switchport
ip address 10.0.92.9 255.255.255.0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 7 002B010E05552E1408344262253A
ip ospf network point-to-point
ip ospf 1000 area 0
mpls ip
!
interface Ethernet2/0
no switchport
ip address 10.0.91.9 255.255.255.0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 7 1236171F130529162D3E2A041F16
ip ospf network point-to-point
ip ospf 1000 area 0
mpls ip
!
interface Vlan50
ip address 10.50.50.9 255.255.255.0
ip ospf 1000 area 3
glbp 50 ip 10.50.50.254
glbp 50 authentication md5 key-string 7 1236171F130529162D3E2A041F16
!
router ospf 1000
router-id 10.255.255.9
ignore lsa mospf
ispf
log-adjacency-changes detail
auto-cost reference-bandwidth 10000
ttl-security all-interfaces
area 3 range 10.50.0.0 255.255.0.0
passive-interface default
no passive-interface Ethernet0/2
no passive-interface Ethernet1/2
no passive-interface Ethernet2/0
!
ip ssh time-out 60
ip ssh authentication-retries 2
ip ssh version 2
ip ssh server algorithm encryption aes128-ctr aes192-ctr aes256-ctr
ip ssh client algorithm encryption aes128-ctr aes192-ctr aes256-ctr
!
ip access-list standard SUBNET_10
permit 10.0.0.0 0.255.255.255
!
mpls ldp router-id Loopback0
!
Agg-SW-10:
hostname Agg-SW-10
!
enable secret 8 $8$zWf.NNsCB54aSR$Xsj/n2M1nCDR/F9nPVzk3vt6FKrSPn/bH4Soi49uPA2
!
username ccie secret 8 $8$aZ3dK2AYDs2Jdx$2YvycjcBRKktJ/V8hPas/jdpRJW6bc18mdU7gPa.XqI
no aaa new-model
clock timezone +0330 3 30
!
vtp mode off
!
no ip domain-lookup
ip cef
ip cef load-sharing algorithm include-ports source destination
mpls label range 10000 19999
mpls label protocol ldp
mpls ldp password required
mpls ldp password option 1 for SUBNET_10 7 022916530A082A334B5B07352934
mpls ldp session protection
!
spanning-tree mode rapid-pvst
spanning-tree extend system-id
spanning-tree vlan 50 priority 20480
!
vlan dot1q tag native
!
vlan 50,999
!
interface Loopback0
ip address 10.255.255.10 255.255.255.255
ip ospf 1000 area 0
!
interface Ethernet0/0
switchport trunk allowed vlan 50
switchport trunk encapsulation dot1q
switchport trunk native vlan 999
switchport mode trunk
switchport nonegotiate
spanning-tree portfast network
!
interface Ethernet0/1
switchport trunk allowed vlan 50
switchport trunk encapsulation dot1q
switchport trunk native vlan 999
switchport mode trunk
switchport nonegotiate
spanning-tree portfast network
!
interface Ethernet0/2
no switchport
ip address 10.9.10.10 255.255.255.0
ip ospf message-digest-key 1 md5 7 002B010E05552E1408344262253A
ip ospf network point-to-point
ip ospf 1000 area 3
spanning-tree portfast network
!
interface Ethernet1/3
no switchport
ip address 10.0.102.10 255.255.255.0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 7 0474190E0E2F695C0E0C0B3B3E28
ip ospf network point-to-point
ip ospf 1000 area 0
mpls ip
!
interface Ethernet2/1
no switchport
ip address 10.0.101.10 255.255.255.0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 7 080E5E4608172005151E02280608
ip ospf network point-to-point
ip ospf 1000 area 0
mpls ip
!
interface Vlan50
ip address 10.50.50.10 255.255.255.0
ip ospf 1000 area 3
glbp 50 ip 10.50.50.254
glbp 50 authentication md5 key-string 7 0524140720426B1B1E10193E272F
!
router ospf 1000
router-id 10.255.255.10
ignore lsa mospf
ispf
log-adjacency-changes detail
auto-cost reference-bandwidth 10000
ttl-security all-interfaces
area 3 range 10.50.0.0 255.255.0.0
passive-interface default
no passive-interface Ethernet0/2
no passive-interface Ethernet1/3
no passive-interface Ethernet2/1
!
ip ssh time-out 60
ip ssh authentication-retries 2
ip ssh version 2
ip ssh server algorithm encryption aes128-ctr aes192-ctr aes256-ctr
ip ssh client algorithm encryption aes128-ctr aes192-ctr aes256-ctr
!
ip access-list standard SUBNET_10
permit 10.0.0.0 0.255.255.255
!
!
mpls ldp router-id Loopback0
!
Acc-SW-21:
hostname Acc-SW-21
!
enable secret 8 $8$zWf.NNsCB54aSR$Xsj/n2M1nCDR/F9nPVzk3vt6FKrSPn/bH4Soi49uPA2
!
username ccie secret 8 $8$aZ3dK2AYDs2Jdx$2YvycjcBRKktJ/V8hPas/jdpRJW6bc18mdU7gPa.XqI
clock timezone +0330 3 30
!
vtp mode off
no ip routing
!
!
!
no ip domain-lookup
no ip cef
!
spanning-tree mode rapid-pvst
spanning-tree portfast edge default
spanning-tree extend system-id
!
vlan 50,999
!
interface Ethernet0/0
switchport trunk allowed vlan 50
switchport trunk encapsulation dot1q
switchport trunk native vlan 999
switchport mode trunk
switchport nonegotiate
spanning-tree portfast network
!
interface Ethernet0/1
switchport trunk allowed vlan 50
Acc-SW-22:
hostname Acc-SW-22
!
enable secret 8 $8$zWf.NNsCB54aSR$Xsj/n2M1nCDR/F9nPVzk3vt6FKrSPn/bH4Soi49uPA2
!
username ccie secret 8 $8$aZ3dK2AYDs2Jdx$2YvycjcBRKktJ/V8hPas/jdpRJW6bc18mdU7gPa.XqI
clock timezone +0330 3 30
!
vtp mode off
no ip routing
!
no ip domain-lookup
no ip cef
!
spanning-tree mode rapid-pvst
spanning-tree portfast edge default
spanning-tree extend system-id
!
vlan 50,999
!
interface Ethernet0/0
switchport trunk allowed vlan 50
switchport trunk encapsulation dot1q
switchport trunk native vlan 999
switchport mode trunk
switchport nonegotiate
spanning-tree portfast network
!
interface Ethernet0/1
switchport trunk allowed vlan 50
switchport trunk encapsulation dot1q
Acc-SW-21(config)#do sh spann
VLAN0050
Spanning tree enabled protocol rstp
Root ID Priority 20530
Address aabb.cc00.0c00
Cost 100
Port 2 (Ethernet0/1)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
DCHP-Server-99#trace 10.255.255.6
Type escape sequence to abort.
Tracing the route to 10.255.255.6
VRF info: (vrf in name/id, vrf out name/id)
1 10.50.50.9 2 msec 1 msec 1 msec
2 10.0.91.1 [MPLS: Label 10030 Exp 0] 2 msec 2 msec 2 msec
3 10.0.41.4 [MPLS: Label 40008 Exp 0] 2 msec 2 msec 1 msec
4 10.0.64.6 2 msec
10.0.63.6 1 msec *
In the Spanning-Tree show output of the switches you can see some of the interfaces
are in Network mode, it is because we have enabled bridge-assurance on the DC block
switches. Bridge-Assurance is explained in the L2 Technologies Lab of the workbook.
Note: It is a good practice to DO NOT Spann the VLAN across two access switches
because of having Loop Free L2 topology.
For example create VLAN 50 on Access-SW-21 and VLAN55 on Access-SW-22.
In this task we are going to implement Routed access design. In this kind of design we
don’t have any L2 links between distribution and access switches, so we don’t need to
deal with L2 loops and use STP to prevent that permanent L2 loops.
VLANs exist only on Access switches and that switches are the First Hop Router
(default gateway) for end nodes.
This is also the recommended design of Cisco when it comes to SD-Access technology.
All switches in this building are going to form OSPF neighborship with each other and
access switches advertise VLAN Subnets to the OSPF domain.
Distribution switches are still ABRs (Area Border Routers) and can summarize those
subnets into an aggregated route (in this example 10.60.0.0/16).
Also access switches do not need to get all the routing information, so we can make this
area a totally stub one (access switches only receive a default route). As you noticed
there is no need to have an ASBR inside this area, so we are good to use Totally Stub
area.
If you want to learn more about OSPF Stub area, please refer to the OSPF Topology 1
section of the workbook.
Agg-SW-12:
hostname Agg-SW-12
!
enable secret 8 $8$zWf.NNsCB54aSR$Xsj/n2M1nCDR/F9nPVzk3vt6FKrSPn/bH4Soi49uPA2
!
username ccie secret 8 $8$aZ3dK2AYDs2Jdx$2YvycjcBRKktJ/V8hPas/jdpRJW6bc18mdU7gPa.XqI
no aaa new-model
clock timezone +0330 3 30
!
vtp mode off
!
no ip domain-lookup
ip cef
ip cef load-sharing algorithm include-ports source destination 012ABBAC
mpls label range 120000 129999
mpls label protocol ldp
mpls ldp password required
mpls ldp password option 1 for SUBNET_10 7 022916530A082A334B5B07352934
mpls ldp session protection
!
interface Loopback0
ip address 10.255.255.12 255.255.255.255
ip ospf 1000 area 0
!
interface Ethernet0/0
no switchport
ip address 10.12.23.12 255.255.255.0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 7 1236171F130529162D3E2A041F16
ip ospf network point-to-point
ip ospf 1000 area 4
mpls ip
!
interface Ethernet0/1
no switchport
ip address 10.12.24.12 255.255.255.0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 7 1236171F130529162D3E2A041F16
ip ospf network point-to-point
ip ospf 1000 area 4
mpls ip
!
interface Ethernet0/2
no switchport
Agg-SW-13:
hostname Agg-SW-13
!
enable secret 8 $8$zWf.NNsCB54aSR$Xsj/n2M1nCDR/F9nPVzk3vt6FKrSPn/bH4Soi49uPA2
!
username ccie secret 8 $8$aZ3dK2AYDs2Jdx$2YvycjcBRKktJ/V8hPas/jdpRJW6bc18mdU7gPa.XqI
clock timezone +0330 3 30
!
vtp mode off
!
no ip domain-lookup
ip cef
ip cef load-sharing algorithm include-ports source destination 012ABDAC
mpls label range 130000 139999
mpls label protocol ldp
mpls ldp password required
mpls ldp password option 1 for SUBNET_10 7 022916530A082A334B5B07352934
mpls ldp session protection
!
interface Loopback0
ip address 10.255.255.13 255.255.255.255
ip ospf 1000 area 0
!
interface Ethernet0/0
no switchport
ip address 10.13.24.13 255.255.255.0
ip ospf authentication message-digest
The configuration is straight forward, just like previous tasks, but this time Distribution
to Access links are also L3 links instead of L2 Trunks.
Note: on ABRs (Aggregation/Distribution switches) we have entered area 4 stub no-
no-
summary command. On access switches no need to enter no-summary argument at the
end of the area 4 stub command because those switches are not ABRs and no-
no-summary
does not have any effect.
Acc-SW-23:
hostname Acc-SW-23
!
enable secret 8 $8$zWf.NNsCB54aSR$Xsj/n2M1nCDR/F9nPVzk3vt6FKrSPn/bH4Soi49uPA2
!
username ccie secret 8 $8$aZ3dK2AYDs2Jdx$2YvycjcBRKktJ/V8hPas/jdpRJW6bc18mdU7gPa.XqI
!
vtp mode off
!
no ip domain-lookup
ip cef
ip cef load-sharing algorithm include-ports source destination 001265AC
mpls label range 23000 23999
mpls label protocol ldp
mpls ldp password required
mpls ldp password option 1 for SUBNET_10 7 022916530A082A334B5B07352934
mpls ldp session protection
!
spanning-tree mode rapid-pvst
spanning-tree portfast edge default
spanning-tree portfast edge bpduguard default
spanning-tree portfast edge bpdufilter default
spanning-tree extend system-id
!
!
vlan 60
!
interface Loopback0
ip address 10.255.255.23 255.255.255.255
ip ospf 1000 area 4
!
interface Ethernet0/0
no switchport
ip address 10.12.23.23 255.255.255.0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 7 1236171F130529162D3E2A041F16
ip ospf network point-to-point
ip ospf 1000 area 4
mpls ip
!
interface Ethernet0/1
no switchport
ip address 10.13.23.23 255.255.255.0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 7 1236171F130529162D3E2A041F16
ip ospf network point-to-point
ip ospf 1000 area 4
mpls ip
!
interface Ethernet0/2
switchport access vlan 60
switchport mode access
switchport nonegotiate
switchport port-security mac-address sticky
switchport port-security mac-address sticky aabb.cc00.4c00
switchport port-security
!
interface Ethernet0/3
switchport access vlan 60
switchport mode access
switchport nonegotiate
switchport port-security mac-address sticky
switchport port-security mac-address sticky aabb.cc00.4d00
switchport port-security
!
interface Vlan60
ip address 10.60.60.254 255.255.255.0
ip helper-address 10.50.50.99
ip ospf 1000 area 4
!
router ospf 1000
router-id 10.255.255.23
ignore lsa mospf
ispf
log-adjacency-changes detail
auto-cost reference-bandwidth 10000
ttl-security all-interfaces
area 4 stub
passive-interface default
no passive-interface Ethernet0/0
no passive-interface Ethernet0/1
!
ip ssh time-out 60
ip ssh authentication-retries 2
ip ssh version 2
Acc-SW-24:
hostname Acc-SW-24
!
enable secret 8 $8$zWf.NNsCB54aSR$Xsj/n2M1nCDR/F9nPVzk3vt6FKrSPn/bH4Soi49uPA2
!
username ccie secret 8 $8$aZ3dK2AYDs2Jdx$2YvycjcBRKktJ/V8hPas/jdpRJW6bc18mdU7gPa.XqI
clock timezone +0330 3 30
!
vtp mode off
no ip domain-lookup
ip cef
ip cef load-sharing algorithm include-ports source destination 00143ABC
mpls label range 24000 24999
mpls label protocol ldp
mpls ldp password required
mpls ldp password option 1 for SUBNET_10 7 022916530A082A334B5B07352934
mpls ldp session protection
!
spanning-tree mode rapid-pvst
spanning-tree portfast edge default
spanning-tree portfast edge bpduguard default
spanning-tree portfast edge bpdufilter default
spanning-tree extend system-id
!
vlan 70
!
interface Loopback0
ip address 10.255.255.24 255.255.255.255
ip ospf 1000 area 4
!
interface Ethernet0/0
no switchport
ip address 10.13.24.24 255.255.255.0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 7 1236171F130529162D3E2A041F16
ip ospf network point-to-point
ip ospf 1000 area 4
mpls ip
!
interface Ethernet0/1
no switchport
ip address 10.12.24.24 255.255.255.0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 7 1236171F130529162D3E2A041F16
ip ospf network point-to-point
ip ospf 1000 area 4
mpls ip
!
interface Ethernet0/2
switchport access vlan 70
switchport mode access
switchport nonegotiate
switchport port-security mac-address sticky
switchport port-security mac-address sticky aabb.cc00.5000
switchport port-security
!
interface Ethernet0/3
switchport access vlan 70
switchport mode access
switchport nonegotiate
switchport port-security mac-address sticky
switchport port-security mac-address sticky aabb.cc00.5100
switchport port-security
!
interface Ethernet1/0
switchport access vlan 70
switchport mode access
switchport nonegotiate
switchport port-security mac-address sticky
switchport port-security mac-address sticky aabb.cc00.5200
switchport port-security
!
interface Vlan70
ip address 10.60.70.254 255.255.255.0
ip helper-address 10.50.50.99
ip ospf 1000 area 4
!
router ospf 1000
router-id 10.255.255.24
ignore lsa mospf
ispf
log-adjacency-changes detail
auto-cost reference-bandwidth 10000
ttl-security all-interfaces
area 4 stub
passive-interface default
no passive-interface Ethernet0/0
no passive-interface Ethernet0/1
!
ip ssh time-out 60
ip ssh authentication-retries 2
ip ssh version 2
ip ssh server algorithm encryption aes128-ctr aes192-ctr aes256-ctr
ip ssh client algorithm encryption aes128-ctr aes192-ctr aes256-ctr
!
ip access-list standard SUBNET_10
permit 10.0.0.0 0.255.255.255
!
mpls ldp router-id Loopback0
!
Verification:
Task-6:
Configure DHCP-Server-99 to give IP address, default-gateway information for
VLAN 10, 20, 30, 40, 60, 70
Configure DHCP Snooping for those VLANs
Configure Dynamic ARP Inspection for those VLANs
All end nodes in those VLANs must get the IP address from DHCP Server
Solution:
First of all we need to configure the DHCP server in Data Center, this Server is going to
be the Remote DHCP Server for our campus, so the First Hop routers (Distribution
Switches in Building 1 and 2, and Access switches in Building 4) must be configured
with the ip helper-
helper-address command on their SVIs.
DHCP-Server-99:
ip dhcp excluded-address 10.10.10.1 10.10.10.100
ip dhcp excluded-address 10.10.20.1 10.10.20.100
ip dhcp excluded-address 10.10.10.254
ip dhcp excluded-address 10.10.20.254
ip dhcp excluded-address 10.30.30.1 10.30.30.100
ip dhcp excluded-address 10.30.40.1 10.30.40.100
ip dhcp excluded-address 10.30.30.254
ip dhcp excluded-address 10.30.40.254
ip dhcp excluded-address 10.60.60.1 10.60.60.100
ip dhcp excluded-address 10.60.70.1 10.60.70.100
ip dhcp excluded-address 10.60.60.254
ip dhcp excluded-address 10.60.70.254
ip dhcp pool VLAN10
network 10.10.10.0 255.255.255.0
default-router 10.10.10.254
domain-name orhan.local
dns-server 8.8.8.8
ip dhcp pool VLAN60
network 10.60.60.0 255.255.255.0
default-router 10.60.60.254
domain-name orhan.local
dns-server 8.8.8.8
ip dhcp pool VLAN30
network 10.30.30.0 255.255.255.0
default-router 10.30.30.254
domain-name orhan.local
dns-server 8.8.8.8
ip dhcp pool VLAN20
network 10.10.20.0 255.255.255.0
default-router 10.10.20.254
domain-name orhan.local
dns-server 8.8.8.8
ip dhcp pool VLAN40
network 10.30.40.0 255.255.255.0
default-router 10.30.40.254
domain-name orhan.local
dns-server 8.8.8.8
ip dhcp pool VLAN70
network 10.60.70.0 255.255.255.0
default-router 10.60.70.254
domain-name orhan.local
dns-server 8.8.8.8
Note: The task has not mentioned to configure a DNS server. We only configured 8.8.8.8
as an extra command! DO NOT put extra commands in the CCIE Lab exam! Maybe you
would loose the task points!
Now, let’s configure DHCP Snooping, Dynamic ARP Inspection and also DHCP Relay
agent:
Verification:
PC80(config)#int e0/0
PC80(config-if)#ip add dhcp
PC80(config-if)#
*Jul 23 23:31:47.218: %DHCP-6-ADDRESS_ASSIGN: Interface Ethernet0/0 assigned DHCP address 10.60.70.106, mask
255.255.255.0, hostname PC80
PC81(config)#int e0/0
PC81(config-if)#ip address dhcp
PC81(config-if)#
*Jul 23 23:32:13.481: %DHCP-6-ADDRESS_ASSIGN: Interface Ethernet0/0 assigned DHCP address 10.60.70.107, mask
255.255.255.0, hostname PC81
PC82(config)#int e0/0
PC82(config-if)#ip add dhcp
PC82(config-if)#
*Jul 23 23:32:23.222: %DHCP-6-ADDRESS_ASSIGN: Interface Ethernet0/0 assigned DHCP address 10.60.70.108, mask
255.255.255.0, hostname PC82
PC70(config)#int e0/0
PC70(config-if)#ip add dhcp
PC70(config-if)#
*Jul 23 23:34:36.471: %DHCP-6-ADDRESS_ASSIGN: Interface Ethernet0/0 assigned DHCP address 10.10.20.103, mask
255.255.255.0, hostname PC70
PC71(config)#int e0/0
PC71(config-if)#ip add dhcp
PC71(config-if)#
*Jul 23 23:34:50.964: %DHCP-6-ADDRESS_ASSIGN: Interface Ethernet0/0 assigned DHCP address 10.10.20.104, mask
255.255.255.0, hostname PC71
PC44(config)#int e0/0
PC44(config-if)#ip add dhcp
PC44(config-if)#
*Jul 23 23:35:19.024: %DHCP-6-ADDRESS_ASSIGN: Interface Ethernet0/0 assigned DHCP address 10.10.10.103, mask
255.255.255.0, hostname PC44
PC46(config)#int e0/0
PC46(config-if)#ip address dhcp
PC46(config-if)#
*Jul 23 23:36:46.249: %DHCP-6-ADDRESS_ASSIGN: Interface Ethernet0/0 assigned DHCP address 10.10.10.104, mask
255.255.255.0, hostname PC46
Vlan DHCP Permits ACL Permits Probe Permits Source MAC Failures
---- ------------ ----------- ------------- -------------------
10 13 0 4 0
20 9 0 3 0
Task-7:
Configure the Internet Aggregation block according to the topology
Edge routers (Edge-R-31 and Edge-R-32) must form eBGP to the ISP and also
iBGP with each other
All BGP neighbors must be authenticated using password “OrhanErgunLLC”
Both standard and extended communities should be sent to the neighbors
Edge routers should originate default route to the OSPF domain when they
receive a default route from ISP (Edge-R-31 originated default route should be
prefered over Edge-R-32)
MPLS/LDP should be enabled just like previous tasks (The same rules)
OSPF should be enabled just like previous tasks (but edge router’s VLAN 80 and
VLAN 90 facing interfaces should be configured with the OSPF Network type
Broadcast)
Bogon/Martian networks should not be leaked to the ISP and vice versa (Use
Prefix-Lists)
Unicast Reverse Path Forwarding (uRPF) should be enabled on internal facing
interfaces
Edge routers must give internet access to the internal network using NAT (Use
this NAT Pool: 150.101.101.0/24 on Edge-R-31 and 150.102.102.0/24 on Edge-
R-32)
Enable SSH version 2 on all devices
Configure Zone-Based Firewall on Edge routers:
- SSH and ICMP traffic should be inspected for internal network subnet
10.0.0.0/8
- ICMP, GRE, ESP, ISAKMP traffic from WAN-Aggregation routers should be
inspected (WAN-Aggregation routers IP addresses: 200.105.29.29 and
200.105.30.30)
Solution:
Let’s configure the Distribution and Access Layer switches:
Agg-SW-16:
hostname Agg-SW-16
!
enable secret 8 $8$qrvK7qOfUAK8cR$AyzNf8DV1Ifjl28oSLtuH4OLJpYdYsaRYbAvCytvXFw
!
username ccie secret 8 $8$BbZoIfDWgfpL.h$MOXoPRFZbiuVqm6Yae98rKkg.r.U81o1Wy.5hEzaStk
clock timezone +0330 3 30
!
no ip domain-lookup
ip cef
ip cef load-sharing algorithm include-ports source destination
mpls label range 160000 169999
mpls label protocol ldp
mpls ldp password required
mpls ldp password option 1 for SUBNET_10 7 022916530A082A334B5B07352934
mpls ldp session protection
!
interface Loopback0
ip address 10.255.255.16 255.255.255.255
ip ospf 1000 area 0
!
interface Ethernet0/0
no switchport
ip address 10.201.80.16 255.255.255.0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 7 143800030D0A0F39233D3D190E30
ip ospf 1000 area 200
mpls ip
!
interface Ethernet0/1
no switchport
ip address 10.201.90.16 255.255.255.0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 7 153D190405240E362F263B0E3F24
ip ospf 1000 area 200
mpls ip
!
interface Ethernet2/2
no switchport
ip address 10.0.162.16 255.255.255.0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 7 06291D294D402C0B02021C272027
ip ospf network point-to-point
ip ospf 1000 area 0
mpls ip
!
interface Ethernet2/3
no switchport
ip address 10.0.164.16 255.255.255.0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 7 072033444F073C17100705202809
ip ospf network point-to-point
ip ospf 1000 area 0
mpls ip
!
router ospf 1000
router-id 10.255.255.16
ignore lsa mospf
ispf
log-adjacency-changes detail
auto-cost reference-bandwidth 10000
ttl-security all-interfaces
passive-interface default
no passive-interface Ethernet0/0
no passive-interface Ethernet0/1
no passive-interface Ethernet2/2
no passive-interface Ethernet2/3
!
ip ssh time-out 60
ip ssh authentication-retries 2
ip ssh version 2
ip ssh server algorithm encryption aes128-ctr aes192-ctr aes256-ctr
ip ssh client algorithm encryption aes128-ctr aes192-ctr aes256-ctr
!
ip access-list standard SUBNET_10
permit 10.0.0.0 0.255.255.255
!
mpls ldp router-id Loopback0
!
Agg-SW-17:
hostname Agg-SW-17
!
enable secret 8 $8$qrvK7qOfUAK8cR$AyzNf8DV1Ifjl28oSLtuH4OLJpYdYsaRYbAvCytvXFw
!
username ccie secret 8 $8$BbZoIfDWgfpL.h$MOXoPRFZbiuVqm6Yae98rKkg.r.U81o1Wy.5hEzaStk
clock timezone +0330 3 30
!
no ip domain-lookup
ip cef
ip cef load-sharing algorithm include-ports source destination
mpls label range 170000 179999
mpls label protocol ldp
mpls ldp password required
mpls ldp password option 1 for SUBNET_10 7 022916530A082A334B5B07352934
mpls ldp session protection
!
interface Loopback0
ip address 10.255.255.17 255.255.255.255
ip ospf 1000 area 0
!
interface Ethernet0/0
no switchport
ip address 10.201.90.17 255.255.255.0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 7 022916530A082A334B5B07352934
ip ospf 1000 area 200
mpls ip
!
interface Ethernet0/1
no switchport
ip address 10.201.80.17 255.255.255.0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 7 022916530A082A334B5B07352934
ip ospf 1000 area 200
mpls ip
!
interface Ethernet2/2
no switchport
ip address 10.0.174.17 255.255.255.0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 7 032B49030701045E491C17293B31
ip ospf network point-to-point
ip ospf 1000 area 0
mpls ip
!
interface Ethernet2/3
no switchport
ip address 10.0.172.17 255.255.255.0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 OrhanErgunLLC
ip ospf network point-to-point
ip ospf 1000 area 0
mpls ip
!
router ospf 1000
router-id 10.255.255.17
ignore lsa mospf
ispf
log-adjacency-changes detail
auto-cost reference-bandwidth 10000
ttl-security all-interfaces
passive-interface default
no passive-interface Ethernet0/0
no passive-interface Ethernet0/1
no passive-interface Ethernet2/2
no passive-interface Ethernet2/3
!
ip ssh time-out 60
ip ssh authentication-retries 2
ip ssh version 2
ip ssh server algorithm encryption aes128-ctr aes192-ctr aes256-ctr
ip ssh client algorithm encryption aes128-ctr aes192-ctr aes256-ctr
!
ip access-list standard SUBNET_10
permit 10.0.0.0 0.255.255.255
!
mpls ldp router-id Loopback0
!
Just like previous tasks, the distribution layer switches configuration is very easy and
straight forwar.
Acc-SW-27:
hostname Acc-SW-27
!
enable secret 8 $8$qrvK7qOfUAK8cR$AyzNf8DV1Ifjl28oSLtuH4OLJpYdYsaRYbAvCytvXFw
!
username ccie secret 8 $8$BbZoIfDWgfpL.h$MOXoPRFZbiuVqm6Yae98rKkg.r.U81o1Wy.5hEzaStk
!
vtp mode off
no ip routing
!
vlan 80
!
interface Loopback0
ip address 10.255.255.27 255.255.255.255
no ip route-cache
!
interface Ethernet0/0
switchport access vlan 80
switchport mode access
switchport nonegotiate
spanning-tree portfast edge
spanning-tree bpduguard enable
!
interface Ethernet0/1
switchport access vlan 80
switchport mode access
switchport nonegotiate
spanning-tree portfast edge
spanning-tree bpduguard enable
!
interface Ethernet0/2
switchport access vlan 80
switchport mode access
switchport nonegotiate
spanning-tree portfast edge
spanning-tree bpduguard enable
!
interface Ethernet0/3
switchport access vlan 80
switchport mode access
switchport nonegotiate
spanning-tree portfast edge
spanning-tree bpduguard enable
!
Acc-SW-28:
hostname Acc-SW-28
!
enable secret 8 $8$qrvK7qOfUAK8cR$AyzNf8DV1Ifjl28oSLtuH4OLJpYdYsaRYbAvCytvXFw
!
username ccie secret 8 $8$BbZoIfDWgfpL.h$MOXoPRFZbiuVqm6Yae98rKkg.r.U81o1Wy.5hEzaStk
vtp mode off
no ip routing
!
no ip domain-lookup
!
vlan 90
!
interface Loopback0
ip address 10.255.255.28 255.255.255.255
no ip route-cache
!
interface Ethernet0/0
switchport access vlan 90
switchport mode access
switchport nonegotiate
spanning-tree portfast edge
spanning-tree bpduguard enable
!
interface Ethernet0/1
switchport access vlan 90
switchport mode access
switchport nonegotiate
spanning-tree portfast edge
spanning-tree bpduguard enable
!
interface Ethernet0/2
switchport access vlan 90
switchport mode access
switchport nonegotiate
spanning-tree portfast edge
spanning-tree bpduguard enable
!
interface Ethernet0/3
switchport access vlan 90
switchport mode access
switchport nonegotiate
spanning-tree portfast edge
spanning-tree bpduguard enable
!
Edge-R-31:
mpls label range 310000 319999
mpls label protocol ldp
mpls ldp password required
mpls ldp password option 1 for SUBNET_10 7 022916530A082A334B5B07352934
mpls ldp session protection
!
router ospf 1000
mpls ldp sync
mpls ldp autoconfig
router-id 10.255.255.31
ignore lsa mospf
ispf
log-adjacency-changes detail
auto-cost reference-bandwidth 10000
ttl-security all-interfaces
passive-interface default
no passive-interface Ethernet0/0
no passive-interface Ethernet0/2
no passive-interface Ethernet0/3
default-information originate metric 1000
!
mpls ldp router-id Loopback0
!
interface Loopback0
ip address 10.255.255.31 255.255.255.255
ip ospf 1000 area 200
!
interface Ethernet0/0
ip address 10.200.12.31 255.255.255.0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 7 013C140C5A05231D265940253526
ip ospf network point-to-point
ip ospf 1000 area 200
!
interface Ethernet0/2
ip address 10.201.80.31 255.255.255.0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 7 11260B0D161C2E1E033F25080410
ip ospf 1000 area 200
!
interface Ethernet0/3
ip address 10.201.90.31 255.255.255.0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 7 032B49030701045E491C17293B31
ip ospf 1000 area 200
!
Edge-R-32:
mpls label range 320000 329999
mpls label protocol ldp
mpls ldp password required
mpls ldp password option 1 for SUBNET_10 7 022916530A082A334B5B07352934
mpls ldp session protection
!
router ospf 1000
mpls ldp sync
mpls ldp autoconfig
router-id 10.255.255.32
ignore lsa mospf
ispf
log-adjacency-changes detail
auto-cost reference-bandwidth 10000
ttl-security all-interfaces
passive-interface default
no passive-interface Ethernet0/0
no passive-interface Ethernet0/2
no passive-interface Ethernet0/3
default-information originate metric 2000
!
mpls ldp router-id Loopback0
!
interface Loopback0
ip address 10.255.255.32 255.255.255.255
ip ospf 1000 area 200
!
interface Ethernet0/0
ip address 10.200.12.32 255.255.255.0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 7 013C140C5A05231D265940253526
ip ospf network point-to-point
ip ospf 1000 area 200
!
interface Ethernet0/2
ip address 10.201.90.32 255.255.255.0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 7 072033444F073C17100705202809
ip ospf 1000 area 200
!
interface Ethernet0/3
ip address 10.201.80.32 255.255.255.0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 7 0524140720426B1B1E10193E272F
ip ospf 1000 area 200
!
Verification:
Edge-R-32:
router bgp 10000
bgp log-neighbor-changes
no bgp default ipv4-unicast
neighbor 200.105.32.105 remote-as 5000
neighbor 200.105.32.105 password 7 022916530A082A334B5B07352934
neighbor 200.106.32.106 remote-as 5000
neighbor 200.106.32.106 password 7 10611B11041937190B112407080B
!
address-family ipv4
neighbor 200.105.32.105 activate
neighbor 200.105.32.105 send-community both
neighbor 200.105.32.105 prefix-list MARTIAN in
neighbor 200.105.32.105 prefix-list MARTIAN out
neighbor 200.106.32.106 activate
neighbor 200.106.32.106 send-community both
neighbor 200.106.32.106 prefix-list MARTIAN in
neighbor 200.106.32.106 prefix-list MARTIAN out
exit-address-family
!
Verification:
We are going to configure NAT on edge routers to give internet access to the internal
devices.
First of all we need to match the source IP addresses using an ACL and then define a
NAT pool to translate source addresses to the public ones:
Edge-R-31:
interface Ethernet0/0
ip nat inside
!
interface Ethernet0/2
ip nat inside
!
interface Ethernet0/3
ip nat inside
!
interface Ethernet2/0
ip nat outside
!
interface Ethernet2/1
ip nat outside
!
ip access-list standard LOCAL_RANGE
permit 10.0.0.0 0.255.255.255
!
ip nat pool NAT_POOL1 150.101.101.1 150.101.101.254 prefix-length 24
ip nat inside source list LOCAL_RANGE pool NAT_POOL1
Edge-R-32:
interface Ethernet0/0
ip nat inside
!
interface Ethernet0/2
ip nat inside
!
interface Ethernet0/3
ip nat inside
!
interface Ethernet2/0
ip nat outside
!
interface Ethernet2/1
ip nat outside
!
ip access-list standard LOCAL_RANGE
permit 10.0.0.0 0.255.255.255
!
ip nat pool NAT_POOL2 150.102.102.1 150.102.102.254 prefix-length 24
ip nat inside source list LOCAL_RANGE pool NAT_POOL2
NAT is configured but ISP is not aware of those public outside ranges yet, we need to
advertise those subnets to the ISP:
Edge-R-31:
router bgp 10000
!
address-family ipv4
network 150.101.101.0 mask 255.255.255.0
!
!
Edge-R-32:
router bgp 10000
!
address-family ipv4
network 150.102.102.0 mask 255.255.255.0
!
!
Verification:
PC74#ping 8.8.8.8
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 8.8.8.8, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 56/63/78 ms
We should enable uRPF for internal interfaces, by default the router does not look at
the source IP address of the packets, it only forwards the packets based on the
destination IP addresses. So any IP packet with any IP address could be forwarded to
the destination based on the RIB/FIB information.
By enabling uRPF (Unicast Reverse Path Forwarding) we force the router to look at the
source IP address of the incoming packets.
For example by entering ip verify unicast source reachable-
reachable-via rx command under an
interface, the router checks the routing table to see if it has an specific route towards
that source IP address in the RIB, and also the source IP address should be reachable
via received interface.
As an example, if Edge-R-31 receives an IP packet from PC74 (10.30.40.102) on
interface e0/2, the edge router will check the routing table to see if it has reachability
information towords that source IP address with outgoing interface of e0/2:
Note: uRPF can be enabled on any campus MLS (Core, Distribution) devices, it was just
a practice in this lab that we used uRPF on perimeter routers.
Last step is to configure Zone Based Firewall on edge routers, this feature is going to
inspect interested traffic, we need to match the traffic using class-map and enable
inspection using policy-map. Also Zones and zone-pairs should be defined:
Edge-R-31:
zone security INSIDE
zone security OUTSIDE
interface Ethernet0/2
zone-member security INSIDE
!
interface Ethernet0/3
zone-member security INSIDE
!
interface Ethernet0/0
zone-member security INSIDE
!
interface Ethernet2/0
zone-member security OUTSIDE
!
interface Ethernet2/1
zone-member security OUTSIDE
!
Verification:
PC74#ping 8.8.8.8
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 8.8.8.8, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 53/67/92 ms
PC74#telnet 8.8.8.8
Trying 8.8.8.8 ...
Edge-R-31(config)#
*Jul 24 23:26:11.419: %FW-6-DROP_PKT: Dropping tcp session 10.30.40.102:44884 8.8.8.8:23 on zone-pair IN-TO-OUT
class class-default due to DROP action found in policy-map with ip ident 44431
Inspect
Packet inspection statistics [process switch:fast switch]
tcp packets: [0:4]
icmp packets: [0:43]
--More--
We also need to tune BGP! Zone-Based Firewall in IOS is not active-active and two
firewalls are not in sync with each other, so we need to force the incoming traffic to
come to the same device (if Edge-R-31 is used to forward the traffic to the ISP, the same
Edge device should receive the incoming traffic from the ISP, otherwise the other edge
router will drop the incoming flow because it is not aware of it).
Edge-R-31:
ip prefix-list NAT-RANGE2 seq 5 permit 150.102.102.0/24
ip prefix-list DMVPN-RANGE seq 5 permit 200.105.30.0/24
ip prefix-list DMVPN-RANGE seq 10 permit 200.105.29.0/24
!
route-map TO-ISP permit 40
match ip address prefix-list NAT-RANGE2
set as-path prepend 10000
route-map TO-ISP permit 50
match ip address prefix-list DMVPN-RANGE
set as-path prepend 10000
route-map TO-ISP permit 60
!
router bgp 10000
!
address-family ipv4
neighbor 200.105.31.105 route-map TO-ISP out
neighbor 200.106.31.106 route-map TO-ISP out
exit-address-family
!
Edge-R-32:
ip prefix-list DMVPN-RANGE seq 5 permit 200.105.30.0/24
ip prefix-list DMVPN-RANGE seq 10 permit 200.105.29.0/24
ip prefix-list NAT-RANGE1 seq 5 permit 150.101.101.0/24
!
route-map TO-ISP permit 40
match ip address prefix-list NAT-RANGE1
set as-path prepend 10000 10000
route-map TO-ISP permit 50
match ip address prefix-list DMVPN-RANGE
set as-path prepend 10000 10000
route-map TO-ISP permit 60
!
router bgp 10000
!
address-family ipv4
neighbor 200.105.32.105 route-map TO-ISP out
neighbor 200.106.32.106 route-map TO-ISP out
exit-address-family
!
Verification:
Task-8:
Configure the WAN Aggregation block according to the topology
OSPF, MPLS/LDP should be configured just like previous tasks
Edge routers (Edge-R29 and Edge-R30) must form eBGP to the ISP and also iBGP
with each other (also with Edge-R-31 and Edge-R-32)
All BGP neighbors must be authenticated using password “OrhanErgunLLC”
Block Bogon/Martian networks (To/From ISP)
Both standard and extended communities should be sent to the neighbors
WAN Aggregation routers must use BGP Multipath for IPv4 AF
Edge-R29 and Edge-R30 should be Hub for DMVPN (Phase 3)
Use EIGRP as the Dynamic Routing Protocol for DMVPN
DMVPN remote sites should be able to reach all campus networks
Solution:
Just like previous tasks, we need to configure OSPF, MPLS/LDP in this block, one
difference is that there is no Access Layer in this part, Aggregation routers are directly
connected to the Distribution Layer switches.
We could design the Internet Aggregation block just like this one, but for labbing
purpose we have used access layer devices in that block.
This OSPF area is going to be configured as NSSA type, we don’t need to have external
prefixes on Aggregation edge devices, because they are going to form iBGP with
Internet Aggregation edge devices and receive external routes from BGP. Also this area
could not be configured as Stub area, because edge routers are going to redistribute
EIGRP and also BGP learned routes into OSPF domain.
Agg-SW-7:
hostname Agg-SW-7
!
enable secret 8 $8$lLlQ1l7EZREZah$/SyYyvuuyvhuxiLkoGqUZXSUpGKPImOxlTPEmcSWitM
!
username ccie secret 8 $8$ij8b2/D6/by62B$rwG5EOIEKQEmFyd0KWFcnQV318Ns/HvxHO0Ki4ZoOig
no aaa new-model
clock timezone +0330 3 30
!
no ip domain-lookup
ip domain-name orhan.local
ip cef
ip cef load-sharing algorithm include-ports source destination
no ipv6 cef
mpls label range 70000 79999
mpls label protocol ldp
mpls ldp password required
mpls ldp password option 1 for SUBNET_10 7 072033444F073C17100705202809
mpls ldp session protection
!
interface Loopback0
ip address 10.255.255.7 255.255.255.255
ip ospf 1000 area 0
!
interface Ethernet0/0
no switchport
ip address 10.0.87.7 255.255.255.0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 7 1236171F130529162D3E2A041F16
ip ospf network point-to-point
ip ospf 1000 area 0
mpls ip
!
interface Ethernet0/1
no switchport
ip address 10.129.7.7 255.255.255.0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 7 032B49030701045E491C17293B31
ip ospf network point-to-point
ip ospf 1000 area 100
mpls ip
!
interface Ethernet0/2
no switchport
ip address 10.130.7.7 255.255.255.0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 7 11260B0D161C2E1E033F25080410
ip ospf network point-to-point
ip ospf 1000 area 100
mpls ip
!
interface Ethernet2/0
no switchport
ip address 10.0.74.7 255.255.255.0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 7 013C140C5A05231D265940253526
ip ospf network point-to-point
ip ospf 1000 area 0
mpls ip
!
interface Ethernet2/1
no switchport
ip address 10.0.73.7 255.255.255.0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 7 022916530A082A334B5B07352934
ip ospf network point-to-point
ip ospf 1000 area 0
mpls ip
!
router ospf 1000
router-id 10.255.255.7
ignore lsa mospf
ispf
log-adjacency-changes detail
auto-cost reference-bandwidth 10000
ttl-security all-interfaces
area 100 nssa
passive-interface default
no passive-interface Ethernet0/0
no passive-interface Ethernet0/1
no passive-interface Ethernet0/2
no passive-interface Ethernet2/0
no passive-interface Ethernet2/1
!
ip ssh time-out 60
ip ssh authentication-retries 2
ip ssh version 2
ip ssh server algorithm encryption aes128-ctr aes192-ctr aes256-ctr
ip ssh client algorithm encryption aes128-ctr aes192-ctr aes256-ctr
!
ip access-list standard SUBNET_10
permit 10.0.0.0 0.255.255.255
!
mpls ldp router-id Loopback0
Agg-SW-8:
hostname Agg-SW-8
!
enable secret 8 $8$lLlQ1l7EZREZah$/SyYyvuuyvhuxiLkoGqUZXSUpGKPImOxlTPEmcSWitM
!
username ccie secret 8 $8$ij8b2/D6/by62B$rwG5EOIEKQEmFyd0KWFcnQV318Ns/HvxHO0Ki4ZoOig
no aaa new-model
clock timezone +0330 3 30
!
no ip domain-lookup
ip domain-name orhan.local
ip cef
ip cef load-sharing algorithm include-ports source destination
no ipv6 cef
mpls label range 80000 89999
mpls label protocol ldp
mpls ldp password required
mpls ldp password option 1 for SUBNET_10 7 072033444F073C17100705202809
mpls ldp session protection
!
interface Loopback0
ip address 10.255.255.8 255.255.255.255
ip ospf 1000 area 0
!
interface Ethernet0/0
no switchport
ip address 10.0.87.8 255.255.255.0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 7 1236171F130529162D3E2A041F16
ip ospf network point-to-point
ip ospf 1000 area 0
mpls ip
!
interface Ethernet0/1
no switchport
ip address 10.130.8.8 255.255.255.0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 7 072033444F073C17100705202809
ip ospf network point-to-point
ip ospf 1000 area 100
mpls ip
!
interface Ethernet0/2
no switchport
ip address 10.129.8.8 255.255.255.0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 7 132A051A0A0221382C31261F1901
ip ospf network point-to-point
ip ospf 1000 area 100
mpls ip
!
interface Ethernet2/1
no switchport
ip address 10.0.84.8 255.255.255.0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 7 0524140720426B1B1E10193E272F
ip ospf network point-to-point
ip ospf 1000 area 0
mpls ip
!
interface Ethernet2/2
no switchport
ip address 10.0.83.8 255.255.255.0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 7 132A051A0A0221382C31261F1901
ip ospf network point-to-point
Edge-R29:
crypto isakmp policy 10000
encryption aes 256
hash sha256
authentication pre-share
group 24
crypto isakmp key orhan address 0.0.0.0
crypto ipsec transform-set DMVPN-TS esp-aes 256 esp-sha256-hmac
mode transport
crypto ipsec profile DMVPN-PF
set transform-set DMVPN-TS
interface Tunnel10000
ip address 192.168.255.29 255.255.255.0
no ip redirects
ip mtu 1400
ip nhrp authentication Orhan
ip nhrp network-id 2930
ip nhrp holdtime 60
ip nhrp redirect
ip tcp adjust-mss 1360
tunnel source GigabitEthernet5
tunnel mode gre multipoint
tunnel key 123456
tunnel protection ipsec profile DMVPN-PF
!
router eigrp DMVPN
!
address-family ipv4 unicast autonomous-system 10000
!
af-interface default
passive-interface
exit-af-interface
!
af-interface Tunnel10000
no passive-interface
summary-address 10.0.0.0 255.0.0.0
summary-address 192.168.0.0 255.255.0.0
exit-af-interface
!
topology base
default-metric 10000 100 255 1 1500
exit-af-topology
network 192.168.255.0
exit-address-family
We have configured two Summary addresses under EIGRP process for Tunnel interface
10000, one of those summary addresses (192.168.0.0/16) is for DMVPN phase 3, by
sending a summary routes to the spokes, Hub can send them only a single prefix. So we
reduce spoke routers RIB size, and also they can be told more specific routes using
NHRP redirect messages when it is needed.
The other summary address is for giving remote sites the HQ devices reachability
(10.0.0.0/8).
Also we redistributed EIGRP learned routes into BGP, so Internet Aggregation edge
routers can learn about those prefixes.
Now time to configure OSPF and enable MPLS/LDP and redistribute BGP learned
routes (Only the routes that edge routers learn from MPLS WAN, not the routes learned
from Internet! Because of that we use a route-map to only allow limited routes to be
redistributed into OSPF, otherwise we can put OSPF and our whole enterprise
connectivity in danger by redistributing Full Internet BGP Table into an IGP (OSPF).
Edge-R29:
ip access-list standard SUBNET_10
10 permit 10.0.0.0 0.255.255.255
!
mpls label range 290000 299999
mpls label protocol ldp
mpls ldp password required
mpls ldp password option 1 for SUBNET_10 7 080E5E4608172005151E02280608
mpls ldp session protection
mpls ldp router-id Loopback0
!
ip prefix-list REMOTE-SITE-SUBNETS seq 5 permit 192.168.3.0/24
ip prefix-list REMOTE-SITE-SUBNETS seq 10 permit 192.168.4.0/24
!
route-map REDIST-BGP-TO-OSPF permit 10
match ip address prefix-list REMOTE-SITE-SUBNETS
set metric 3000
!
router ospf 1000
router-id 10.255.255.29
ignore lsa mospf
log-adjacency-changes detail
auto-cost reference-bandwidth 10000
ttl-security all-interfaces
area 100 nssa
redistribute eigrp 10000
redistribute bgp 10000 route-map REDIST-BGP-TO-OSPF
passive-interface default
no passive-interface GigabitEthernet1
no passive-interface GigabitEthernet2
mpls ldp autoconfig
!
Edge-R30:
ip cef load-sharing algorithm include-ports source destination
!
mpls label range 30000 39999
mpls label protocol ldp
mpls ldp password required
mpls ldp password option 1 for SUBNET_10 7 022916530A082A334B5B07352934
mpls ldp session protection
!
crypto isakmp policy 10000
encryption aes 256
hash sha256
authentication pre-share
group 24
crypto isakmp key nmaxi address 0.0.0.0
!
!
crypto ipsec transform-set DMVPN-TS esp-aes 256 esp-sha256-hmac
mode transport
!
crypto ipsec profile DMVPN-PF
set transform-set DMVPN-TS
!
interface Loopback0
ip address 10.255.255.30 255.255.255.255
ip ospf 1000 area 100
!
interface Tunnel10000
ip address 192.168.255.30 255.255.255.0
no ip redirects
ip mtu 1400
ip nhrp authentication Orhan
ip nhrp network-id 2930
ip nhrp holdtime 60
ip nhrp redirect
ip tcp adjust-mss 1360
tunnel source GigabitEthernet6
tunnel mode gre multipoint
tunnel key 123456
tunnel protection ipsec profile DMVPN-PF
!
interface GigabitEthernet1
ip address 10.130.8.30 255.255.255.0
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 7 002B010E05552E1408344262253A
address-family ipv4
network 192.168.0.0 mask 255.255.0.0
network 200.105.30.0
redistribute eigrp 10000
neighbor 10.103.30.103 activate
neighbor 10.104.30.104 activate
neighbor 10.255.255.29 activate
neighbor 10.255.255.29 send-community both
neighbor 10.255.255.29 next-hop-self
neighbor 10.255.255.31 activate
neighbor 10.255.255.31 send-community both
neighbor 10.255.255.31 next-hop-self
neighbor 10.255.255.32 activate
neighbor 10.255.255.32 send-community both
neighbor 10.255.255.32 next-hop-self
neighbor 200.105.30.105 activate
neighbor 200.105.30.105 send-community both
neighbor 200.105.30.105 prefix-list MARTIAN in
neighbor 200.105.30.105 prefix-list MARTIAN out
maximum-paths ibgp 2
exit-address-family
!
!
ip access-list standard SUBNET_10
10 permit 10.0.0.0 0.255.255.255
!
ip prefix-list MARTIAN seq 5 deny 0.0.0.0/8 le 32
ip prefix-list MARTIAN seq 10 deny 10.0.0.0/8 le 32
ip prefix-list MARTIAN seq 15 deny 172.16.0.0/12 le 32
ip prefix-list MARTIAN seq 20 deny 192.168.0.0/16 le 32
ip prefix-list MARTIAN seq 25 deny 127.0.0.0/8 le 32
ip prefix-list MARTIAN seq 30 deny 169.254.0.0/16 le 32
ip prefix-list MARTIAN seq 35 deny 192.0.2.0/24 le 32
ip prefix-list MARTIAN seq 40 deny 224.0.0.0/4 le 32
ip prefix-list MARTIAN seq 45 deny 240.0.0.0/4 le 32
ip prefix-list MARTIAN seq 50 permit 0.0.0.0/0 le 32
!
ip prefix-list REMOTE-SITE-SUBNETS seq 5 permit 192.168.3.0/24
ip prefix-list REMOTE-SITE-SUBNETS seq 10 permit 192.168.4.0/24
!
!
route-map REDIST-BGP-TO-OSPF permit 10
match ip address prefix-list REMOTE-SITE-SUBNETS
set metric 3000
!
Also, Internet Aggregation edge routers need to form iBGP with these two edge routers:
Edge-R-31:
router bgp 10000
neighbor 10.255.255.29 remote-as 10000
neighbor 10.255.255.29 password 7 143800030D0A0F39233D3D190E30
neighbor 10.255.255.29 update-source Loopback0
neighbor 10.255.255.30 remote-as 10000
neighbor 10.255.255.30 password 7 013C140C5A05231D265940253526
neighbor 10.255.255.30 update-source Loopback0
!
address-family ipv4
neighbor 10.255.255.29 activate
neighbor 10.255.255.29 send-community both
neighbor 10.255.255.29 next-hop-self
neighbor 10.255.255.30 activate
neighbor 10.255.255.30 send-community both
neighbor 10.255.255.30 next-hop-self
exit-address-family
Edge-R-32:
router bgp 10000
neighbor 10.255.255.29 remote-as 10000
neighbor 10.255.255.29 password 7 1236171F130529162D3E2A041F16
neighbor 10.255.255.29 update-source Loopback0
neighbor 10.255.255.30 remote-as 10000
neighbor 10.255.255.30 password 7 153D190405240E362F263B0E3F24
neighbor 10.255.255.30 update-source Loopback0
!
address-family ipv4
neighbor 10.255.255.29 activate
neighbor 10.255.255.29 send-community both
neighbor 10.255.255.29 next-hop-self
neighbor 10.255.255.29 route-map TO-DMVPN-PEERS out
Verification:
Edge-R29(config)#do sh ip ospf ne
Edge-R30(config)#do sh ip ospf ne
Task-9:
Configure Remote Site edge routers (eBGP as the PE-CE routing protocol for
MPLS sites, Static default route for DMVPN sites)
iVRF should be configured on DMVPN site 5, the second tunnel interface with
e0/2 as the tunnel source sould be backup for the first (primary) tunnel interface
DMVPN Site 1 FHRP should be GLBP.
Configure Private VLANs according to the diagram in DMVPN Site 1
Solution:
We are not going to explain DMVPN configuration steps because it is deeply discussed
in VPN Technologies Lab of the workbook.
Let’s configure all Remote sites edge routers other than DMVPN Site 5:
Remote-Site-1-Edge-R34:
hostname R-Site1-Edge-R34
!
enable secret 8 $8$qrvK7qOfUAK8cR$AyzNf8DV1Ifjl28oSLtuH4OLJpYdYsaRYbAvCytvXFw
!
no aaa new-model
clock timezone +0330 3 30
no ip domain lookup
ip domain name orhan.local
ip cef
ip cef load-sharing algorithm include-ports source destination
no ipv6 cef
!
username ccie secret 8 $8$BbZoIfDWgfpL.h$MOXoPRFZbiuVqm6Yae98rKkg.r.U81o1Wy.5hEzaStk
!
ip ssh time-out 60
ip ssh authentication-retries 2
ip ssh version 2
!
crypto isakmp policy 10000
encr aes 256
hash sha256
authentication pre-share
group 24
crypto isakmp key orhan address 0.0.0.0
!
crypto ipsec transform-set DMVPN-TS esp-aes 256 esp-sha256-hmac
mode transport
!
crypto ipsec profile DMVPN-PF
set transform-set DMVPN-TS
!
interface Loopback0
ip address 10.255.255.34 255.255.255.255
!
interface Tunnel10000
ip address 192.168.255.34 255.255.255.0
no ip redirects
ip mtu 1400
ip nhrp authentication Orhan
ip nhrp network-id 34
ip nhrp holdtime 60
ip nhrp nhs 192.168.255.30 nbma 200.105.30.30 multicast
ip nhrp nhs 192.168.255.29 nbma 200.105.29.29 multicast
ip nhrp shortcut
ip tcp adjust-mss 1360
tunnel source Ethernet0/0
tunnel mode gre multipoint
tunnel key 123456
tunnel protection ipsec profile DMVPN-PF
!
interface Ethernet0/3
Remote-Site-1-Edge-R33:
hostname R-Site1-Edge-R33
!
enable secret 8 $8$qrvK7qOfUAK8cR$AyzNf8DV1Ifjl28oSLtuH4OLJpYdYsaRYbAvCytvXFw
clock timezone +0330 3 30
no ip icmp rate-limit unreachable
!
no ip domain lookup
ip domain name orhan.local
ip cef
ip cef load-sharing algorithm include-ports source destination
no ipv6 cef
!
username ccie secret 8 $8$BbZoIfDWgfpL.h$MOXoPRFZbiuVqm6Yae98rKkg.r.U81o1Wy.5hEzaStk
!
ip ssh time-out 60
ip ssh authentication-retries 2
ip ssh version 2
!
crypto isakmp policy 10000
encr aes 256
hash sha256
authentication pre-share
group 24
crypto isakmp key nmaxi address 0.0.0.0
!
!
crypto ipsec transform-set DMVPN-TS esp-aes 256 esp-sha256-hmac
mode transport
!
crypto ipsec profile DMVPN-PF
set transform-set DMVPN-TS
!
interface Loopback0
ip address 10.255.255.33 255.255.255.255
!
interface Tunnel10000
ip address 192.168.255.33 255.255.255.0
no ip redirects
ip mtu 1400
ip nhrp authentication Orhan
ip nhrp network-id 33
ip nhrp holdtime 60
ip nhrp nhs 192.168.255.30 nbma 200.105.30.30 multicast
ip nhrp nhs 192.168.255.29 nbma 200.105.29.29 multicast
ip nhrp shortcut
ip tcp adjust-mss 1360
tunnel source Ethernet0/0
tunnel mode gre multipoint
tunnel key 123456
tunnel protection ipsec profile DMVPN-PF
!
interface Ethernet0/0
ip address 201.105.33.33 255.255.255.0
!
interface Ethernet0/1
ip address 192.168.34.33 255.255.255.0
!
interface Ethernet0/2
ip address 192.168.1.33 255.255.255.0
glbp 1 ip 192.168.1.254
glbp 1 authentication md5 key-string 7 060802205447
!
!
router eigrp DMVPN
!
address-family ipv4 unicast autonomous-system 10000
!
af-interface default
passive-interface
exit-af-interface
!
af-interface Tunnel10000
no passive-interface
exit-af-interface
!
af-interface Ethernet0/1
no passive-interface
exit-af-interface
!
af-interface Ethernet0/2
no passive-interface
exit-af-interface
!
topology base
exit-af-topology
network 10.255.255.33 0.0.0.0
network 192.168.1.0
network 192.168.34.0
network 192.168.255.0
exit-address-family
!
ip route 0.0.0.0 0.0.0.0 201.105.33.105
!
Remote-Site-2-Edge-R35:
hostname R-Site2-Edge-R35
!
enable secret 8 $8$qrvK7qOfUAK8cR$AyzNf8DV1Ifjl28oSLtuH4OLJpYdYsaRYbAvCytvXFw
!
no aaa new-model
clock timezone +0330 3 30
no ip icmp rate-limit unreachable
!
no ip domain lookup
ip domain name nmaxi.local
ip cef
ip cef load-sharing algorithm include-ports source destination
no ipv6 cef
!
username ccie secret 8 $8$BbZoIfDWgfpL.h$MOXoPRFZbiuVqm6Yae98rKkg.r.U81o1Wy.5hEzaStk
!
ip ssh time-out 60
ip ssh authentication-retries 2
ip ssh version 2
!
crypto isakmp policy 10000
encr aes 256
hash sha256
authentication pre-share
group 24
crypto isakmp key orhan address 0.0.0.0
!
!
crypto ipsec transform-set DMVPN-TS esp-aes 256 esp-sha256-hmac
mode transport
!
crypto ipsec profile DMVPN-PF
set transform-set DMVPN-TS
!
interface Loopback0
ip address 10.255.255.35 255.255.255.255
!
interface Tunnel10000
ip address 192.168.255.35 255.255.255.0
no ip redirects
ip mtu 1400
ip nhrp authentication Orhan
ip nhrp network-id 35
ip nhrp holdtime 60
ip nhrp nhs 192.168.255.30 nbma 200.105.30.30 multicast
ip nhrp nhs 192.168.255.29 nbma 200.105.29.29 multicast
ip nhrp shortcut
ip tcp adjust-mss 1360
tunnel source Ethernet0/1
tunnel mode gre multipoint
tunnel key 123456
tunnel protection ipsec profile DMVPN-PF
!
!
router eigrp DMVPN
!
address-family ipv4 unicast autonomous-system 10000
!
af-interface default
passive-interface
exit-af-interface
!
af-interface Tunnel10000
no passive-interface
exit-af-interface
!
af-interface Ethernet0/0
no passive-interface
exit-af-interface
!
topology base
exit-af-topology
network 10.255.255.35 0.0.0.0
network 192.168.2.0
network 192.168.255.0
exit-address-family
!
ip route 0.0.0.0 0.0.0.0 201.106.35.106
!
Remote-Site-3-Edge-R36:
hostname R-Site3-Edge-R36
!
enable secret 8 $8$qrvK7qOfUAK8cR$AyzNf8DV1Ifjl28oSLtuH4OLJpYdYsaRYbAvCytvXFw
!
no aaa new-model
clock timezone +0330 3 30
no ip icmp rate-limit unreachable
!
no ip domain lookup
ip domain name orhan.local
ip cef
ip cef load-sharing algorithm include-ports source destination
no ipv6 cef
!
username ccie secret 8 $8$BbZoIfDWgfpL.h$MOXoPRFZbiuVqm6Yae98rKkg.r.U81o1Wy.5hEzaStk
!
ip ssh time-out 60
ip ssh authentication-retries 2
ip ssh version 2
!
interface Loopback0
ip address 10.255.255.36 255.255.255.255
!
interface Ethernet0/0
ip address 192.168.3.36 255.255.255.0
!
interface Ethernet0/1
ip address 10.107.36.36 255.255.255.0
!
interface Ethernet0/3
ip address 10.106.36.36 255.255.255.0
!
router bgp 10000
bgp log-neighbor-changes
no bgp default ipv4-unicast
neighbor 10.106.36.106 remote-as 5000
neighbor 10.107.36.107 remote-as 5000
!
address-family ipv4
network 10.255.255.36 mask 255.255.255.255
network 192.168.3.0
neighbor 10.106.36.106 activate
neighbor 10.107.36.107 activate
exit-address-family
!
Remote-Site-4-Edge-R37:
hostname R-Site4-Edge-R37
!
enable secret 8 $8$qrvK7qOfUAK8cR$AyzNf8DV1Ifjl28oSLtuH4OLJpYdYsaRYbAvCytvXFw
!
no aaa new-model
clock timezone +0330 3 30
no ip icmp rate-limit unreachable
!
no ip domain lookup
ip domain name orhan.local
ip cef
ip cef load-sharing algorithm include-ports source destination
no ipv6 cef
!
username ccie secret 8 $8$BbZoIfDWgfpL.h$MOXoPRFZbiuVqm6Yae98rKkg.r.U81o1Wy.5hEzaStk
!
!
ip ssh time-out 60
ip ssh authentication-retries 2
ip ssh version 2
!
interface Loopback0
ip address 10.255.255.37 255.255.255.255
!
interface Ethernet0/0
ip address 10.103.37.37 255.255.255.0
!
interface Ethernet0/1
ip address 192.168.4.37 255.255.255.0
!
interface Ethernet0/2
ip address 10.104.37.37 255.255.255.0
!
router bgp 10000
bgp log-neighbor-changes
no bgp default ipv4-unicast
neighbor 10.103.37.103 remote-as 5000
neighbor 10.104.37.104 remote-as 5000
!
address-family ipv4
network 10.255.255.37 mask 255.255.255.255
network 192.168.4.0
neighbor 10.103.37.103 activate
neighbor 10.104.37.104 activate
maximum-paths eibgp 2
exit-address-family
!
We want to make one WAN link as a backup for our primary one while the physical
interface is still up (the backup one, e0/2). It is easily possible using iVRF.
Two VRFs can be configured, so we can have 2 default routes on separate VRFs
pointing to the Service Provider edge routers as a gateway.
Also on DMVPN hubs, IKEv1 is configured, how we can make ISAKMP policy to be VRF
aware? Also how we can put those two tunnels received routes (via EIGRP) into the
global routing table and also use the interfaces in two separate VRFs as the tunnels
sources?!
It means e0/1 is part of VRF WAN1 and e0/2 is part of VRF WAN2, the two tunnels we
create are going to be part of those two VRFs, but DMVPN learned routes (EIGRP
learned routes) will be put into the Global routing table!
Remote-Site-5-Edge-R38:
vrf definition WAN1
!
address-family ipv4
exit-address-family
!
!
interface Ethernet0/1
vrf forwarding WAN1
ip address 201.107.38.38 255.255.255.0
!
ip route vrf WAN1 0.0.0.0 0.0.0.0 201.107.38.107
vrf definition WAN2
!
address-family ipv4
exit-address-family
!
!
interface Ethernet0/2
vrf forwarding WAN2
ip address 201.103.38.38 255.255.255.0
!
ip route vrf WAN2 0.0.0.0 0.0.0.0 201.103.38.103
crypto keyring WAN1 vrf WAN1
pre-shared-key address 0.0.0.0 0.0.0.0 key orhan
crypto keyring WAN2 vrf WAN2
pre-shared-key address 0.0.0.0 0.0.0.0 key orhan
crypto isakmp policy 10000
encr aes 256
hash sha256
authentication pre-share
group 24
crypto isakmp keepalive 10 periodic
crypto ipsec transform-set DMVPN-TS esp-aes 256 esp-sha256-hmac
mode transport
crypto ipsec profile DMVPN-PF
set transform-set DMVPN-TS
interface Tunnel10001
backup interface Tunnel10002
ip address 192.168.255.38 255.255.255.0
no ip redirects
ip mtu 1400
ip nhrp authentication Orhan
ip nhrp network-id 138
ip nhrp holdtime 60
ip nhrp nhs 192.168.255.30 nbma 200.105.30.30 multicast
ip nhrp nhs 192.168.255.29 nbma 200.105.29.29 multicast
ip nhrp shortcut
ip tcp adjust-mss 1360
tunnel source Ethernet0/1
tunnel mode gre multipoint
tunnel key 123456
tunnel vrf WAN1
tunnel protection ipsec profile DMVPN-PF
!
interface Tunnel10002
ip address 192.168.255.38 255.255.255.0
no ip redirects
ip mtu 1400
ip nhrp authentication Orhan
ip nhrp network-id 238
ip nhrp holdtime 60
ip nhrp nhs 192.168.255.30 nbma 200.105.30.30 multicast
ip nhrp nhs 192.168.255.29 nbma 200.105.29.29 multicast
ip nhrp shortcut
ip tcp adjust-mss 1360
tunnel source Ethernet0/2
tunnel mode gre multipoint
tunnel key 123456
tunnel vrf WAN2
tunnel protection ipsec profile DMVPN-PF
!
router eigrp DMVPN
!
address-family ipv4 unicast autonomous-system 10000
!
af-interface default
passive-interface
exit-af-interface
!
af-interface Tunnel10001
no passive-interface
exit-af-interface
!
af-interface Tunnel10002
no passive-interface
exit-af-interface
!
topology base
redistribute rip metric 10000 1000 255 1 1500
exit-af-topology
network 10.255.255.38 0.0.0.0
network 192.168.255.0
exit-address-family
!
interface Ethernet0/0
ip address 192.168.5.38 255.255.255.0
!
Verification:
Edge-R29(config)#do sh ip eigrp ne
EIGRP-IPv4 VR(DMVPN) Address-Family Neighbors for AS(10000)
H Address Interface Hold Uptime SRTT RTO Q Seq
(sec) (ms) Cnt Num
3 192.168.255.38 Tu10000 12 01:38:54 13 1476 0 4
2 192.168.255.33 Tu10000 10 01:38:57 37 1362 0 17
1 192.168.255.34 Tu10000 13 01:38:58 15 1362 0 16
0 192.168.255.35 Tu10000 10 01:39:00 32 1398 0 3
Edge-R30(config)#do sh ip eigrp ne
EIGRP-IPv4 VR(DMVPN) Address-Family Neighbors for AS(10000)
H Address Interface Hold Uptime SRTT RTO Q Seq
(sec) (ms) Cnt Num
3 192.168.255.38 Tu10000 10 01:39:06 74 1398 0 5
2 192.168.255.33 Tu10000 12 01:39:09 43 1398 0 17
1 192.168.255.34 Tu10000 11 01:39:09 26 1362 0 16
0 192.168.255.35 Tu10000 12 01:39:12 31 1362 0 5
Site1-SW:
vlan 15
private-vlan isolated
vlan 16
private-vlan community
vlan 95
private-vlan primary
private-vlan association 15-16
!
interface Ethernet0/0
switchport private-vlan host-association 95 16
switchport mode private-vlan host
spanning-tree portfast edge
spanning-tree bpduguard enable
!
interface Ethernet0/1
switchport private-vlan host-association 95 15
switchport mode private-vlan host
spanning-tree portfast edge
spanning-tree bpduguard enable
!
interface Ethernet0/2
switchport private-vlan mapping 95 15-16
switchport mode private-vlan promiscuous
spanning-tree portfast edge
spanning-tree bpduguard enable
!
interface Ethernet0/3
switchport private-vlan mapping 95 15-16
switchport mode private-vlan promiscuous
spanning-tree portfast edge
spanning-tree bpduguard enable
!
interface Ethernet1/0
switchport private-vlan host-association 95 15
switchport mode private-vlan host
spanning-tree portfast edge
spanning-tree bpduguard enable
!
interface Ethernet1/1
switchport private-vlan host-association 95 15
switchport mode private-vlan host
spanning-tree portfast edge
spanning-tree bpduguard enable
!
interface Ethernet1/2
switchport private-vlan host-association 95 16
switchport mode private-vlan host
spanning-tree portfast edge
spanning-tree bpduguard enable
!
Verification:
Vlan Type
---- -----------------
15 isolated
16 community
95 primary
PC87#ping 192.168.1.255 re 1
Type escape sequence to abort.
Sending 1, 100-byte ICMP Echos to 192.168.1.255, timeout is 2 seconds:
PC85#ping 192.168.1.255 re 1
Type escape sequence to abort.
Sending 1, 100-byte ICMP Echos to 192.168.1.255, timeout is 2 seconds:
PC85#trace 10.255.255.9
Type escape sequence to abort.
Tracing the route to 10.255.255.9
VRF info: (vrf in name/id, vrf out name/id)
1 192.168.1.33 1 msec 1 msec 1 msec
2 192.168.255.29 15 msec
192.168.255.30 3 msec 2 msec
3 10.130.7.7 [MPLS: Label 70007 Exp 0] 7 msec 4 msec 4 msec
4 10.0.74.4 [MPLS: Label 40009 Exp 0] 4 msec 6 msec 4 msec
5 10.0.41.1 [MPLS: Label 10011 Exp 0] 5 msec 4 msec
10.0.31.1 [MPLS: Label 10011 Exp 0] 4 msec
6 10.0.91.9 5 msec * 24 msec
Task-10:
Enable Device Admin service on ISE
Configure AAA on Edge-R-31
VTY lines sould be configured in a way that users get Authenticated, Authorized
and Accounted
Solution:
By enabling Device Admin service on Cisco ISE, TACACS+ service is going to be
enabled. Using a TACACS+ server we can Authenticate users, Authorize them to see if
they are allowed to enter some commands or not, and also we can account their
activity.
Edge-R-31:
aaa new-model
tacacs server ISE1
address ipv4 10.50.50.98
key Test123
aaa group server tacacs+ ISE_SERVERS
server name ISE1
aaa authentication login AAA group ISE_SERVERS local
aaa authentication enable default group ISE_SERVERS enable
aaa authorization exec AAA group ISE_SERVERS local
aaa authorization commands 0 AAA group ISE_SERVERS local
aaa authorization commands 1 AAA group ISE_SERVERS local
aaa authorization commands 15 AAA group ISE_SERVERS local
aaa authorization config-commands
line vty 0 4
authorization commands 0 AAA
authorization commands 1 AAA
authorization commands 15 AAA
authorization exec AAA
login authentication AAA
transport input ssh
!
ip tacacs source-interface loopback 0
!
Verification: