====== 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. {{ :admin:procedures:capture_d_ecran_de_2017-07-12_16_53_35.png?direct&400 |Interface réseau virtuelle de Lamp}} On fait //Ajouter un matériel//. On sélectionne //network// et en source on sélectionne //default NAT//. {{ :admin:procedures:add-ipv6.png?direct&400 |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 '''' puis éditer la seconde section comme suit : * Remplacer '''' par '''' ; * Supprimer la balise '''' ; * Ajouter une balise ''''. Cela devrait donner une section similaire à la VM ''mail'' :
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 [[admin:machines_virtuelles:dns|dns]], on ajoute dans la zone DNS : 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