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édentes Révision précédente
Prochaine révision
Révision précédente
admin:procedures:ajouter-ipv6 [2017/07/12 17:26]
fpoulain
admin:procedures:ajouter-ipv6 [2021/05/15 22:26] (Version actuelle)
cpm [Configuration réseau sur la VM]
Ligne 1: Ligne 1:
 ====== Ajouter IPv6 à une VM ====== ====== Ajouter IPv6 à une VM ======
- 
 ===== Ajout de l'​interface réseau ===== ===== Ajout de l'​interface réseau =====
  
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:​capture_d_ecran_de_2017-07-12_16_54_05.png?​direct&​400 |}}+{{ admin:​procedures:​add-ipv6.png?​direct&​400 |}}
  
 Ensuite on valide et on redémarre la machine. Ensuite on valide et on redémarre la machine.
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 dans la zone DNS:+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:
 <​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.1499873176.txt.gz · Dernière modification: 2017/07/12 17:26 par fpoulain