Auteur Sujet: Routeur BGP AS IPv6  (Lu 5547 fois)

0 Membres et 1 Invité sur ce sujet

njd90

  • Abonné Orange Fibre
  • *
  • Messages: 34
  • Belfort (90)
Routeur BGP AS IPv6
« le: 15 décembre 2019 à 18:58:15 »
Bonjour à tous,

Mon FAI ne fournissant pas d'IPv6 et les tunnels de type HE bloquent Netflix and co, j'ai décidé de monter mon propre routeur et d'annoncer mes routes.
Je dispose actuellement d'un /44 en IPv6.

Ne souhaitant pas acquérir pour l'instant de matériels dédiés, j'ai donc opté pour le software. J'utilise actuellement pfSense comme routeur/firewall.
J'ai configuré 2 tunnel BGP : HE et NetAssist qui me serviront pour annoncer mes routes.

J'ai commencé à lire de la doc sur BGP mais je ne sais pas quelles solutions logiciels choisir.

Avec pfSense, FRR et openbgpd sont disponibles mais pas bird.

Quelle solution recommandez-vous ?

D'avance merci.





Hugues

  • AS2027 MilkyWan
  • Modérateur
  • *
  • Messages: 12 424
  • Lyon (69) / St-Bernard (01)
    • Twitter
Routeur BGP AS IPv6
« Réponse #1 le: 15 décembre 2019 à 19:00:07 »
Ne pas utiliser PF, utiliser un Debian/FreeBSD, avec BIRD ou FRR.

Et tu peux ensuite router des préfixes vers PFSense si tu le souhaites, mais PF en soi est vraiment naze naze en routage dynamique :)

PS : Si tu cherches un transitaire un peu plus local (mais pas gratuit), tu as Midway's Network, à Belfort :)

njd90

  • Abonné Orange Fibre
  • *
  • Messages: 34
  • Belfort (90)
Routeur BGP AS IPv6
« Réponse #2 le: 15 décembre 2019 à 20:35:32 »
Je vais partir sur bird sous Debian.

Par contre, j'ai quelques difficultés avec les filtres d'entrée et de sortie.

Est-ce que tu pourrais m'aider ?

PS : Tu connais Midway's Network ?

petrus

  • Expert AS206155
  • Expert
  • *
  • Messages: 1 064
Routeur BGP AS IPv6
« Réponse #3 le: 15 décembre 2019 à 20:45:48 »
Ne pas utiliser PF, utiliser un Debian/FreeBSD, avec BIRD ou FRR.

Et tu peux ensuite router des préfixes vers PFSense si tu le souhaites, mais PF en soi est vraiment naze naze en routage dynamique :)

PF c'est un firewall. C'est le pendant bsd d'iptables/netfilter.

Pour le bgp il faut en effet utiliser un daemon qui cause bgp, donc frr ou bird (qui font tout les deux plus que juste du bgp), ou openbgpd.

Personnellement je n'aime pas trop la syntaxe bird, je préfère soit frr sous linux (cli & conf cisco-like) soit openbgpd sous openbsd (conf bgp très simple et cli via bgpctl très simple également).

Attention à la version d'openbgpd car pendant longtemps (10 ans - entre 4.6 et 6.5) la version dite "portable" (qui tourne sur les autres OS qu'openbsd) n'était pas maintenue, mais continuait d'être présente en tant que package dans beaucoup de distributions. Donc partir avec la 6.6p0 est bien mieux. openbgpd est dispo sur tous les mirroirs OpenBSD.

Après, c'est un choix personnel, en fonction de ce que tu préfères. Aujourd'hui ces trois daemons fonctionnent aussi bien les uns que les autres. Il ne faut plus utiliser zebra, et encore moins quagga, qui ne sont plus maintenus.

njd90

  • Abonné Orange Fibre
  • *
  • Messages: 34
  • Belfort (90)
