domenica , Settembre 8 2024
Ultime Notizie
Home / Wireless & Networking / Juniper Howto – IPv6 su IPv4 Tunnel

Juniper Howto – IPv6 su IPv4 Tunnel

Ciao Ragazzi,

oggi ho iniziato a giocare con IPv6, sta finalmente arrivando l’ora di implementarlo sulla nostra rete, ma non posso certo farlo senza un po’ di laboratorio.

Allora ho messo sul mio EveNG un mini lab con questi elementi:

  • 2 Mikrotik CHR 7.10 (ce1 e ce2)
  • 2 Juniper Olive (pe1 e pe2)

I ce hanno indirizzamento IPv6 mentre i pe hanno indirizzamento IPv4: l’obiettivo è fare in modo di poter effettuare un ping da ce1 a ce2 passando per una rete IPv4.

Per quanto riguarda gli indirizzamenti IPv6 ho usato una classe con indirizzamento IPv4 like così da semplificare i test (da buon ingegnere!)

Questi gli indirizzi IP usati

PE1

em0: 10.1.1.5/30
em1: ::10.1.1.2/126
lo0: 10.1.1.2/32

PE2

em0: 10.1.1.6/30
em1: ::10.1.1.13/126
lo0: 10.1.1.3/32

CE1

ether1: ::10.1.1.1/126

CE2

ether1: ::10.1.1.14/126

 

I due router PE sono collegati con una sessione Multi-path BGP su IPv4 e scambiano le rotte IPv6 (value 2) AFI (address family indicator) e SAFI (subsequent AFI) (value 4). Ogni PE utilizzerà come next-hop per gli indirizzi IPv6 il proprio indirizzo IPv4 (useremo gli ip della loopback)

Inoltre per semplificare ulteriormente il lab (avremo tempo per complicare le cose!) la comunicazione tra CE e PE avverrà tramite rotte statiche (in particolare la default sui CE verso i PE) mentre per complicare un po’ le cose si potrebbe usare anche in questo caso il BGP (external)

La configurazione di MPLS e LDP servirà per abilitare la segnalazione tra i PE visto che le rotte IPv6 vengono scambiate mediante aggiunta di label (inner e outer)

Iniziamo le configurazioni delle interfaccie ethernet:

PE1

set interfaces em1 unit 0 family inet6 address ::10.1.1.2/126
set interfaces em1 unit 0 family mpls
set interfaces em0 unit 0 family inet address 10.1.1.5/30
set interfaces em0 unit 0 family inet6
set interfaces em0 unit 0 family mpls
set interfaces lo0 unit 0 family inet address 10.1.1.2/32

PE2

set interfaces em1 unit 0 family inet6 address ::10.1.1.13/126
set interfaces em1 unit 0 family mpls
set interfaces em0 unit 0 family inet address 10.1.1.6/30
set interfaces em0 unit 0 family inet6
set interfaces em0 unit 0 family mpls
set interfaces lo0 unit 0 family inet address 10.1.1.3/32

CE1

/ipv6 address
add address=::10.1.1.1/126 advertise=no interface=ether1
/ipv6 route
add dst-address=::/0 gateway=::10.1.1.2

CE2

/ipv6 address
add address=::10.1.1.14/126 advertise=no interface=ether1
/ipv6 route
add dst-address=::/0 gateway=::10.1.1.13


Come anticipato, non ho utilizzato BGP per propagare le subnet IPv6 ma delle semplici rotte statiche.

Imposto MPLS e LDP sui PE:

PE1

set protocols mpls ipv6-tunneling
set protocols mpls interface em0
set protocols mpls interface em1
set protocols ldp interface em0

PE2

set protocols mpls ipv6-tunneling
set protocols mpls interface em0
set protocols mpls interface em1
set protocols ldp interface em0

Prima di procedere con la configurazione dei protocolli di routing (OSPF e BGP) dobbiamo definire le policy per il BGP e altre info di base (router-id e autonomous-system) su entrambi i router:

PE1

set policy-options policy-statement next-hop-self then next-hop self
set policy-options policy-statement send-v6 from family inet6
set policy-options policy-statement send-v6 from protocol bgp
set policy-options policy-statement send-v6 from protocol direct
set policy-options policy-statement send-v6 then accept
set routing-options router-id 10.1.1.2
set routing-options autonomous-system 65002

PE2

set policy-options policy-statement next-hop-self then next-hop self
set policy-options policy-statement send-v6 from family inet6
set policy-options policy-statement send-v6 from protocol bgp
set policy-options policy-statement send-v6 from protocol direct
set policy-options policy-statement send-v6 then accept
set routing-options router-id 10.1.1.3
set routing-options autonomous-system 65002

Le policy sopra create (next-hop-self e send-v6) servono per indicare rispettivamente chi sarà il next-hop dei neighbors e quali famiglie di protocolli annunciare.

Manca poco, dobbiamo solo creare i protocolli e far parlare i nostri PE (OSPF e BGP):

PE1

set protocols bgp group toPE2 family inet6 labeled-unicast explicit-null
set protocols bgp group toPE2 export next-hop-self
set protocols bgp group toPE2 export send-v6
set protocols bgp group toPE2 neighbor 10.1.1.3
set protocols ospf area 0.0.0.0 interface em0
set protocols ospf area 0.0.0.0 interface lo0.0 passive

 

PE2

set protocols bgp group toPE2 family inet6 labeled-unicast explicit-null
set protocols bgp group toPE2 export next-hop-self
set protocols bgp group toPE2 export send-v6
set protocols bgp group toPE2 neighbor 10.1.1.2
set protocols ospf area 0.0.0.0 interface em0
set protocols ospf area 0.0.0.0 interface lo0.0 passive

Una volta salita la sessione BGP, da verificare con il comando show bgp summary possiamo verificare le rotte ricevute dai rispettivi neighbor con il comando show route receive-protocol bgp IP_NEIGHBOR

La prova definitiva è il ping da CE1 a CE2:

Enjoy!

Info Paolo Daniele

Ingegnere delle Telecomunicazioni, appassionato di informatica fin da piccolo ho trasformato la passione in lavoro. Con il PHP faccio tutto (o quasi...) ma non disprezzo altri linguaggi all'occorrenza. Se vi piace il mio sito, o vi è utile, o vi sto simpatico, offritemi una birra!

Ti potrebbe interessare

Cisco Router – Configurazione di default al reboot

Il problema accade quando in configurazione di un router Cisco (magari refurbished) al reload del …

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *