Outils pour utilisateurs

Outils du site


admin:procedures:ajouter-ipv6

Ajouter IPv6 à une VM

Ajout de l'interface réseau

On commence par éditer la VM via Virt Manager pour lui ajouter une interface. Cela n'est nécessaire que si la VM n'a pas été créée en clonant un modèle (template) existant.

Pour cela on édite la définition de la machine.

Interface réseau virtuelle de Lamp

On fait Ajouter un matériel. On sélectionne network et en source on sélectionne default NAT.

Interface réseau virtuelle supplémentaire

Ensuite on valide et on redémarre la machine.

Configuration réseau sur la VM

Si la VM se nomme VM_NAME se connecter sur l'hôte puis éditer :

virsh edit VM_NAME

Chercher les deux sections <interface type='network'> puis éditer la seconde section comme suit :

  • Remplacer <interface type='network'> par <interface type='ethernet'> ;
  • Supprimer la balise <source> ;
  • Ajouter une balise <target dev='vm-ipv6-VM_NAME'/>.

Cela devrait donner une section similaire à la VM mail :

    <interface type='ethernet'>
      <mac address='52:54:00:c3:b9:c7'/>
      <target dev='vm-ipv6-mail'/>
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
    </interface>

Sauvegarder et quitter :

virsh shutdown VM_NAME
virsh start VM_NAME

Récupérer l'adresse link-local côté hôte :

ip a show vm-ipv6-mail | grep inet6
inet6 fe80::fc54:ff:fec3:b9c7/64 scope link

Se connecter à la VM :

Récupérer le suffixe IPv4 (ici 57) :

ip a | grep 192
inet 192.168.1.57/24 brd 192.168.1.255 scope global ens3

Configurer l'interface ens8 comme suit :

vim /etc/network/interfaces

allow-hotplug ens8
iface ens8 inet6 static
    address 2a01:4f8:10b:c42::57/128
    gateway fe80::fc54:ff:fec3:b9c7
    post-up ip -6 address add 2a01:4f8:10b:c41::57/128 dev ens8

Si IP4_SUFFIX est le suffixe ajouter une adresse IPv6 :c42::IP4_SUFFIX et la seconde en post-up :c41::IP4_SUFFIX. Dans le cas de Coon l’adresse principale est en c42 et la secondaire en c41. Pour Maine c'est l'inverse.

Mettre en passerelle (gateway) l'adresse link-local notée précédemment.

Mettre à jour l’interface ens8 :

ifdown ens8
ifup ens8

Copier le dernier paquet firewall-chapril sur la VM et l'installer.

Par exemple, cela donne cette configuration FireHOL sur mail :

cat /etc/firehol/firehol.conf | grep -v '#' | grep -v '^$'
ipv6 interface any v6interop proto icmpv6
    client ipv6neigh accept
    server ipv6neigh accept
    policy return
interface ens3 dhcp
    policy return
    client dhcp accept
interface "ens3 ens8" internal_trafic src4 "192.168.1.0/24 " dst4 192.168.1.57 src6 "2a01:4f8:10b:c41::/64 2a01:4f8:10b:c42::/64" dst6 "2a01:4f8:10b:c42::57 2a01:4f8:10b:c41::57"
    policy reject
    client dhcp accept
    server ICMP accept
    server ICMPV6 accept
    server smtp accept
    server ssh accept
    server icinga accept
    source /etc/firehol/firehol-lan2me.conf
    client all accept
interface "ens3 ens8" external_trafic src4 not "${UNROUTABLE_IPV4} 192.168.1.0/24 " dst4 192.168.1.57 src6 not "${UNROUTABLE_IPV6} 2a01:4f8:10b:c41::/64 2a01:4f8:10b:c42::/64" dst6 "2a01:4f8:10b:c42::57 2a01:4f8:10b:c41::57"
    policy drop
    server ICMPV6 accept
    source /etc/firehol/firehol-ext2me.conf
    client all accept

Noter l'adresse link-local de la VM mail :

ip -6 a | grep fe80
inet6 fe80::5054:ff:fec3:b9c7/64 scope link

Retourner sur l’hôte, éditer /etc/libvirt/hooks/qemu et ajouter une section comme suit avec les deux adresses IP précédemment choisies, l'adresse link-local de la VM mail et l'interface TAP de la VM :

        "mail")
                case "$action" in
                        "started")
                                /sbin/ip route add 2a01:4f8:10b:c42::57/128 via fe80::5054:ff:fec3:b9c7 dev vm-ipv6-mail
                                /sbin/ip route add 2a01:4f8:10b:c41::57/128 via fe80::5054:ff:fec3:b9c7 dev vm-ipv6-mail
                        ;;
                        "stopped")
                                /sbin/ip route del 2a01:4f8:10b:c42::57/128 via fe80::5054:ff:fec3:b9c7 dev vm-ipv6-mail
                                /sbin/ip route del 2a01:4f8:10b:c41::57/128 via fe80::5054:ff:fec3:b9c7 dev vm-ipv6-mail
                        ;;
                        *)
                                echo action $action not supported
                                exit 0
                        ;;
                esac

Aller sur l'hôte opposé, éditer /etc/libvirt/hooks/network et ajouter les lignes suivantes dans les sections started et stopped :

started :
                # mail
                /sbin/ip route add 2a01:4f8:10b:c42::57/128 via fe80::5054:ff:fe3c:686 dev virbr0
                /sbin/ip route add 2a01:4f8:10b:c41::57/128 via fe80::5054:ff:fe3c:686 dev virbr0

stopped :
                # mail
                /sbin/ip route del 2a01:4f8:10b:c42::57/128 via fe80::5054:ff:fe3c:686 dev virbr0
                /sbin/ip route del 2a01:4f8:10b:c41::57/128 via fe80::5054:ff:fe3c:686 dev virbr0
L'adresse fe80 en via correspond à l'adresse fe80 associée à l'interface virbr0 de l'hôte hébergeant la VM. À lire avec ip -6 r.

Puis exécuter les deux lignes ip route add ajoutées sur l'hôte opposé.

Ensuite sur la machine dns, on ajoute dans la zone DNS :

conf/etc/bind/zones/masters/vm.include
mail.cluster        AAAA    2a01:4f8:10b:c42::57

Puis un reload :

rndc reload chapril.org in internal

Sur les deux hôtes, modifier la configuration FireHOL dans /etc/firehol/firehol.conf pour ajouter vm-ipv6-mail dans la variable vmIp6Ifaces. Puis recharger le pare-feu :

firehol start
admin/procedures/ajouter-ipv6.txt · Dernière modification : 2026/03/03 18:02 de fhenry2