====== Ajouter IPv6 à une VM ====== ===== Ajout de l'interface réseau ===== On commence par éditer la VM via virt manager pour lui ajouter une interface. 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 |}} 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 |}} Ensuite on valide et on redémarre la machine. ===== Configuration réseau sur la VM ===== Se connecter sur l'host, faire virsh edit "le-nom-de-la-vm", chercher les deux sections "" puis éditer la seconde section comme suit : remplacer en supprimmer la balise ajouter une balise Cela devrait donner une section similaire :
Sauvegarder et quitter, virsh shutdown le-nom-de-la-vm, virsh start le-nom-de-la-vm. Récupérer l'adresse link-local côté host : =(^-^)=root@coon:~# 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 suffix ipv4 (ici 57): =(^-^)=root@mail:~# ip a | grep 192 inet 192.168.1.57/24 brd 192.168.1.255 scope global ens3 Configurer l'interface ens8 comme suit (ajouter une ipv6 :c42::suffix_ipv4 et une seconde en post-up :c41::suffix_ipv4 (dans ce cas de coon la principale est en c42 et la secondaire en c41, pour maine c'est l'inverse) et mettre en gateway l'adresse link-local notée précédement) : 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 puis : ifdown ens8; ifup ens8 Copier le dernier paquet firewall-chapril sur la vm et l'installer. Par exemple, cela donne cette conf firehol sur mail : =(^-^)=root@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 : =(^-^)=root@mail:~# ip -6 a | grep fe80 inet6 fe80::5054:ff:fec3:b9c7/64 scope link Retourner sur le host, éditer /etc/libvirt/hooks/qemu et ajouter une section comme suit (avec les deux adresses IP précédement choisie et l'adresse link-local de la vm 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 section 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 hebergeant la vm (à lire avec ip -6 r). Puis exécuter les deux lignes ip route add ajoutée 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 hosts, modifier la configuration firehol dans /etc/firehol/firehol.conf pour ajouter vm-ipv6-mail dans la variable //vmIp6Ifaces//. Puis recharger le firewall avec un firehol start.