Newsgroup: it.comp.reti.ip-admin
Titolo: BGP ed IPv6

Sto smanettando con due router cercando di avere un BGP funzionante
con IPv6.
Il router1 riceve correttamente gli annunci dal provider e riesce a
raggiungere correttamente le varie reti.
Il router2 è connesso tramite iBGP al mio router1, e riceve gli
annunci. Router1 annuncia verso router2 con un nexthop-self.
Però, non capisco da dove salti fuori questo indirizzo locale
(prendendo ad esempio 
ipv6.google.com
):
$ show ipv6 route 2a00:1450:8002::67
Routing entry for 2a00:1450::/32
  Known via "bgp", distance 200, metric 17030, best
  Last update 06:04:29 ago
    aaaa:aaaa::111 (recursive via fe80::zzzz:zzzz:zzzz:zzzz)
'aaaa:aaaa::111' in realtà corrisponde ad un IPv6 di loopback del mio
router1
La rotta è ricevuta correttamente, ma perchè mi ritrovo quel recursive
con un ipv6 locale anzichè vedere, come mi aspetterei, l'ipv6
associato alla interfaccia che 'guarda' il router2 ?
La configurazione su IPv4 funziona correttamente ed è identica, stesso
nexthop-self, etc etc, l'ip del neighbour corrisponde ad un ipv4 di
loopback ed il recursive corrisponde ad un ipv4 della interfaccia che
guarda il router2 (tra l'altro, è la stessa interfaccia che ha anche
ipv6)
I due apparati si pingano, sia in v4, sia in v6 (anche perchè se così
non fosse, non riceverei nemmeno le rotte)

 associato alla interfaccia che 'guarda' il router2 ?
A spanne, perchè l'istanza iBGP l'hai fatta tra le due loopback
(giustamente, aggiungerei) e non tra le due interfacce, sicchè avendo la
sessione di router1 che annuncia nexthop-self...
-- 
Paranoia is a disease unto itself. And may I add: the person standing
next to you may not be who they appear to be, so take precaution.
-----------------------------------------------------------------------------
http://bofhskull.wordpress.com/

 sessione di router1 che annuncia nexthop-self...
Ho sempre fatto iBGP tra le loopback. Sempre ed ovunque, almeno non
cade.
La configurazione del v6 è identica a quella del v4, però nel v4 vedo
l'indirizzo giusto, nel v6 vedo
un locale.
Considera che router1 è raggiungibile tramite una sessione OSPF,
tant'è che vedo la rotta verso la loopback di router1
transitare tramite l'ip della interfaccia di router1. Quindi, il
nexthop-self non dovrebbe far altro che dire: "questa destinazione
la raggiungi tramite la mia loopback". Il come arrivare a tale
loopback ci pensa OSPF a stabilirlo, e lo fa bene (le loopback
son pingabili), è l'iBGP che va nel pallone e si ostina a dire che per
raggiungere la loopback remota deve transitare tramite
un ipv6 locale, cosa ovviamente impossibile.
Hai idea di come poter risolvere?

 associato alla interfaccia che 'guarda' il router2 ?
Il next-hop trasportato da BGP, a meno di configurazioni specifiche, è l'IP 
dell'interfaccia che usi come sorgente nello stabilire la sessione.
Nel tuo caso stai usando correttamente delle loopback, quindi il next-hop 
BGP sarà l'IP della loopback.
La questione è che nella FIB non hai presumibilmente una rotta directly-
connected verso la loopback, quindi il router ricorsivamente cerca qual è la 
rotta connected.
Tu chiedi perché usa il link-local invece dell'IP che hai assegnato 
esplicitamente all'interfaccia... beh, penso che Cisco prenda il link-local 
perché quello c'è sempre e funziona sempre...
Ciao,
-- 
  Daniele Orlandi					つづく

 un ipv6 locale, cosa ovviamente impossibile.
Non è un "IPv6 locale", è un "Link local" che significa un indirizzamento 
non globale, ma per funzionare funziona.


 Hai idea di come poter risolvere?
