====== 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