Mercredi 20 février 2019

Qemu KVM adressage IPV6

Réseau IPV6 (paramétrage hôte)

Toutes les commandes sont exécutées en mode su

Paramétrer la freebox pour un accès IPV6 depuis l’extérieur

Sur la machine hôte (qui héberge qemu et la machine virtuelle)

ip link
virbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
    link/ether 52:54:00:be:49:99 brd ff:ff:ff:ff:ff:ff

Adresse Mac vibrbr0 → 52:54:00:55:5e:2c

Récupérer une adresse IPV6 avec NextHop de la box Free
Pour cela nous avons besoin de la “Mac Address” du périphérique réseau de la machine virtuel
“Gestionnaire de machines virtuelles” , sélectionner la machine virtuelle concernée (debian9 dans notre exemple) → Edition → Détails de la machine virtuelle
Accéder aux paramètres IPV6 NextHop de la box
Préfixe : 2a01:e34:ee6a:b276::/64
Ajouter 52:54:00:55:5e:2c à Next Hop

L’adresse IPV6 2a01:e34:ee6a:b276::1 sera attribué au réseau virbr0 de notre machine virtuelle

La configuration de l’hôte

Votre configuration KVM aura créé une interface appelée virbr0.

Les paramètres sont stockés dans /etc/libvirt/qemu/networks/default.xml. Vous voudrez peut-être sauvegarder ce fichier avant de commencer.

<!--
WARNING: THIS IS AN AUTO-GENERATED FILE. CHANGES TO IT ARE LIKELY TO BE
OVERWRITTEN AND LOST. Changes to this xml configuration should be made using:
  virsh net-edit default
or other application using the libvirt API.
-->

<network>
  <name>default</name>
  <uuid>010d682a-1686-4276-9a91-4653198a0029</uuid>
  <forward mode='nat'/>
  <bridge name='virbr0' stp='on' delay='0'/>
  <mac address='52:54:00:be:49:99'/>
  <ip address='192.168.122.1' netmask='255.255.255.0'>
    <dhcp>
      <range start='192.168.122.2' end='192.168.122.254'/>
    </dhcp>
  </ip>
</network>

Editer virbr0

Lister les connexions “réseau”

virsh net-list --all
 Nom       État    Démarrage automatique   Persistent  
-------------------------------------------------------
 default   actif   yes                     yes         

Arrêtez le réseau

virsh net-destroy default

Changer l’éditeur par défaut vi par nano

export EDITOR=nano

éditer le fichier de configuration.

virsh net-edit default

Ajouter les deux lignes suivantes au-dessus de la clôture existante </network>
Utilisez votre propre /64 et composez votre propre extension de préfixe.

  <ip family='ipv6' address='2a01:e34:ee6a:b276::1' prefix='96'>
  </ip>

Remplacer ‘2a01:e34:ee6a:b276::1’ par votre adresse ipv6

virsh net-edit vérifiera la syntaxe de votre montage et se plaindra bruyamment si vous foirez. Ceci ajoute une adresse IPv6 à virbr0.

Si vous voulez utiliser DHCP pour IPv6 dans vos KVM, ajouter une instruction de plage ici aussi. La plage doit faire partie du préfixe attribué à virbr0

  <ip family='ipv6' address='2001:db8:dead:beef:fe::2' prefix='96'>
     <dhcp>
       <range start='2a01:e34:ee6a:b276::10' end='2a01:e34:ee6a:b276::20' />
     </dhcp>
   </ip>

Redémarrer le réseau

virsh net-start default

Si vous avez l’erreur suivante

erreur :Impossible de démarrer le réseau default
erreur :internal error: Check the host setup: enabling IPv6 forwarding with RA routes without accept_ra set to 2 is likely to cause routes loss. Interfaces to look at: enp0s31f6

Saisir

echo 2 > /proc/sys/net/ipv6/conf/enp0s31f6/accept_ra

Relancer

virsh net-start default
    Réseau default démarré

Vérifier virbr0

Vérifier la prise en charge

ip addr
virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether 52:54:00:be:49:99 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
       valid_lft forever preferred_lft forever
    inet6 2a01:e34:ee6a:b276::1/96 scope global 
       valid_lft forever preferred_lft forever
    inet6 fe80::5054:ff:febe:4999/64 scope link 
       valid_lft forever preferred_lft forever

Notez que l’interface virbr0 a acquis un /96 de votre /64. C’est autant d’adresses IP qu’il y en a dans tout l’espace adresse IPv4.

Vous disposez également d’une adresse IP locale de lien auto-attribuée, où 5054:ff:febe:4999 est liée à l’adresse MAC de virbr0.

Ne pas utiliser les adresses de 2001:db8:dead:beef:fe::/96 en dehors de virbr0

Configuration KVM

Adresse IPv6 et route par défaut

La configuration KVM IPv6 est statique.

Choisissez une adresse IPv6 dans le préfixe 2a01:e34:ee6a:b276::/96 mais pas 22a01:e34:ee6a:b276::1 qui est virbr0.
Il y a beaucoup de choix, et utilisez-le dans votre instruction config_eth0= comme dans l’exemple ci-dessous.

Vous pouvez toujours utiliser dhcpcd pour IPv4 si vous le souhaitez.

Traduit avec www.DeepL.com/Translator