Routeur BGP AS IPv6
« Réponse #4 le: 15 décembre 2019 à 21:01:24 »
PF c'est un firewall. C'est le pendant bsd d'iptables/netfilter.

Pour le bgp il faut en effet utiliser un daemon qui cause bgp, donc frr ou bird (qui font tout les deux plus que juste du bgp), ou openbgpd.

Personnellement je n'aime pas trop la syntaxe bird, je préfère soit frr sous linux (cli & conf cisco-like) soit openbgpd sous openbsd (conf bgp très simple et cli via bgpctl très simple également).


Lequel recommandes-tu entre frr et openbgpd pour débuter ?

Hugues

  • AS2027 MilkyWan
  • Modérateur
  • *
  • Messages: 12 424
  • Lyon (69) / St-Bernard (01)
    • Twitter
Routeur BGP AS IPv6
« Réponse #5 le: 15 décembre 2019 à 21:11:32 »
Est-ce que tu pourrais m'aider ?
J'ai absolument pas le temps pour ça, malheureusement :(


PS : Tu connais Midway's Network ?
Oui, c'est des clients/copains à nous chez MilkyWan :)


Hugues

  • AS2027 MilkyWan
  • Modérateur
  • *
  • Messages: 12 424
  • Lyon (69) / St-Bernard (01)
    • Twitter
Routeur BGP AS IPv6
« Réponse #6 le: 15 décembre 2019 à 21:12:02 »
Lequel recommandes-tu entre frr et openbgpd pour débuter ?
FRR, tu peux utiliser les tutos / route-map pour Cisco :)

petrus

  • Expert AS206155
  • Expert
  • *
  • Messages: 1 064
Routeur BGP AS IPv6
« Réponse #7 le: 15 décembre 2019 à 23:19:05 »
Lequel recommandes-tu entre frr et openbgpd pour débuter ?

J'ai une préférence personnelle pour openbgpd, qui est vraiment très simple, et avec de bons exemples, des defaults sensés et un manpage clair, après frr étant très cisco-like il est facile de faire quelque chose rapidement (vtysh, conf t, router bgp 1234, wr mem etc).

Essaye l'un puis l'autre pour te faire ton idée, c'est rapide à setup. Regarde la conf avec laquelle tu préfères travailler, la facilité d'installation & update sur le système que tu utilises, etc.

qwawer

  • AS208477 WAWER Quentin
  • Abonné Orange Fibre
  • *
  • Messages: 205
  • Mathay (25)
    • Site web personnel
Routeur BGP AS IPv6
« Réponse #8 le: 20 décembre 2019 à 11:35:30 »
Je vais partir sur bird sous Debian.

Par contre, j'ai quelques difficultés avec les filtres d'entrée et de sortie.

Est-ce que tu pourrais m'aider ?

PS : Tu connais Midway's Network ?

Salut,

Si tu veux un contact chez Midway's, envoi moi un email à quentin.wawer@midways-network.org.  Je te redirigerai vers la bonne personne :)
Ou tu peux utiliser directement l'adresse de contact: contact@midways-network.org.

njd90

  • Abonné Orange Fibre
  • *
  • Messages: 34
  • Belfort (90)
Routeur BGP AS IPv6
« Réponse #9 le: 21 décembre 2019 à 15:25:58 »
Hello,

J'ai décidé de tester FRR sous Debian, plus simple car cisco-like.


