Ceci est une ancienne révision du document !
Table des matières
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.
On fait « ajouter un matériel ». On sélectionne « network » et en source on sélectionne « default NAT ».
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 “<interface type='network'>” puis éditer la seconde section comme suit :
remplacer <interface type='network'> en <interface type='ethernet'> supprimmer la balise <source …> ajouter une balise <target dev='vm-ipv6-nomVM'/>
Cela devrait donner une section similaire :
<interface type='ethernet'>
<mac address='52:54:00:c3:b9:c7'/>
<target dev='vm-ipv6-mail'/>
<model type='rtl8139'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
</interface>
Sauvegarder et quitter, virsh destroy 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
Puis exécuter les deux lignes ip route add ajoutée sur l'hôte opposé.
Ensuite sur la machine 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.


