Outils pour utilisateurs

Outils du site


admin:procedures:ajouter-ipv6

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
admin:procedures:ajouter-ipv6 [2018/05/04 15:12] qgibeauxadmin:procedures:ajouter-ipv6 [2024/12/23 02:12] (Version actuelle) – [Ajout de l'interface réseau] pas besoin d'ajouter la 2nde interface si elle existe déjà pilou
Ligne 1: Ligne 1:
 ====== Ajouter IPv6 à une VM ====== ====== Ajouter IPv6 à une VM ======
- 
 ===== Ajout de l'interface réseau ===== ===== Ajout de l'interface réseau =====
  
-On commence par éditer la VM via virt manager pour lui ajouter une interface.+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 template existant.
  
 Pour cela on édite la définition de la machine. Pour cela on édite la définition de la machine.
Ligne 9: Ligne 8:
 {{ :admin:procedures:capture_d_ecran_de_2017-07-12_16_53_35.png?direct&400 |}} {{ :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élection « default-ipv6 ».+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 |}} {{ admin:procedures:add-ipv6.png?direct&400 |}}
Ligne 17: Ligne 16:
 ===== Configuration réseau sur la VM ===== ===== Configuration réseau sur la VM =====
  
-Pour découvrir l'IP de l'interfaceon ajoute +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 : 
-<code conf /etc/network/interfaces+ 
-# The ipv6 network interface +<code> 
-allow-hotplug ens8 +remplacer <interface type='network'> en <interface type='ethernet'> 
-iface ens8 inet6 auto+supprimmer la balise <source …> 
 +ajouter une balise <target dev='vm-ipv6-nomVM'/>
 </code> </code>
-et on redémarre l'interface : 
-  ifdown ens8; ifup ens8 
  
-Alors via ''ip a'' on a une adresse locale +Cela devrait donner une section similaire : 
-    inet6 fe80::5054:ff:fe4c:783f/64 scope link+<code> 
 +    <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> 
 +</code>
  
-On retient le suffixe : ''5054:ff:fe4c:783f''.+Sauvegarder et quitter, virsh shutdown le-nom-de-la-vm, virsh start le-nom-de-la-vm.
  
-Le préfixe dérive de l'hote ''2a01:4f8:10b:c41'' pour maine et ''2a01:4f8:10b:c42'' pour coon.+Récupérer l'adresse link-local côté host : 
 +<code> 
 +=(^-^)=root@coon:~# ip a show vm-ipv6-mail | grep inet6 
 +    inet6 fe80::fc54:ff:fec3:b9c7/64 scope link  
 +</code>
  
-Dans notre cas on est sur coon donc l'ip sera ''2a01:4f8:10b:c42:5054:ff:fe4c:783f''.+Se connecter à la VM : 
 + 
 +Récupérer le suffix ipv4 (ici 57): 
 +<code> 
 +=(^-^)=root@mail:~# ip a | grep 192 
 +    inet 192.168.1.57/24 brd 192.168.1.255 scope global ens3 
 +</code> 
 + 
 +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) : 
 + 
 +<code> 
 +vim /etc/network/interfaces
  
-On défini alors ainsi l'interface : 
-<code conf /etc/network/interfaces> 
-# The ipv6 network interface 
 allow-hotplug ens8 allow-hotplug ens8
 iface ens8 inet6 static iface ens8 inet6 static
-    address 2a01:4f8:10b:c42:5054:ff:fe4c:783f/64 +    address 2a01:4f8:10b:c42::57/128 
-    gateway 2a01:4f8:10b:c42::1+    gateway fe80::fc54:ff:fec3:b9c7 
 +    post-up ip -6 address add 2a01:4f8:10b:c41::57/128 dev ens8 
 + 
 +</code> 
 +puis : 
 +<code> 
 +ifdown ens8; ifup ens8
 </code> </code>
  
-Et on redémarre l'interface. +Copier le dernier paquet firewall-chapril sur la vm et l'installer.
-  ifdown ens8; ifup ens8 +
-===== Configuration réseau sur les hotes et le DNS =====+
  
-On doit ajouter les routes IPv6 dans les hooks libvirt**sur les deux hotes** +Par exemplecela donne cette conf firehol sur mail 
-<code bash /etc/libvirt/hooks/network> +<code
-[...+=(^-^)=root@mail:~# cat /etc/firehol/firehol.conf | grep -v '#' | grep -v '^$' 
-                #bling +ipv6 interface any v6interop proto icmpv6 
-                /sbin/ip -6 route add 2a01:4f8:10b:c42:5054:ff:fe4c:783f dev virbr1 +    client ipv6neigh accept 
-[...] +    server ipv6neigh accept 
-                #bling +    policy return 
-                /sbin/ip -6 route del 2a01:4f8:10b:c42:5054:ff:fe4c:783f dev virbr1+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
 </code> </code>
-Et on peut ajouter la route à chaud + 
-  /sbin/ip -route del 2a01:4f8:10b:c42:5054:ff:fe4c:783f dev virbr1+Noter l'adresse link-local de la vm : 
 +<code> 
 +=(^-^)=root@mail:~# ip -6 a | grep fe80 
 +    inet6 fe80::5054:ff:fec3:b9c7/64 scope link 
 +</code> 
 + 
 +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) : 
 + 
 +<code> 
 +        "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 
 + 
 +</code> 
 + 
 +Aller sur l'hôte opposé, éditer /etc/libvirt/hooks/network et ajouter les lignes suivantes dans les section started et stopped : 
 + 
 +<code> 
 +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 
 + 
 +</code> 
 + 
 +<note important>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).</note> 
 + 
 +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: Ensuite sur la machine [[admin:machines_virtuelles:dns|dns]], on ajoute dans la zone DNS:
 <code  conf/etc/bind/zones/masters/vm.include> <code  conf/etc/bind/zones/masters/vm.include>
-bling.cluster        AAAA    2a01:4f8:10b:c42:5054:ff:fe4c:783f+mail.cluster        AAAA    2a01:4f8:10b:c42::57
 </code> </code>
  
 Puis un reload: Puis un reload:
   rndc reload chapril.org in internal   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.
admin/procedures/ajouter-ipv6.1525446772.txt.gz · Dernière modification : 2018/05/04 15:12 de qgibeaux