Voici la conf des interfaces réseaux
ifconfig
ens192: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.253  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 2a0c:b641:21:1::253  prefixlen 64  scopeid 0x0<global>
        inet6 fe80::20c:29ff:fee3:6def  prefixlen 64  scopeid 0x20<link>
        inet6 fe80::1  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:e3:6d:ef  txqueuelen 1000  (Ethernet)
        RX packets 13666  bytes 10513515 (10.0 MiB)
        RX errors 0  dropped 496  overruns 0  frame 0
        TX packets 6473  bytes 757683 (739.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

he-ipv6: flags=209<UP,POINTOPOINT,RUNNING,NOARP>  mtu 1480
        inet6 2001:470:11:4b::2  prefixlen 64  scopeid 0x0<global>
        inet6 fe80::c0a8:1fd  prefixlen 64  scopeid 0x20<link>
        sit  txqueuelen 1000  (IPv6-dans-IPv4)
        RX packets 40  bytes 5360 (5.2 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1667  bytes 131135 (128.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Boucle locale)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

na-ipv6: flags=209<UP,POINTOPOINT,RUNNING,NOARP>  mtu 1480
        inet6 fe80::c0a8:1fd  prefixlen 64  scopeid 0x20<link>
        inet6 2a01:d0:7fff:cc::2  prefixlen 64  scopeid 0x0<global>
        sit  txqueuelen 1000  (IPv6-dans-IPv4)
        RX packets 3744  bytes 9466394 (9.0 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 3562  bytes 257044 (251.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

J'ai donc monté 2 tunnels : 1 tunnel BGP HE et 1 NetAssist

J'ai commencé la config BGP sous FRR.
router bgp 207759
 bgp router-id 86.77.96.XXX
 bgp log-neighbor-changes
 no bgp default ipv4-unicast
 neighbor 2001:470:11:4b::1 remote-as 6939
 neighbor 2001:470:11:4b::1 description Hurricane Electric
 neighbor 2001:470:11:4b::1 interface he-ipv6
 neighbor 2001:470:11:4b::1 update-source 2001:470:11:4b::2
 neighbor 2a01:d0:7fff:cc::1 remote-as 29632
 neighbor 2a01:d0:7fff:cc::1 description NetAssist
 neighbor 2a01:d0:7fff:cc::1 interface na-ipv6
 neighbor 2a01:d0:7fff:cc::1 update-source 2a01:d0:7fff:cc::2
!
address-family ipv6 unicast
  network 2a0c:b641:20::/44
  network 2a0c:b641:20::/48
  network 2a0c:b641:21::/48
  redistribute connected metric 1
  neighbor 2001:470:11:4b::1 activate
  neighbor 2001:470:11:4b::1 soft-reconfiguration inbound
  neighbor 2001:470:11:4b::1 maximum-prefix 100000
  neighbor 2001:470:11:4b::1 remove-private-AS
  neighbor 2001:470:11:4b::1 prefix-list v6in-filter in
  neighbor 2001:470:11:4b::1 prefix-list To-HE out
  neighbor 2a01:d0:7fff:cc::1 activate
  neighbor 2a01:d0:7fff:cc::1 soft-reconfiguration inbound
  neighbor 2a01:d0:7fff:cc::1 maximum-prefix 100000
  neighbor 2a01:d0:7fff:cc::1 remove-private-AS
  neighbor 2a01:d0:7fff:cc::1 weight 50
  neighbor 2a01:d0:7fff:cc::1 prefix-list v6in-filter in
  neighbor 2a01:d0:7fff:cc::1 prefix-list To-Netassist out
 exit-address-family
!
ipv6 prefix-list To-HE seq 10 permit 2a0c:b641:21::/48
ipv6 prefix-list To-HE seq 20 permit 2a0c:b641:20::/48
ipv6 prefix-list To-HE seq 30 deny ::/0 le 128
ipv6 prefix-list To-HE seq 5 permit 2a0c:b641:20::/44
ipv6 prefix-list To-Netassist seq 1 permit 2a0c:b641:20::/44
ipv6 prefix-list To-Netassist seq 10 permit 2a0c:b641:21::/48
ipv6 prefix-list To-Netassist seq 15 deny ::/0 le 128
ipv6 prefix-list To-Netassist seq 5 permit 2a0c:b641:20::/48
ipv6 prefix-list v6in-filter seq 1 permit 64:ff9b::/96
ipv6 prefix-list v6in-filter seq 10 deny ::1/128
ipv6 prefix-list v6in-filter seq 100 deny ::/0 le 128
ipv6 prefix-list v6in-filter seq 15 deny ::/128
ipv6 prefix-list v6in-filter seq 16 deny ::ffff:0:0/96 le 128
ipv6 prefix-list v6in-filter seq 17 deny 100::/64 le 128
ipv6 prefix-list v6in-filter seq 18 deny fc00::/7 le 128
ipv6 prefix-list v6in-filter seq 19 deny fe80::/10 le 128
ipv6 prefix-list v6in-filter seq 20 deny ff00::/8 le 128
ipv6 prefix-list v6in-filter seq 21 deny 2001::/23 le 128
ipv6 prefix-list v6in-filter seq 30 deny 2001:2::/48 le 128
ipv6 prefix-list v6in-filter seq 40 deny 2001:10::/28 le 128
ipv6 prefix-list v6in-filter seq 50 deny 2001:db8::/32 le 128
ipv6 prefix-list v6in-filter seq 60 deny 2002::/16 ge 17
ipv6 prefix-list v6in-filter seq 70 deny 2a0c:b641:20::/44 le 128
ipv6 prefix-list v6in-filter seq 80 deny 3ffe::/16 le 128
ipv6 prefix-list v6in-filter seq 85 deny 5f00::/8 le 128
ipv6 prefix-list v6in-filter seq 90 permit 2000::/3 le 48

Et le résultat :
show bgp ipv6 summary

IPv6 Unicast Summary:
BGP router identifier 86.77.96.110, local AS number 207759 vrf-id 0
BGP table version 233828
RIB entries 148353, using 26 MiB of memory
Peers 2, using 41 KiB of memory

Neighbor           V         AS MsgRcvd MsgSent   TblVer  InQ OutQ  Up/Down State/PfxRcd
2001:470:11:4b::1  4       6939       0       0        0    0    0    never       Active
2a01:d0:7fff:cc::1 4      29632   59586      19        0    0    0 00:05:01        77418

Total number of neighbors 2

Le peering fonctionne pour l'AS 29632 mais pas pour le 6939.
J'ai contacté HE pour obtenir plus d'infos et voici leur réponse :
Citer
You tripped max prefix limits. Make certain you have an outbound filter applied. I'll clear & reset our side.


Je pensais que le filtre en sortie était correct mais je suis à nouveau bloquer.

Avant d'envoyer un mail à HE pour leur demander de faire un reset, pourriez-vous m'aider à configurer les filtres

Hugues

  • AS2027 MilkyWan
  • Modérateur
  • *
  • Messages: 12 424
  • Lyon (69) / St-Bernard (01)
    • Twitter
Routeur BGP AS IPv6
« Réponse #10 le: 21 décembre 2019 à 15:40:29 »
pourriez-vous m'aider à configurer les filtres
Non, je pense que si tu veux faire du BGP sur la DFZ, il faut que tu comprenne ce que tu fais, et pas que tu sois assisté par des gens ici :)

Là, ton souci c'est que tu renvoies les préfixes reçus via NetAssist à HE, tu dois donc bosser ton filtre ::0/0. Tu as plein d'exemples sur internet, et je te recommande de monter une VM avec un pseudo transit pour éviter de pourrir HE ou NetAssist pendant tes essais :)

petrus

  • Expert AS206155
  • Expert
  • *
  • Messages: 1 064
Routeur BGP AS IPv6
« Réponse #11 le: 21 décembre 2019 à 16:26:43 »
C'est un peu sale ce que tu fais. Annoncer deux /48 déjà couverts par ton agrégat /44, c'est polluer la dfz.

Supprime les annonces des /48, et attention aux redistributions.

Et sinon, +1 hugues, faire du bgp sur la dfz tu as un impact direct sur internet. Avant de passer le cap j'ai bouffé du lab, du dn42 pendant quelques années, sans parler du pro.