Tags

arm arpaname bin_sh blocage blosxom bsd bsdfrance cblog certification chroot cluster dg834 dhcp diffusion dns dnsmasq domU dovecot fail-over fail2ban firefox fossil freebsd ftp git guruplug install ipv6 jail kernel kimsufi lex libre linutop liste makefile mikrotik ml150 mohawk nanojail netbook netbsd nginx ntp ntp.org openbsd openntpd openrd opensmtpd openwrt orke pkgng poudriere privee proxy pxe python rc.conf rescue reverse rmll routage route rrdcgi sendmail serial sieve sjail sl2009 ssd sshd symon unbound update usb var_empty vimperator world xen yacc zfs

Powered by

blOg
maRkdown
awK
shEll

17/10/2015

[ ipv6 routage ]

201510171800 ipv6 routage

Le réseau ipv6 de mon chez moi de moi que j'ai personnellement moi-même

Mon FAI qui a tout compris me fournit un /61 soit 8 /64 (il n'a pas encore compris les bonnes pratiques d'attribution d'adresses ipv6). J'en ai fait l'usage suivant:

pouetbox 2a01:e35:zzz:f660::1/64
 |
mikrotik eth1 2a01:e35:zzz:f660::2/64
 |
 vlan10 2a01:e35:zzz:f661::2/64
 |
cisco sg300
 |   |   |
 |   |   linutop vlan630 2a01:e35:zzz:f663:214:bff:fe80:337b/64 (re0)
 |   |
 |   dell n7010 vlan640 2a01:e35:zzz:f664:40:15::1/64 (alc0)
 |      |
 |      tap6 2a01:e35:zzz:f665:40:15::1/96
 |
mac mini
 |  |  |
 |  |  vlan630 2a01:e35:zzz:f663::1/64 (gem0)
 |  |
 |  vlan640 2a01:e35:zzz:f664::1/64 (gem0)
 |
 gem0 2a01:e35:zzz:f661::22/64

2a01:e35:zzz:f660::/64

Le réseau entre ma pouetbox et mon routeur mikrotik. Oui, un /64 pour connecter 2 machines. Pas moyen de faire autrement.

2a01:e35:zzz:f661::/64

Le réseau entre mon routeur mikrotik et mon mac mini openbsd. Oui, un /64 pour connecter 2 machines. Mais c'est un prétexte pour faire mumuse avec les vlans (parce que cette engeance de cisco sg300 a beau être "ipv6 compliant", ce n'est qu'un client ipv6 tout juste capable d'accepter *UNE SEULE* adresse) et utiliser pf afin de sécuriser les autres /64.

Mes 2 fonera (dns) sont aussi dans ce réseau.

2a01:e35:zzz:f663::/64

Les machines de ce réseau n'offrent aucun service (excepté du ssh, oeuf corse).

2a01:e35:zzz:f664::/64

Les machines de ce réseau font de la virtualisation. Je réserve à chacune un /96 tiré de 2a01:e35:zzz:f665::/64. Exemple de configuration de 2a01:e35:zzz:f664:X:Y::1/64:

ospf

Le mac mini fait office de passerelle pour les réseaux 2a01:e35:zzz:f663::/64 et 2a01:e35:zzz:f663::/64. Il annonce ces réseaux par ospf:

$ cat /etc/ospf6.conf
redistribute connected

area 0.0.0.0 {
        interface gem0 {
        }
}

Côté mikrotik:

Flags: X - disabled, A - active, D - dynamic, C - connect, S - static, r - rip, o - ospf, b - bgp, 
U - unreachable 
 #      DST-ADDRESS             GATEWAY                  DISTANCE
 0 A S  ::/0                    fe80::f6ca:e5ff:fe5b:...        1
 1 ADC  2a01:e35:zzz:f660::/64  ether1-gateway                  0
 2 ADC  2a01:e35:zzz:f661::/64  vlan10                          0
 3 ADo  2a01:e35:zzz:f663::/64  fe80::20d:93ff:fe62:b...      110
 4 ADo  2a01:e35:zzz:f664::/64  fe80::20d:93ff:fe62:b...      110
 6 ADC  2a01:e35:zzz:f666::/64  wlan2                           0

ripng

Les machines de virtualisation annoncent leur /96 par ripng. Exemple d'un netbsd:

$ grep route6d /etc/rc.conf
route6d=YES
route6d_flags="-n -N lo0,alc0 -O 2a01:e35:zzz:f665:40:15::/96,tap6"

Le mac mini écoute les annonces ripng en provenance de vlan640:

$ grep route6d /etc/rc.conf.local
route6d=YES
route6d_flags="-N gem0,vlan630"

Reste à annoncer en ospf le réseau 2a01:e35:zzz:f665::/64:

$ cat /etc/ospf6.conf
redistribute connected
redistribute 2a01:e35:zzz:f665::/64

area 0.0.0.0 {
        interface gem0 {
        }
}

Extrait du pf.conf pour laisser passer toutes ces annonces:

# ospf
pass in quick on egress proto ospf
# routed
pass in quick on vlan inet6 proto udp to port 521

Trop beau pour être vrai

Seul petit point noir: route6d d'OpenBSD n'est pas fonctionnel (version 5.8 comprise). Mais c'est sans compter avec jca@ qui a magistralement corrigé le problème:

http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.sbin/route6d/route6d.c.diff?r1=1.67&r2=1.68

Un grand merci à lui.

Et en vrai ça marche ?

Côté mikrotik:

Flags: X - disabled, A - active, D - dynamic, C - connect, S - static, r - rip, o - ospf, b - bgp, 
U - unreachable 
 #      DST-ADDRESS              GATEWAY                  DISTANCE
 0 A S  ::/0                     fe80::f6ca:e5ff:fe5b:...        1
 1 ADC  2a01:e35:zzz:f660::/64  ether1-gateway                  0
 2 ADC  2a01:e35:zzz:f661::/64  vlan10                          0
 3 ADo  2a01:e35:zzz:f663::/64  fe80::20d:93ff:fe62:b...      110
 4 ADo  2a01:e35:zzz:f664::/64  fe80::20d:93ff:fe62:b...      110
 5 ADo  2a01:e35:zzz:f665:40... fe80::20d:93ff:fe62:b...      110
 6 ADC  2a01:e35:zzz:f666::/64  wlan2                           0

Depuis une machine extérieure:

dsx@blade>ping6 -c 3 2a01:e35:zzz:f664:40:15:0:1
PING6(56=40+8+8 bytes) 2a02:27d0:0:dead:beef::205 --> 2a01:e35:zzz:f664:40:15:0:1
16 bytes from 2a01:e35:zzz:f664:40:15:0:1, icmp_seq=0 hlim=53 time=24.744 ms
16 bytes from 2a01:e35:zzz:f664:40:15:0:1, icmp_seq=1 hlim=53 time=24.181 ms
16 bytes from 2a01:e35:zzz:f664:40:15:0:1, icmp_seq=2 hlim=53 time=24.472 ms

--- 2a01:e35:zzz:f664:40:15:0:1 ping6 statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/std-dev = 24.181/24.466/24.744/0.230 ms

Alors, c'est pas fun l'ipv6 ?


Lien vers ce billet