Monday, March 19, 2018

The LinkedIn Challenge

Challenge Accepted!!!

I saw this topology scribbled on a piece of paper on LinkedIn with the caption "Try to Do it .." (https://www.linkedin.com/feed/update/urn:li:activity:6381105397989728256). Challenge Accepted! It actually wasn't a challenge at all. I knew the steps that needed to be completed to get the job done, frankly it just looked fun!



After completing the configuration I started having visions of all the other things we could do with this topology. Maybe this will become a series... I don't know... you decide.

The Proof:

There are lots of ways to bang this out quickly and sloppily, I tried to make it clear enough that I could understand what I did the next day.


Planning:


My advice is make your self a check list:

  1. Define the VLANs needed to support the topology
    1. a: Each router has 1 physical connection but requires many logical connections; this will require trunking on all ports connecting to routers
  2. Easy to understand IP schema and VLANs schema
  3. Protocols: BGP
    1. a: Define 2 Autonomous-Systems
    • iBGP does NOT need "next-hop-self" because it is full-mesh
Let's break the drawing up into 2 large parts: the left side and the right side.

VLANS:

Starting with the left side:


For every router to router connection we will define a VLAN. This VLAN number will be a composite of the Router numbers, starting with the lowest. If we take a look at R1 we see it needs connections to:

R1:

  • R1 -> R2 = VLAN 12
  • R1 -> R3 = VLAN 13
  • R1 -> R4 = VLAN 14
  • R1 -> R6 = VLAN 16
Then move to R2, but remember you already have a connection to R1 so you don't need to create another vlan for that.

R2:

  • R2 -> R1 = *** We already have this VLAN 12 ****
  • R2 -> R3 = VLAN 23
  • R2 -> R4 = VLAN 24
  • R2 -> R5 = VLAN 25
Router 3 will require even fewer VLANs because we already have VLANs defined for some of it's connections. We only need to define the Last VLAN:

R3:

  • R3 -> R1 = *** We already have this VLAN 13 ***
  • R3 -> R2 = *** We already have this VLAN 23 ***
  • R3 -> R4 = VLAN 34
Router 4 will NOT require any additional VLAN to support connectivity as all of its connections have already been defined.

R4:

  • R4 -> R1 = *** We already have this VLAN 14 ***
  • R4 -> R2 = *** We already have this VLAN 24 ***
  • R4 -> R3 = *** We already have this VLAN 34 ***


VLANs for the right side:


Again, I'll start with the lowest number Router on this side which is R5:

R5:

  • R5 -> R2 = *** We already have this VLAN 25 ***
  • R5 -> R6 = VLAN 56
  • R5 -> R7 = VLAN 57
  • R5 -> R8 = VLAN 58

R6:

  • R6 -> R1 = *** We already have this VLAN 16 ***
  • R6 -> R5 = *** We already have this VLAN 56 ***
  • R6 -> R7 = VLAN 67
  • R6 -> R8 = VLAN 68

R7:

  • R7 -> R5 = *** We already have this VLAN 57 ***
  • R7 -> R6 = *** We already have this VLAN 67 ***
  • R7 -> R8 = VLAN 78

R8:

  • R8 -> R5 = *** We already have this VLAN 58 ***
  • R8 -> R6 = *** We already have this VLAN 68 ***
  • R8 -> R7 = *** We already have this VLAN 78 ***

The above list's double as a trunking check-list per router.

IP Addressing:

All links in the drawing are direct connections between 2 routers. They will all follow the schema:

10.1.(VLAN #).(R#) / 24

Starting with R1...

R1:

  • R1 -> R2 = 10.1.12.1/24 (R2: 10.1.12.2/24)
  • R1 -> R3 = 10.1.13.1/24 (R3: 10.1.13.3/24)
  • R1 -> R4 = 10.1.14.1/24 (R4: 10.1.14.4/24)
  • R1 -> R6 = 10.1.16.1/24 (R6: 10.1.16.6/24)

Continue this for all the remain link's and routers... Remember you do not need to define another subnet for 2 routers that are already connect from a previous step.

Start the configuration:

I'm going to start with the switch, using the bulletted list from above as a check-list and my EVE-NG topology for reference we can begin to configure the switchports.

The Switch:




vtp mode transparent


vlan 1-100
exit


int gi0/0
description "to R1"
switchport trunk encapsulation dot1q
switchport mode trunk
switchport trunk allowed vlan 12-14,16
no shut

int gi0/1
description "to R2"
switchport trunk encapsulation dot1q
switchport mode trunk
switchport trunk allowed vlan 12,23-25
no shut

int gi0/2
description "to R3"
switchport trunk encapsulation dot1q
switchport mode trunk
switchport trunk allowed vlan 13,23,34
no shut

int gi0/3
description "to R4"
switchport trunk encapsulation dot1q
switchport mode trunk
switchport trunk allowed vlan 14,24,34
no shut



int gi1/0
description "to R5"
switchport trunk encapsulation dot1q
switchport mode trunk
switchport trunk allowed vlan 25,56-58
no shut

int gi1/1
description "to R6"
switchport trunk encapsulation dot1q
switchport mode trunk
switchport trunk allowed vlan 16,56,67,68
no shut

int gi1/2
description "to R7"
switchport trunk encapsulation dot1q
switchport mode trunk
switchport trunk allowed vlan 57,67,78
no shut

int gi1/3
description "to R8"
switchport trunk encapsulation dot1q
switchport mode trunk
switchport trunk allowed vlan 58,68,78
no shut



The Routers:


hostname R1


int gi0/0
description "to SW1;gi0/0"
no shut

int gi0/0.12
encapsulation dot1q 12
description "to R2"
ip add 10.1.12.1 255.255.255.0

int gi0/0.13
encapsulation dot1q 13
description "to R3"
ip add 10.1.13.1 255.255.255.0

int gi0/0.14
encapsulation dot1q 14
description "to R4"
ip add 10.1.14.1 255.255.255.0

int gi0/0.16
encapsulation dot1q 16
description "to R6"
ip add 10.1.16.1 255.255.255.0

=================================================

hostname R2


int gi0/0
description "to SW1;gi0/1"
no shut

int gi0/0.12
encapsulation dot1q 12
description "to R1"
ip add 10.1.12.2 255.255.255.0

int gi0/0.23
encapsulation dot1q 23
description "to R3"
ip add 10.1.23.2 255.255.255.0

int gi0/0.24
encapsulation dot1q 24
description "to R4"
ip add 10.1.24.2 255.255.255.0

int gi0/0.25
encapsulation dot1q 25
description "to R5"
ip add 10.1.25.2 255.255.255.0


=================================================

hostname R3


int gi0/0
description "to SW1;gi0/2"
no shut

int gi0/0.13
encapsulation dot1q 13
description "to R1"
ip add 10.1.13.3 255.255.255.0

int gi0/0.23
encapsulation dot1q 23
description "to R2"
ip add 10.1.23.3 255.255.255.0

int gi0/0.34
encapsulation dot1q 34
description "to R4"
ip add 10.1.34.3 255.255.255.0


=================================================

hostname R4


int gi0/0
description "to SW1;gi0/3"
no shut

int gi0/0.14
encapsulation dot1q 14
description "to R1"
ip add 10.1.14.4 255.255.255.0

int gi0/0.24
encapsulation dot1q 24
description "to R2"
ip add 10.1.24.4 255.255.255.0

int gi0/0.34
encapsulation dot1q 34
description "to R4"
ip add 10.1.34.4 255.255.255.0


=================================================

hostname R5


int gi0/0
description "to SW1;gi1/0"
no shut

int gi0/0.25
encapsulation dot1q 25
description "to R2"
ip add 10.1.25.5 255.255.255.0

int gi0/0.56
encapsulation dot1q 56
description "to R6"
ip add 10.1.56.5 255.255.255.0

int gi0/0.57
encapsulation dot1q 57
description "to R7"
ip add 10.1.57.5 255.255.255.0

int gi0/0.58
encapsulation dot1q 58
description "to R8"
ip add 10.1.58.5 255.255.255.0


=================================================

hostname R6


int gi0/0
description "to SW1;gi1/1"
no shut

int gi0/0.16
encapsulation dot1q 16
description "to R1"
ip add 10.1.16.6 255.255.255.0

int gi0/0.56
encapsulation dot1q 56
description "to R6"
ip add 10.1.56.6 255.255.255.0

int gi0/0.67
encapsulation dot1q 67
description "to R7"
ip add 10.1.67.6 255.255.255.0

int gi0/0.68
encapsulation dot1q 68
description "to R8"
ip add 10.1.68.6 255.255.255.0


=================================================

hostname R7


int gi0/0
description "to SW1;gi1/2"
no shut

int gi0/0.57
encapsulation dot1q 57
description "to R5"
ip add 10.1.57.7 255.255.255.0

int gi0/0.67
encapsulation dot1q 67
description "to R6"
ip add 10.1.67.7 255.255.255.0

int gi0/0.78
encapsulation dot1q 78
description "to R8"
ip add 10.1.78.7 255.255.255.0


=================================================

hostname R8


int gi0/0
description "to SW1;gi1/3"
no shut

int gi0/0.58
encapsulation dot1q 58
description "to R5"
ip add 10.1.58.8 255.255.255.0

int gi0/0.68
encapsulation dot1q 68
description "to R6"
ip add 10.1.68.8 255.255.255.0

int gi0/0.78
encapsulation dot1q 78
description "to R7"
ip add 10.1.78.8 255.255.255.0


=================================================

BGP:R1


router bgp 1234
bgp router-id 1.1.1.1
redistribute connected
neighbor 10.1.12.2 remote-as 1234
neighbor 10.1.13.3 remote-as 1234
neighbor 10.1.14.4 remote-as 1234

neighbor 10.1.16.6 remote-as 5678


=============================

BGP:R2


router bgp 1234
bgp router-id 2.2.2.2
redistribute connected
neighbor 10.1.12.1 remote-as 1234
neighbor 10.1.23.3 remote-as 1234
neighbor 10.1.24.4 remote-as 1234

neighbor 10.1.25.5 remote-as 5678


=============================

BGP:R3


router bgp 1234
bgp router-id 3.3.3.3
redistribute connected
neighbor 10.1.13.1 remote-as 1234
neighbor 10.1.23.2 remote-as 1234
neighbor 10.1.34.4 remote-as 1234


=============================

BGP:R4


router bgp 1234
bgp router-id 4.4.4.4
redistribute connected
neighbor 10.1.14.1 remote-as 1234
neighbor 10.1.24.2 remote-as 1234
neighbor 10.1.34.3 remote-as 1234


=============================

BGP:R5


router bgp 5678
bgp router-id 5.5.5.5
redistribute connected
neighbor 10.1.56.6 remote-as 5678
neighbor 10.1.57.7 remote-as 5678
neighbor 10.1.58.8 remote-as 5678

neighbor 10.1.25.2 remote-as 1234


=============================

BGP:R6


router bgp 5678
bgp router-id 6.6.6.6
redistribute connected
neighbor 10.1.56.5 remote-as 5678
neighbor 10.1.67.7 remote-as 5678
neighbor 10.1.68.8 remote-as 5678

neighbor 10.1.16.1 remote-as 1234


=============================

BGP:R7


router bgp 5678
bgp router-id 7.7.7.7
redistribute connected
neighbor 10.1.57.5 remote-as 5678
neighbor 10.1.67.6 remote-as 5678
neighbor 10.1.78.8 remote-as 5678


=============================


BGP:R8


router bgp 5678
bgp router-id 8.8.8.8
redistribute connected
neighbor 10.1.58.5 remote-as 5678
neighbor 10.1.68.6 remote-as 5678
neighbor 10.1.78.7 remote-as 5678


=============================

2 comments:

  1. Well done, Tony. I was able to follow it. There is tiny typo in the R2's an interface int gi0/0.12 description needs to say "to R1". All good.

    ReplyDelete
  2. Thanks Ram, for pointing the out. I've fixed the error. Thanks for the feedback and keep labbing!

    ReplyDelete