Rendu des TPs
Les TPs sont évalués par un contrôle continu, ie par des rendus de TP
(en début d’année) ainsi qu’un projet (en fin de semestre).
Vous devez rendre votre compte-rendu individuel pour ce TP (sur
AMETICE)
au plus tard mardi 18/10 à 18h00. Vous accompagnerez votre CR, le cas échéant, d’une archive contenant les fichiers (Vagrantfile
, config.yml
, …) définissant vos VMs.
1. Corrigé du TP n°1
Avant de continuer, vérifier que la box est bien installée
$ vagrant box list m1reseaux (virtualbox, 0)
Si vous ne l’avez jamais fait, et avez donc des problèmes de quotas, changer l’endroit où virtualbox
stocke ses images-disques.
VBoxManage setproperty machinefolder "/tmp"
Se reporter à la FAQ en cas de souci avec les VMs
Télécharger le corrigé du TP précédent. Dans chaque répertoire, faire
vagrant up
Lire puis appliquer la configuration ansible (en root dans la VM).
VM # ansible-playbook -c local -v /vagrant/config.yml
Vérifier que tout fonctionne correctement.
2. Un Réseau IPv6
Créer un dossier nommé tp2,
$ mkdir tp2
Créer trois nouvelles machines VM1-6
, VM2-6
et VM3-6
sous Debian dotées des interfaces réseaux et associées aux LANs indiqué sur le schéma.
On va voir dans la section suivante comment configurer VM2-6
comme routeur IPv6 entre les deux LAN.
2.1. Configuration des Machines
Important: Bien penser à désactiver IPv4 dans chaque configuration créée.
Il est préférable de déterminer et tester les paramètres en utilisant l’interface graphique. Une fois ces paramètres déterminés, vous pouvez faire la configuration en ansible. Si vous faites directement la configuration en ansible, alors bien lire préalablement cette partie.
NB Vous devrez rendre la configuration ansible.
On prendra pour adresses:
- pour tout le LAN1-6 :
fc00:1234:1::/64
- pour tout le LAN2-6 :
fc00:1234:2::/64
- IP
VM1-6
:fc00:1234:1::1
- IP
VM2-6
:fc00:1234:1::2
- IP
VM2-6
:fc00:1234:2::2
- IP
VM3-6
:fc00:1234:2::3
- De quel type d’adresses s’agit-il ?
- On n’oubliera pas d’activer le drapeau de routage
ip_forward
pour IPv6 parVM2-6:~$ sudo sysctl -w net.ipv6.conf.all.forwarding=1
ou bien directement dans/etc/sysctl.conf
(voir TP1 pour la configuration sous Debian)
2.2. Vérifications
- Vérifier qu’on a bien accès à toutes les autres machines depuis
chacune en utilisant
ping6
. - Les tables de routage peuvent être affichées avec
ip -6 route
. - Faire une capture du trafic sur
VM2-6
et vérifier que le trafic correspond fonctionnellement à celui de ARP adapté à IPv6.
3. Configuration Réseau Semi-Automatique
3.1. Nouvelle configuration
Dans l’interface pour la configuration réseau, on choisira
“Automatique/adresses seulement” pour VM1-6
et VM3-6
. La machine VM2-6
conservera la même configuration et va être configurée pour fournir automatiquement les
adresses aux deux autres.
3.2. Configuration de VM2-6
- Installer
radvd
qui annoncera route et adresses aux autres VMs. RemettreVM2-6
avec la route par défaut de vagrant, vérifier que le DNS fonctionneVM2-6:~$ sudo dhclient eth0
- puis faire
VM2-6:~$ sudo apt-get install radvd
Si le DNS ne fonctionne pas, il vous faudra le configurer via l’interface graphique. Pour savoir quelle valeur entrer, vous pouvez vous inspirer de ce qui est configuré sur votre machine hôte, qui est du même OS que les VMs. Indice: voir le fichier/etc/resolv.conf
. - Le service refuse de se lancer c’est normal.
- Si ne n’est déjà le cas, activer le forwarding ipv6
VM2-6:~$ sudo sysctl -w net.ipv6.conf.all.forwarding=1
- Il faut ensuite configurer le service pour qu’il fonctionne. Pour
cela on crée un fichier
/etc/radvd.conf
avecVM2-6:~$ sudoedit /etc/radvd.conf
Si l’interface deVM2-6
face àVM3-6
esteth2
alors on écritinterface eth2 { AdvSendAdvert on; MaxRtrAdvInterval 30; prefix fc00:1234:2::/64 { AdvValidLifetime 300; AdvPreferredLifetime 120; }; };
- Démarrer le service
VM2-6:~$ sudo service radvd start
- Vérifier que
VM3-6
obtient bien une adresse IPv6 - Ajouter la configuration correspondante à
fc00:1234:1::/64
dans/etc/radvd.conf
- Recharger la configuration pour le service
VM2-6:~$ sudo service radvd restart
- Vérifier que
VM1-6
obtient bien une adresse IPv6 et faire desping6
versVM2-6
, ainsi queVM3-6
.
4. Configuration de fichiers et de services avec ansible
4.1. Remarque Importante
Les appels de configuration sont en général non idempotents, ceci signifie qu’effectuer deux fois la commande ne donnera pas nécessairement le même résultat.
Par exemple, lorsque l’on efface la route par défaut avec
# suppression route par défaut (de vagrant) - shell: ip route del default
Le second appel à ansible-playbook
va provoquer une erreur
(puisque la route n’est plus présente.) Une solution, pendant la phase
de développement, est d’utiliser l’option ignore_errors
.
# suppression route par défaut (de vagrant) - shell: ip route del default ignore_errors: true # permet à ansible de continuer même en cas d'erreur
4.2. Configuration IPv6
La configuration statique des adresses IPv6 se fait de la même manière qu’en IPv4.
Pour utiliser la configuration automatique, on pourra paramétrer method6
.
- name: Configuration automatique de ``VM1-6``/eth1 nmcli: type: ethernet conn_name: eth1 via ansible ifname: eth1 state: present autoconnect: true method6: auto
Rappel: cette configuration doit ensuite être activée explicitement.
4.3. Installations de Fichiers
On pourra utiliser la syntaxe suivante pour installer le fichier de configuration radvd.conf
:
- name: fichier de configuration radvd.conf copy: src: /vagrant/radvd.conf dest: /etc/radvd.conf: owner: root group: root mode: '0644'
Et pour installer et activer le service, il faudra
- name: Installer radvd package: name: radvd state: present - name: Démarrer le service radvd service: name: radvd state: started
Donner les deux configurations ansible correspondantes au mode statique ou automatique. On pourra également se référer à la documentation.
Vérifier ces configurations en partant de machine “neuves” avec
$ vagrant destroy $ vagrant up