MPLS Prática com Linux Edgard Jamhour. 2010, Edgard Jamhour Instalação yum update yum install...
Transcript of MPLS Prática com Linux Edgard Jamhour. 2010, Edgard Jamhour Instalação yum update yum install...
MPLSPrática com Linux
Edgard Jamhour
2010, Edgard Jamhour
Instalação yum update yum install udev.i386 071-0.FC4.3 yum install hardlink yum install bridge-utils
rpm -ivh kernel-2.6.15-1.1831_FC4mpls_1.950.i686.rpm rpm -ivh iproute-2.6.11-1_mpls_1.950d.i386.rpm rpm -ivh --force iproute-2.6.11-1_mpls_1.950d.i386.rpm rpm -ivh ebtables-2.0.6-7_mpls_1.950d.i386.rpm rpm -ivh iptables-ipv6-1.3.0-2_mpls_1.950d.i386.rpm rpm -ivh --force iptables-1.3.0-2_mpls_1.950d.i386.rpm rpm -ivh kernel-devel-2.6.15-1.1831_FC4mpls_1.950.i686.rpm rpm -e iptables-1.3.0-2 rpm -e iproute-2.6.11-1
2010, Edgard Jamhour
ip1
mpls nhlfe add key 0 instructions push gen LABEL nexthop ETHO ipv4 NEXTHOP
Configuração LER de Ingresso
LER
LSR
LSR
eth0 label1
eth1 label2 ip2
ip route add SUBREDE via NEXTHOP mpls KEY
FTN =FEC X NHLFE
FEC (destino)
subrede1
subrede2
subrede1
subrede2
Chave
Ação NHLFE
0x2 push label1 e envia por eth0 para ip1
0x3 push label2 e envia por eth1 para ip2
2010, Edgard Jamhour
Configuração LER de Egresso
LSR
LER
eth0label1
eth1label2
mpls labelspace set dev ETHI labelspace 0
mpls ilm add label gen LABEL labelspace 0
subrede1
labelspace Interface Label ILM
0 eth0 label1
1 eth1 label2
LSR
2010, Edgard Jamhour
ip1
Configuração do LSR
LSR
LER
LSR
eth2 label11
eth3 label21 ip2
• mpls labelspace set dev ETHI labelspace 0• mpls ilm add label gen LABEL labelspace 0• mpls xc add ilm_label gen LABEL ilm_labelspace 0 nhlfe_key KEY
Chave
ação NHLFE
0x2 push label11 e enviar por eth2 para ip1
0x3 push label21 e enviar por eth3 para ip2
LER
LSReth0
eth1
label10
label20
ILM labelspace
If Label
0 eth0 label10
1 eth1 label20
XC
2010, Edgard Jamhour
Exercício 1
a
LABEL 1000
LER1
LER2
Host A
Host Ba b
HOST A a eth1 192.168.0.2
LER 1 a eth1:1 192.168.0.1
b eth1 10.0.0.1/30
LER 2 a eth1 10.0.0.2/30
b eth1:1 192.168.1.1
HOST B a eth1 192.168.1.2
a b a
LABEL 2000
2010, Edgard Jamhour
Configuração HOST A
ip route add 192.168.1.0/24 via 192.168.0.1 src 192.168.0.2
LER 1 mpls nhlfe add key 0 instructions push gen 1000
nexthop eth1 ipv4 10.0.0.2 ip route add 192.168.1.0/24 via 10.0.0.2 mpls 0x2 echo 1 > /proc/sys/net/ipv4/ip_forward
LER 2 mpls labelspace set dev eth1 labelspace 0 mpls ilm add label gen 1000 labelspace 0
2010, Edgard Jamhour
Script MPLS para LER 1
#!/bin/bash -xip_ler2a=10.0.0.2if_ler1b=eth1feca=192.168.1.0/24
modprobe mpls4
key_value=`mpls nhlfe add key 0 instructions push gen 1000 nexthop $if_ler1b ipv4 $ip_ler2a `;
key=`echo $key_value|awk '{print $4}'`;
ip route add $feca via $ip_ler2a mpls $key
sysctl -w net.ipv4.ip_forward=1
2010, Edgard Jamhour
Comandos para Evitar Redirecionamento sysctl net.ipv4.conf.eth1.send_redirects=0 sysctl net.ipv4.conf.eth1.accept_redirects=0 sysctl net.ipv4.conf.all.send_redirects=0 sysctl net.ipv4.conf.all.accept_redirects=0
2010, Edgard Jamhour
Cenário 2
Host A
Host Ba LER
1
192.168.0.0/24
LER2
L:2000 Host C
192.168.1.0/25
192.168.1.128/25
L:2001
b
c
da
a
LER 1 a eth1 192.168.0.1
b eth1:1 10.0.0.1/30
c eth1:2 10.1.0.1/30
LER 2 a eth1 10.2.0.2/30
b eth1:1 10.0.0.2/30
c eth1:2 192.168.0.129
d eth1:3 192.168.1.1
LSR a eth1 10.1.0.2/30
b eth1:1 10.2.0.1/30
HOST A a eth1 192.168.0.2
HOST B a eth1 192.168.1.2
HOST C a eth1 192.168.1.130
LSR
c
L:1000 b
aa b
2010, Edgard Jamhour
Configuração LER 1 LER1 (Rota Vermelha)
mpls nhlfe add key 0 instructions push gen 1000 nexthop eth1:1 ipv4 10.0.0.2
ip route add 192.168.1.0/25 via 10.0.0.2 mpls 0x2 LER1 (Rota Azul)
mpls nhlfe add key 0 instructions push gen 2000 nexthop eth1:2 ipv4 10.1.0.2
ip route add 192.168.1.128/24 via 10.1.0.2 mpls 0x3
Roteamento echo 1 > /proc/sys/net/ipv4/ip_forward
2010, Edgard Jamhour
Configuração LSR # LSR (Rota Azul)
mpls labelspace set dev eth1 labelspace 0 mpls ilm add label gen 2000 labelspace 0 mpls nhlfe add key 0 instructions push gen 2001
nexthop eth1:1 ipv4 10.2.0.2 mpls xc add ilm_label gen 2000 ilm_labelspace 0
nhlfe_key 0x2 echo 1 > /proc/sys/net/ipv4/ip_forward
2010, Edgard Jamhour
Configuração LER 2 LER2 (Rota Vermelha)
mpls labelspace set dev eth1 labelspace 0 mpls ilm add label gen 1000 labelspace 0
LER2 (Rota Azul) mpls labelspace set dev eth1:1 labelspace 0 mpls ilm add label gen 2001 labelspace 0
2010, Edgard Jamhour
Configuração Hosts HOST A
ip route add 192.168.1.0/24 via 192.168.0.2 src 192.168.0.1
HOST B ip route add 192.168.0.0/24 via 192.168.1.2 src
192.168.1.2 HOST C
ip route add 192.168.0.0/24 via 192.168.1.129 src 192.168.1.130
2010, Edgard Jamhour
Exemplo: Script para o LSR
#!/bin/bash -x
if_lsra=eth1if_lsrb=eth1:1ip_ler2a=10.2.0.2
modprobe mpls4
mpls labelspace set dev $if_lsra labelspace 0mpls ilm add label gen 2000 labelspace 0key_value=`mpls nhlfe add key 0 instructions push 2001 nexthop $if_lsrb ipv4 $ip_ler2a `;key=`echo $key_value|awk '{print $4}'`;mpls xc add ilm_label gen 2000 ilm_labelspace 0 nhlfe_key $key
echo 1 > /proc/sys/net/ipv4/ip_forward
2010, Edgard Jamhour
Exercício 2 Implemente o cenário 2 de forma que os
pacotes enviados pelo host A para a subrede: 192.168.0.0/25 sigam o caminho vermelho 192.168.0.128/25 sigam o caminho vermelho
Escreva o script de configuração de um dos caminhos
Capture os quadros mpls em LSR1 ou LER2, conforme o caminho.
2010, Edgard Jamhour
Cenário 3
LER 1 a eth1 66.0.0.1/24
b eth1:1 10.0.0.1/30
LER 2 a eth1 77.0.0.1/24
b eth1:1 10.0.0.13/30
LER 3 a eth1 10.0.0.10/30
b eth1:1 10.0.0.22/30
c eth1:2 88.0.0.1/24
FEC A
FEC C
a
L:2000
L:1000L:1001
LSR 1 a eth1 10.0.0.2/30
b eth1:1 10.0.0.5/30
c eth1:2 10.0.0.14/30
d eth1:3 10.0.0.17/30
LSR 2 a eth1 10.0.0.6/30
b eth1:1 10.0.0.9/30
LSR 3 a eth1 10.0.0.18/30
b eth1:1 10.0.0.21/30
FEC B
192.168.0.0/24
LSR1LSR1
LSR2LSR2
LSR3LSR3
LER3LER3
LER2LER2
LER1LER1b
L:1002
L:2001 L:2002
a b
a b
c d
a b
a b
a
bc
2010, Edgard Jamhour
Exercício 3 Implemente o cenário 3 de forma que os
pacotes enviados: Pela FEC A: sigam o caminho vermelho Pela FEC B: sigam o caminho azul
Os caminhos de volta a partir da FEC C devem ser simétricos e utilizar os mesmos Labels.