This time I use a little complex topology but I will do my best to explain it clearly as I can, this is the topology diagram:
R1 to R5 are belonging to the SP network, all routers are
running OSPF, in area 0, as IGP, LDP, BGP in AS65000 where R5 is the route-reflector
and MP-BGP.
There is only one customer in this lab with 2 sites, R6 and
R7, both sitting in the same VRF (TEST) and each one of them is dual homed (1x
ISP, 2x links) with one link as primary and the second as backup. On each site
he has a network with various nodes and one server:
R6 site: network 192.168.61.0/24 and the server is R8 – 192.168.61.8
R7 site: network 192.168.71.0/24 and the server is R10 –
192.168.71.10
R9 and R11 simulate the other nodes on each site respectively.
Also both sites running EIGRP as CE-PE routing protocol
Now the customer requirements are as follow:
-
Traffic from and to network
61 to network 71 will go through the primary link and in case of fail it will
traverse to the backup link.
-
The servers can communicate
with each other ONLY through the backup link; if the backup link fails they won’t
go through the primary link.
So let’s start with the configuration, during this lab I will
show R7 configuration but it should be done the same on R6 to achieve the
result on both sites.
R7 relevant configuration:
interface FastEthernet0/0
ip address 10.1.37.7 255.255.255.0
duplex auto
speed auto
!
interface FastEthernet0/1
ip address 10.1.47.7 255.255.255.0
duplex auto
speed auto
!
interface FastEthernet1/0
ip address 192.168.71.1 255.255.255.0
speed 100
full-duplex
!
router eigrp 200
network 10.1.37.7 0.0.0.0
network 10.1.47.7 0.0.0.0
network 192.168.71.0
no auto-summary
|
And on R7 routing table:
R7#sh ip
route
Codes: C -
connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O -
OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 -
OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF
external type 2
i - IS-IS, su - IS-IS summary, L1 -
IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate
default, U - per-user static route
o - ODR, P - periodic downloaded
static route
Gateway of
last resort is not set
192.168.61.0/24 is variably subnetted, 2
subnets, 2 masks
D EX 192.168.61.0/24 [170/284160] via
10.1.47.4, 00:42:41, FastEthernet0/1
[170/284160] via
10.1.37.3, 00:42:41, FastEthernet0/0
D EX 192.168.61.8/32 [170/284160] via
10.1.47.4, 00:02:37, FastEthernet0/1
[170/284160] via
10.1.37.3, 00:02:37, FastEthernet0/0
10.0.0.0/24 is subnetted, 4 subnets
D EX 10.1.26.0 [170/284160] via 10.1.47.4,
00:02:37, FastEthernet0/1
[170/284160] via 10.1.37.3,
00:02:38, FastEthernet0/0
D EX 10.1.16.0 [170/284160] via 10.1.47.4,
00:02:38, FastEthernet0/1
[170/284160] via 10.1.37.3,
00:02:38, FastEthernet0/0
C 10.1.47.0 is directly connected,
FastEthernet0/1
C 10.1.37.0 is directly connected,
FastEthernet0/0
C 192.168.71.0/24 is directly connected,
FastEthernet1/0
|
We can see that R7 is learning R6 network though 2 routers
but it learns only the full subnet (192.168.61.0/24) and not the server
specific IP.
So first let’s advertise R6 server IP:
R6(config)#
ip route
192.168.61.8 255.255.255.255 fastEthernet 1/0
R6(config)#router
eigrp 100
R6(config-router)#redistribute
static
|
And let’s look on R7 routing table:
R7#sh ip
route
Codes: C -
connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O -
OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 -
OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF
external type 2
i - IS-IS, su - IS-IS summary, L1 -
IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate
default, U - per-user static route
o - ODR, P - periodic downloaded
static route
Gateway of
last resort is not set
192.168.61.0/24 is variably subnetted, 2
subnets, 2 masks
D EX 192.168.61.0/24 [170/284160] via
10.1.47.4, 01:12:33, FastEthernet0/1
[170/284160] via
10.1.37.3, 01:12:33, FastEthernet0/0
D EX
192.168.61.8/32
[170/284160] via 10.1.47.4, 00:32:28, FastEthernet0/1
[170/284160] via
10.1.37.3, 00:32:28, FastEthernet0/0
10.0.0.0/24 is subnetted, 4 subnets
D EX 10.1.26.0 [170/284160] via 10.1.47.4,
00:32:28, FastEthernet0/1
[170/284160] via 10.1.37.3,
00:32:30, FastEthernet0/0
D EX 10.1.16.0 [170/284160] via 10.1.47.4,
00:32:30, FastEthernet0/1
[170/284160] via 10.1.37.3,
00:32:30, FastEthernet0/0
C 10.1.47.0 is directly connected,
FastEthernet0/1
C 10.1.37.0 is directly connected,
FastEthernet0/0
192.168.71.0/24 is variably subnetted, 2
subnets, 2 masks
S 192.168.71.10/32 is directly
connected, FastEthernet1/0
C 192.168.71.0/24 is directly connected,
FastEthernet1/0
|
Now R7 learns both 192.168.61.0/24 and 192.168.61.8/32.
Next let’s block the server IP from getting learned through
Fa0/0 which is the primary link:
R7(config)#ip
access-list standard NET61-DENY-R8
R7(config-std-nacl)#deny
host 192.168.61.8
R7(config-std-nacl)#permit
any
!
R7(config)#router
eigrp 200
R7(config-router)#distribute-list
NET61-DENY-R8 in fastEthernet 0/0
|
Let’s look on R7 routing table now:
R7#sh ip
route
Codes: C -
connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O -
OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 -
OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF
external type 2
i - IS-IS, su - IS-IS summary, L1 -
IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate
default, U - per-user static route
o - ODR, P - periodic downloaded
static route
Gateway of
last resort is not set
192.168.61.0/24 is variably subnetted, 2
subnets, 2 masks
D EX 192.168.61.0/24 [170/284160] via
10.1.47.4, 01:28:47, FastEthernet0/1
[170/284160] via
10.1.37.3, 01:28:47, FastEthernet0/0
D EX
192.168.61.8/32 [170/284160] via 10.1.47.4, 00:00:16, FastEthernet0/1
10.0.0.0/24 is subnetted, 4 subnets
D EX 10.1.26.0 [170/284160] via 10.1.47.4,
00:00:34, FastEthernet0/1
[170/284160] via 10.1.37.3,
00:00:34, FastEthernet0/0
D EX 10.1.16.0 [170/284160] via 10.1.47.4,
00:00:35, FastEthernet0/1
[170/284160] via 10.1.37.3,
00:00:35, FastEthernet0/0
C 10.1.47.0 is directly connected,
FastEthernet0/1
C 10.1.37.0 is directly connected,
FastEthernet0/0
192.168.71.0/24 is variably subnetted, 2
subnets, 2 masks
S 192.168.71.10/32 is directly
connected, FastEthernet1/0
C 192.168.71.0/24 is directly connected,
FastEthernet1/0
|
Now R7 is learning the server address only from Fa0/1 and it
will never learn it from Fa0/0.
And also block server IP from being advertised through
Fa0/0:
R7(config)#ip
access-list standard NET71-DENY-R10
R7(config-std-nacl)#deny
host 192.168.71.10
R7(config-std-nacl)#permit
any
!
R7(config)#router
eigrp 200
R7(config-router)#distribute-list
NET71-DENY-R10 out fastEthernet 0/0
|
Now I have to make sure that traffic from network
192.168.61.0/24 will come and go through Fa0/0 and just in case of failure will
go through Fa0/1:
R7(config)#int
fa 0/1
R7(config-if)#delay
5000
|
So now 192.168.61.0/24 is more preferred, due to lower
metric, through Fa0/0:
R7#show ip
eigrp topology
IP-EIGRP
Topology Table for AS(200)/ID(192.168.71.1)
Codes: P -
Passive, A - Active, U - Update, Q - Query, R - Reply,
r - reply Status, s - sia Status
P
10.1.26.0/24, 1 successors, FD is 284160
via 10.1.37.3 (284160/28160),
FastEthernet0/0
via 10.1.47.4 (1538560/28160),
FastEthernet0/1
P
10.1.16.0/24, 1 successors, FD is 284160
via 10.1.37.3 (284160/28160), FastEthernet0/0
via 10.1.47.4 (1538560/28160),
FastEthernet0/1
P
10.1.47.0/24, 1 successors, FD is 1536000
via Connected, FastEthernet0/1
via 10.1.37.3 (307200/281600),
FastEthernet0/0
P
192.168.71.10/32, 1 successors, FD is 28160
via Rstatic (28160/0)
P
10.1.37.0/24, 1 successors, FD is 281600
via Connected, FastEthernet0/0
P
192.168.71.0/24, 1 successors, FD is 28160
via Connected, FastEthernet1/0
P
192.168.61.0/24, 1 successors, FD is 284160
via 10.1.37.3 (284160/28160), FastEthernet0/0
via 10.1.47.4 (1538560/28160),
FastEthernet0/1
Codes: P -
Passive, A - Active, U - Update, Q - Query, R - Reply,
r - reply Status, s - sia Status
P
192.168.61.8/32, 1 successors, FD is 1538560
via 10.1.47.4 (1538560/28160),
FastEthernet0/1
|
And last final step is to block from the servers to reach
each other through the primary link, note that this valid only from server to
server, if some node in the network tries to reach one of the server he should
succeed.
R7(config)#ip
access-list extended R7-OUTBOUND
R7(config-ext-nacl)#deny
ip host 192.168.71.10 host 192.168.61.8
R7(config-ext-nacl)#permit
ip any any
R7(config-ext-nacl)#exit
R7(config)#int
fa 0/0
R7(config-if)#ip
access-group R7-OUTBOUND out
|
Now let’s test the results, from R8 to R10:
R8#traceroute
192.168.71.10
Type escape
sequence to abort.
Tracing the
route to 192.168.71.10
1 192.168.61.1 20 msec 20 msec 28 msec
2 10.1.26.2 24 msec 48 msec 28 msec
3 10.1.25.5 [MPLS: Labels 16/25 Exp 0] 92
msec 108 msec 108 msec
4 10.1.47.4 [MPLS: Label 25 Exp 0] 92 msec 80 msec
108 msec
5 10.1.47.7 84 msec 120 msec 80 msec
6 192.168.71.10 148 msec * 120 msec
|
And from R10 to R8:
R10#traceroute
192.168.61.8
Type escape
sequence to abort.
Tracing the
route to 192.168.61.8
1 192.168.71.1 44 msec 8 msec 32 msec
2 10.1.47.4 32 msec 40 msec 52 msec
3 10.1.45.5 [MPLS: Labels 18/27 Exp 0] 96
msec 88 msec 112 msec
4 10.1.26.2 [MPLS: Label 27 Exp 0] 104 msec 76
msec 76 msec
5 10.1.26.6 80 msec 100 msec 80 msec
6 192.168.61.8 120 msec * 120 msec
|
From R9 to R11:
R9#traceroute 192.168.71.11
Type escape
sequence to abort.
Tracing the
route to 192.168.71.11
1 192.168.61.1 48 msec 28 msec 28 msec
2 10.1.16.1 20 msec 44 msec 36 msec
3 10.1.15.5 [MPLS: Labels 19/24 Exp 0] 100
msec 104 msec 96 msec
4 10.1.37.3 [MPLS: Label 24 Exp 0] 80 msec 88 msec
60 msec
5 10.1.37.7 112 msec 96 msec 84 msec
6 192.168.71.11 128 msec * 120 msec
|
And from R11 to R9:
R11#traceroute
192.168.61.9
Type escape
sequence to abort.
Tracing the
route to 192.168.61.9
1 192.168.71.1 28 msec 36 msec 16 msec
2 10.1.37.3 28 msec 32 msec 28 msec
3 10.1.35.5 [MPLS: Labels 17/28 Exp 0] 96
msec 112 msec 72 msec
4 10.1.16.1 [MPLS: Label 28 Exp 0] 60 msec 72 msec
92 msec
5 10.1.16.6 112 msec 92 msec 88 msec
6 192.168.61.9 136 msec * 132 msec
|
And when the link from R7 to R4 is down:
R10#traceroute
192.168.61.8
Type escape
sequence to abort.
Tracing the
route to 192.168.61.8
1 192.168.71.1 44 msec 28 msec 20 msec
2 192.168.71.1 !A * !A
R10#traceroute
192.168.61.9
Type escape
sequence to abort.
Tracing the
route to 192.168.61.9
1 192.168.71.1 32 msec 28 msec 12 msec
2 10.1.37.3 40 msec 48 msec 32 msec
3 10.1.35.5 [MPLS: Labels 17/28 Exp 0] 116
msec 84 msec 116 msec
4 10.1.16.1 [MPLS: Label 28 Exp 0] 68 msec
52 msec 64 msec
5 10.1.16.6 88 msec 60 msec 116 msec
6 192.168.61.9 116 msec * 136 msec
|
ReplyDeleteGreat job on the hard effort you've put in. I appreciate it and thank you for sharing it.
SetupVPN Lifetime Free