Definisci "risolvere", perchè farei notare, per onor di chiarezza, che
non ho ancora capito (semplicemente perchè non l'hai detto) se il
prefisso lo raggiungi e il tuo "problema" è strettamente estetico, o se
invece quel che riporti lo riporti perchè il risultato è che non ti
funziona una fava...
Nel primo caso, ti direi "te lo tieni così, chè non vedo problemi".
Nel secondo, probabilmente sei finito in un corner-case dell'OS del tuo
router: apri un caso al fornitore e prova a tamponare evitando di usare
nexthop-self (redistribuendo invece in IGP le reti di confine tra te e i
fornitori su cui stanno i peer BGP) oppure -se non cambia nulla- a
instaurare le sessioni iBGP IPv6 direttamente tra le interfacce fisiche
anzichè tra le loopback...


 perché quello c'è sempre e funziona sempre...
Nel mio caso non è un cisco. Ed il link-local non funziona. E non deve
funzionare così, su v4 non ho il link-local (o suo equivalente) ma ho
l'ip della interfaccia del router.

 anzich tra le loopback...
Mi cambia per il motivo che ho spiegato a Daniele: il path tra i due
router
non è unico, c'è OSPF di mezzo, quindi se instaurassi la connessione
tra
due nic fisiche e dovesse morire una delle due nic, il router
resterebbe
isolato e la sessione BGP morta. Con la loopback, se morisse una
interfaccia,
OSPF ricalcolerebbe il path passando per vie traverse.
Quindi no, non posso non usare le loopback.
Suggerisci, quindi, di redistribuire BGP in OSPFv3 ?
E' un massacro....

 E' un massacro....
Non mi pare di aver mai suggerito una idiozia del genere.
Rileggi, prego.


 l'ip della interfaccia del router.
Ce lo mettiamo un "ecchissenefrega"?
IPv6 non č IPv4, e non funziona nello stesso modo.
"Non deve funzionare cosě" perchč?
Perchč a te non piace?
Se il tuo router mostra/mappa l'instradamento con l'indirizzo di local
link, o te lo tieni cosě o chiedi al fornitore di modificare l'OS...


 l'ip della interfaccia del router.
Per inciso:
mi1#ping 2a00:1450:8002::67
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2A00:1450:8002::67, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 24/25/28 ms
mi1#show ipv6 route 2a00:1450:8002::67
Routing entry for 2A00:1450::/32
  Known via "bgp 6734", distance 20, metric 10000, type external
  Route count is 1/1, share count 0
  Routing paths:
    FE80::21B:C001:9EFD:1FF0, GigabitEthernet0/1
      Last updated 6d18h ago
mi1#sh bgp ipv6 unicast 2A00:1450::/32
BGP routing table entry for 2A00:1450::/32, version 6775192
Paths: (3 available, best #1, table Default)
  Advertised to update-groups:
        1   11
  3549 15169
    2001:450:2002:20E::1 (FE80::21B:C001:9EFD:1FF0) from
2001:450:2002:20E::1 (67.17.82.64)
      Origin IGP, metric 10000, localpref 100, valid, external, best
      Community: 3549:600 3549:2623 3549:31250 6734:201


 tenerti lo status quo... :-P
Se non posso fare altrimenti, userò l'ip della interfaccia reale.
Ma vorrei capire il perchè con v6 non funziona mentre con v4 si.

 Ma vorrei capire il perchč con v6 non funziona mentre con v4 si.
Quale che sia la ragione, non č di certo il fatto che ti mostri
l'indirizzo di local-link come next-hop.


 link, o te lo tieni cos o chiedi al fornitore di modificare l'OS...
Se funzionasse... Il problema è che non funziona.
Non è una questione estetica. Non va proprio.

 [cut]
$ show ipv6 route 2a00:1450:8002::67
Routing entry for 2a00:1450::/32
  Known via "bgp", distance 200, metric 17030, best
  Last update 10:04:44 ago
    xxxx:xxxx::111 (recursive via fe80::210:18ff:fe34:dcf0)
$ show ipv6 bgp 2a00:1450::/32
BGP routing table entry for 2a00:1450::/32
Paths: (1 available, best #1, table Default-IP-Routing-Table)
  Not advertised to any peer
  174 15169
    xxxx:xxxx::111 (metric 2) from xxxx:xxxx::111 (xxx.xxx.xxx.xxx)
      Origin IGP, metric 17030, localpref 100, valid, internal, best
      Community: 174:21100 174:22010
      Last update: Sat Mar 28 15:08:09 1970

 Suggerisci, quindi, di redistribuire BGP in OSPFv3 ?
No please :)
-- 
  Daniele Orlandi					つづく

 parte.
Non saprei cosa cercare.

 anzichè tra le loopback...
Per la cronaca è un BUG:
6301 - major - ipv6 routes not injected to FIB when their nexthops are
recursive via some
link-local addresses