StageKVMBIRD » Historique » Version 27
Vincent Passama, 07/03/2013 17:17
1 | 1 | Laurent GUERBY | {{>toc}} |
---|---|---|---|
2 | 1 | Laurent GUERBY | |
3 | 27 | Vincent Passama | |
4 | 1 | Laurent GUERBY | h1. StageKVMBIRD |
5 | 1 | Laurent GUERBY | |
6 | 27 | Vincent Passama | |
7 | 2 | Vincent Passama | Projet de maquettage réseau virtualisé avec interconnexion de niveaux 2 et 3 (routage dynamique) |
8 | 2 | Vincent Passama | |
9 | 27 | Vincent Passama | |
10 | 10 | Laurent GUERBY | h2. Projet |
11 | 2 | Vincent Passama | |
12 | 27 | Vincent Passama | |
13 | 4 | Vincent Passama | h3. Technique |
14 | 4 | Vincent Passama | |
15 | 27 | Vincent Passama | |
16 | 18 | Vincent Passama | * Installation et prise en main de KVM/libvirt, Open vSwitch, BIRD. |
17 | 18 | Vincent Passama | * Accès aux machines virtuelles par groupe d'utilisateurs (accès non root) |
18 | 18 | Vincent Passama | * Etablissement de plusieurs topologies de test (voir schéma en lien) |
19 | 18 | Vincent Passama | * Utilisation de routes statiques puis réglages d'OSPF |
20 | 1 | Laurent GUERBY | |
21 | 27 | Vincent Passama | |
22 | 18 | Vincent Passama | h3. Information / gestion |
23 | 18 | Vincent Passama | |
24 | 27 | Vincent Passama | |
25 | 18 | Vincent Passama | * Documentation et prise en main de BIRD, open vSwitch, KVM |
26 | 1 | Laurent GUERBY | |
27 | 27 | Vincent Passama | |
28 | 1 | Laurent GUERBY | h2. Point d'avancement |
29 | 1 | Laurent GUERBY | |
30 | 18 | Vincent Passama | |
31 | 1 | Laurent GUERBY | |
32 | 27 | Vincent Passama | h3. *Installation et lancement de Open vSwitch :* |
33 | 18 | Vincent Passama | |
34 | 1 | Laurent GUERBY | |
35 | 1 | Laurent GUERBY | |
36 | 27 | Vincent Passama | @aptitude install openvswitch-brcompat openvswitch-common openvswitch-datapath-dkms@ |
37 | 1 | Laurent GUERBY | |
38 | 27 | Vincent Passama | @cat /etc/network/interfaces@ |
39 | 27 | Vincent Passama | *@ # The loopback network interface@* |
40 | 27 | Vincent Passama | auto lo |
41 | 27 | Vincent Passama | iface lo inet loopback@ |
42 | 1 | Laurent GUERBY | |
43 | 27 | Vincent Passama | *@ # The primary network interface@* |
44 | 27 | Vincent Passama | @auto eth0 |
45 | 27 | Vincent Passama | iface eth0 inet manual |
46 | 27 | Vincent Passama | up ifconfig $IFACE 0.0.0.0 up |
47 | 27 | Vincent Passama | down ifconfig $IFACE down@ |
48 | 1 | Laurent GUERBY | |
49 | 27 | Vincent Passama | *@ # Host Network@* |
50 | 27 | Vincent Passama | @iface ovsbr0p1 inet dhcp@ |
51 | 18 | Vincent Passama | |
52 | 27 | Vincent Passama | @ovs-vsctl add-br ovsbr0 |
53 | 27 | Vincent Passama | ovs-vsctl add-port ovsbr0 eth0 |
54 | 27 | Vincent Passama | ovs-vsctl add-port ovsbr0 ovsbr0p1 -- set interface ovsbr0p1 type=internal |
55 | 27 | Vincent Passama | reboot@ |
56 | 1 | Laurent GUERBY | |
57 | 1 | Laurent GUERBY | |
58 | 1 | Laurent GUERBY | |
59 | 27 | Vincent Passama | h3. *Ajout de VMs avec qemu-kvm :* |
60 | 18 | Vincent Passama | |
61 | 27 | Vincent Passama | |
62 | 27 | Vincent Passama | |
63 | 27 | Vincent Passama | @qemu-img create -f raw debian.raw 2G // Création d'une image disque au format RAW |
64 | 27 | Vincent Passama | virt-install --connect qemu:///system --name=DebianTestingSource --hvm --noautoconsole --ram 1024 --file=./debian.raw --vnc --os-type=linux --cdrom ./debian-wheezy-DI-rc1-amd64-CD-1.iso --nonetworks // Ajout d'une VM utilisant l'image |
65 | 27 | Vincent Passama | virt-clone --connect qemu:///system --original DebianTestingSource --name X --file ./debianX.raw // Clônage de la machine virtuelle |
66 | 27 | Vincent Passama | virt-manager // Pour superviser les VMs en mode graphique |
67 | 27 | Vincent Passama | virt-viewer nomVM // Pour lancer la vue sur une VM en ligne de commande@ |
68 | 27 | Vincent Passama | |
69 | 27 | Vincent Passama | |
70 | 27 | Vincent Passama | |
71 | 27 | Vincent Passama | h3. *Accès aux utilisateurs non root résolu via l'utilisation de plusieurs commandes :* |
72 | 27 | Vincent Passama | |
73 | 27 | Vincent Passama | |
74 | 27 | Vincent Passama | |
75 | 27 | Vincent Passama | @cat /etc/polkit-1/localauthority/50-local.d/50-libvirt-remote-access.pkla |
76 | 27 | Vincent Passama | [libvirt Management Access] |
77 | 27 | Vincent Passama | Identity=unix-group:libvirt;unix-user:root |
78 | 27 | Vincent Passama | Action=org.libvirt.unix.manage |
79 | 27 | Vincent Passama | ResultAny=yes |
80 | 27 | Vincent Passama | ResultInactive=yes |
81 | 27 | Vincent Passama | ResultActive=yes@ |
82 | 27 | Vincent Passama | |
83 | 18 | Vincent Passama | Ce fichier permet de déclarer les accès à la supervision des machines virtuelles selon le nom ou le groupe d'un utilisateur. |
84 | 18 | Vincent Passama | |
85 | 27 | Vincent Passama | @adduser vince kvm |
86 | 27 | Vincent Passama | adduser vince libvirt |
87 | 27 | Vincent Passama | adduser vince vde2-net@ |
88 | 1 | Laurent GUERBY | |
89 | 18 | Vincent Passama | On ajoute l'utilisateur en question au groupe. Puis on se reconnecte sur la machine pour que les changements de groupe soient pris en compte. |
90 | 18 | Vincent Passama | Ne pas oublier par la suite de manipuler les machines virtuelles avec cet ajout dans les commandes : |
91 | 18 | Vincent Passama | |
92 | 27 | Vincent Passama | @--connect qemu:///system@ |
93 | 18 | Vincent Passama | |
94 | 18 | Vincent Passama | |
95 | 18 | Vincent Passama | |
96 | 27 | Vincent Passama | h3. *Edition de la VM pour ajouter l'interface créée via Open vSwitch :* |
97 | 18 | Vincent Passama | |
98 | 18 | Vincent Passama | |
99 | 18 | Vincent Passama | |
100 | 27 | Vincent Passama | @virsh edit DebianTestingSource |
101 | 27 | Vincent Passama | <interface type='bridge'> |
102 | 27 | Vincent Passama | <source bridge='ovsbr0'/> |
103 | 27 | Vincent Passama | <virtualport type='openvswitch' /> |
104 | 27 | Vincent Passama | <model type='virtio'/>@ |
105 | 23 | Vincent Passama | |
106 | 22 | Vincent Passama | |
107 | 22 | Vincent Passama | |
108 | 27 | Vincent Passama | h3. *Installation et lancement de BIRD :* |
109 | 22 | Vincent Passama | |
110 | 22 | Vincent Passama | |
111 | 22 | Vincent Passama | |
112 | 27 | Vincent Passama | @aptitude install bird bird6 // Installation du paquet BIRD (et BIRD6 pour ipv6) |
113 | 27 | Vincent Passama | vim /etc/bird.conf // Edition du fichier de configuration |
114 | 27 | Vincent Passama | birdc // Invite de commande pour BIRD |
115 | 27 | Vincent Passama | service bird stop|start // Relancer le service BIRD@ |
116 | 27 | Vincent Passama | |
117 | 27 | Vincent Passama | |
118 | 27 | Vincent Passama | |
119 | 27 | Vincent Passama | h3. *Topologie du triangle BGP (3 AS) avec routes statiques :* |
120 | 27 | Vincent Passama | |
121 | 27 | Vincent Passama | |
122 | 27 | Vincent Passama | |
123 | 22 | Vincent Passama | !http://img199.imageshack.us/img199/5747/tetaneutraltriangle.png! |
124 | 24 | Vincent Passama | |
125 | 22 | Vincent Passama | |
126 | 24 | Vincent Passama | Sur 3 Vms, effectuer l'activation du routage IP : |
127 | 22 | Vincent Passama | |
128 | 24 | Vincent Passama | @cat /etc/sysctl.conf |
129 | 22 | Vincent Passama | net.ipv4.ip_forward=1 |
130 | 22 | Vincent Passama | sysctl -p /etc/sysctl.conf@ |
131 | 24 | Vincent Passama | |
132 | 22 | Vincent Passama | Configuration de BIRD : |
133 | 24 | Vincent Passama | |
134 | 22 | Vincent Passama | *@cat /etc bird.conf // CONFIGURATION H3@* |
135 | 22 | Vincent Passama | |
136 | 22 | Vincent Passama | @log syslog all;@ |
137 | 24 | Vincent Passama | |
138 | 22 | Vincent Passama | @protocol kernel { |
139 | 27 | Vincent Passama | scan time 20; # Scan kernel routing table every 20 seconds |
140 | 27 | Vincent Passama | export all; # Default is export none |
141 | 22 | Vincent Passama | }@ |
142 | 22 | Vincent Passama | |
143 | 1 | Laurent GUERBY | @# This pseudo-protocol watches all interface up/down events. |
144 | 1 | Laurent GUERBY | protocol device { |
145 | 27 | Vincent Passama | scan time 10; # Scan interfaces every 10 seconds |
146 | 1 | Laurent GUERBY | }@ |
147 | 1 | Laurent GUERBY | |
148 | 24 | Vincent Passama | @protocol static { |
149 | 1 | Laurent GUERBY | import all; |
150 | 24 | Vincent Passama | route 192.0.1.0/24 via 192.0.1.1; |
151 | 22 | Vincent Passama | route 192.0.2.0/24 via 192.0.2.1; |
152 | 22 | Vincent Passama | }@ |
153 | 22 | Vincent Passama | |
154 | 1 | Laurent GUERBY | @protocol bgp h31 { |
155 | 1 | Laurent GUERBY | description "BGP H3 65001"; |
156 | 24 | Vincent Passama | local as 65000; |
157 | 22 | Vincent Passama | neighbor 192.0.1.2 as 65001; |
158 | 24 | Vincent Passama | import all; |
159 | 1 | Laurent GUERBY | export all; |
160 | 24 | Vincent Passama | }@ |
161 | 24 | Vincent Passama | |
162 | 24 | Vincent Passama | @protocol bgp h32 { |
163 | 22 | Vincent Passama | description "BGP H3 65002"; |
164 | 24 | Vincent Passama | local as 65000; |
165 | 1 | Laurent GUERBY | neighbor 192.0.2.2 as 65002; |
166 | 22 | Vincent Passama | import all; |
167 | 24 | Vincent Passama | export all; |
168 | 22 | Vincent Passama | }@ |
169 | 24 | Vincent Passama | |
170 | 1 | Laurent GUERBY | *@cat /etc bird.conf // CONFIGURATION STRI@* |
171 | 1 | Laurent GUERBY | |
172 | 24 | Vincent Passama | @log syslog all;@ |
173 | 22 | Vincent Passama | |
174 | 24 | Vincent Passama | @protocol kernel { |
175 | 27 | Vincent Passama | scan time 20; # Scan kernel routing table every 20 seconds |
176 | 27 | Vincent Passama | export all; # Default is export none |
177 | 1 | Laurent GUERBY | }@ |
178 | 1 | Laurent GUERBY | |
179 | 1 | Laurent GUERBY | @# This pseudo-protocol watches all interface up/down events. |
180 | 1 | Laurent GUERBY | protocol device { |
181 | 27 | Vincent Passama | scan time 10; # Scan interfaces every 10 seconds |
182 | 1 | Laurent GUERBY | }@ |
183 | 1 | Laurent GUERBY | |
184 | 1 | Laurent GUERBY | @protocol static { |
185 | 1 | Laurent GUERBY | import all; |
186 | 1 | Laurent GUERBY | route 192.0.3.0/24 via 192.0.3.2; |
187 | 1 | Laurent GUERBY | route 192.0.1.0/24 via 192.0.1.2; |
188 | 1 | Laurent GUERBY | }@ |
189 | 1 | Laurent GUERBY | |
190 | 1 | Laurent GUERBY | @protocol bgp stri1 { |
191 | 1 | Laurent GUERBY | description "BGP STRI 65002"; |
192 | 1 | Laurent GUERBY | local as 65001; |
193 | 1 | Laurent GUERBY | neighbor 192.0.3.1 as 65002; |
194 | 1 | Laurent GUERBY | import all; |
195 | 1 | Laurent GUERBY | export all; |
196 | 1 | Laurent GUERBY | }@ |
197 | 1 | Laurent GUERBY | |
198 | 1 | Laurent GUERBY | @protocol bgp stri2 { |
199 | 1 | Laurent GUERBY | description "BGP STRI 65000"; |
200 | 1 | Laurent GUERBY | local as 65001; |
201 | 1 | Laurent GUERBY | neighbor 192.0.1.1 as 65000; |
202 | 1 | Laurent GUERBY | import all; |
203 | 1 | Laurent GUERBY | export all; |
204 | 1 | Laurent GUERBY | }@ |
205 | 22 | Vincent Passama | |
206 | 24 | Vincent Passama | *@cat /etc bird.conf // CONFIGURATION N7@* |
207 | 22 | Vincent Passama | |
208 | 24 | Vincent Passama | @log syslog all;@ |
209 | 1 | Laurent GUERBY | |
210 | 1 | Laurent GUERBY | @protocol kernel { |
211 | 1 | Laurent GUERBY | scan time 20; # Scan kernel routing table every 20 seconds |
212 | 27 | Vincent Passama | export all; # Default is export none |
213 | 22 | Vincent Passama | }@ |
214 | 24 | Vincent Passama | |
215 | 22 | Vincent Passama | @# This pseudo-protocol watches all interface up/down events. |
216 | 24 | Vincent Passama | protocol device { |
217 | 27 | Vincent Passama | scan time 10; # Scan interfaces every 10 seconds |
218 | 22 | Vincent Passama | }@ |
219 | 22 | Vincent Passama | |
220 | 22 | Vincent Passama | @protocol static { |
221 | 22 | Vincent Passama | import all; |
222 | 24 | Vincent Passama | route 192.0.2.0/24 via 192.0.2.2; |
223 | 22 | Vincent Passama | route 192.0.3.0/24 via 192.0.3.1; |
224 | 24 | Vincent Passama | }@ |
225 | 22 | Vincent Passama | |
226 | 24 | Vincent Passama | @protocol bgp n71 { |
227 | 24 | Vincent Passama | description "BGP N7 65000"; |
228 | 24 | Vincent Passama | local as 65002; |
229 | 22 | Vincent Passama | neighbor 192.0.1.1 as 65000; |
230 | 22 | Vincent Passama | import all; |
231 | 22 | Vincent Passama | export all; |
232 | 22 | Vincent Passama | }@ |
233 | 24 | Vincent Passama | |
234 | 22 | Vincent Passama | @protocol bgp n72 { |
235 | 24 | Vincent Passama | description "BGP N7 65001"; |
236 | 1 | Laurent GUERBY | local as 65002; |
237 | 1 | Laurent GUERBY | neighbor 192.0.3.2 as 65001; |
238 | 25 | Vincent Passama | import all; |
239 | 25 | Vincent Passama | export all; |
240 | 24 | Vincent Passama | }@ |
241 | 22 | Vincent Passama | |
242 | 1 | Laurent GUERBY | Ici, relancer les services BIRD sur chaque machine et patienter quelques secondes... |
243 | 1 | Laurent GUERBY | (voir schema route-BGP-static.png) |
244 | 25 | Vincent Passama | |
245 | 27 | Vincent Passama | |
246 | 27 | Vincent Passama | |
247 | 27 | Vincent Passama | h3. *Topologie du triangle BGP (3 AS) avec routes dynamiques (OSPF) :* |
248 | 27 | Vincent Passama | |
249 | 27 | Vincent Passama | |
250 | 27 | Vincent Passama | |
251 | 27 | Vincent Passama | !http://img35.imageshack.us/img35/9895/tetaneutraltriangleospf.png! |
252 | 27 | Vincent Passama | |
253 | 27 | Vincent Passama | |
254 | 27 | Vincent Passama | La mise en place est un succès, nous déclarons les area OSPF de tous les routeurs "Rx" iBGP puis également sur les interfaces intra-AS des routeurs eBGP. Ainsi ils diffusent leurs routes à l'ensemble du réseau. |
255 | 27 | Vincent Passama | Pour les eBGP, les routes sont diffusées via BGP. |
256 | 27 | Vincent Passama | |
257 | 27 | Vincent Passama | |
258 | 22 | Vincent Passama | h2. Tâches en cours |
259 | 22 | Vincent Passama | |
260 | 27 | Vincent Passama | |
261 | 22 | Vincent Passama | h3. Vincent |
262 | 22 | Vincent Passama | |
263 | 27 | Vincent Passama | |
264 | 27 | Vincent Passama | A se partager avec Othmane : |
265 | 27 | Vincent Passama | |
266 | 27 | Vincent Passama | * Prévoir l'utilisation de VLANs |
267 | 27 | Vincent Passama | * Regarder les rejets de routes |
268 | 27 | Vincent Passama | * Faire le bilan sur les possibilités de la virtualisation (partage de systèmes de fichiers) et comparer avec notre avancement |
269 | 27 | Vincent Passama | * Faire cohabiter Quagga / BIRD dans la topologie pour constater notamment les différences d'accès à l'espace utilisateur / espace noyau |
270 | 27 | Vincent Passama | * Vérifier et noter la sécurité des VMs par rapport à des erreurs de manipulations entre différents utilisateurs |
271 | 27 | Vincent Passama | * Mettre en place la topologie suivante : |
272 | 27 | Vincent Passama | |
273 | 27 | Vincent Passama | !http://img803.imageshack.us/img803/1870/tetaneutralinterco.png! |
274 | 27 | Vincent Passama | |
275 | 27 | Vincent Passama | * Automatiser l'installation / la configuration des VMs au moyen de scripts |
276 | 27 | Vincent Passama | * Rédiger le rapport et préparer l'oral (plan à venir) |
277 | 14 | Philippe Latu | |
278 | 14 | Philippe Latu | h3. Othmane |
279 | 14 | Philippe Latu | |
280 | 15 | othmane elmouden | Documentation et Installation de KVM+OVS |
281 | 15 | othmane elmouden | Documentation et Installation de BIRD |
282 | 15 | othmane elmouden | Documentation sur l'utilisation des vlans dans ovs |
283 | 15 | othmane elmouden | |
284 | 15 | othmane elmouden | Réponse: |
285 | 15 | othmane elmouden | |
286 | 15 | othmane elmouden | Ayant pas reçu un mail et du fait que j'ai vue votre publication très tard,je voudrais m'excuser pour ne pas avoir été présent en réunion la semaine passé. |
287 | 15 | othmane elmouden | |
288 | 15 | othmane elmouden | Justement nous avons pu lancer le virt-manager au niveau d'un utilisateur normal. |
289 | 15 | othmane elmouden | |
290 | 15 | othmane elmouden | je viens de voir l'aspect routage(quagga ospfd) entre 3 vm (topologie logique triangle) et je vois que le routage ospf fonctionne bien,sachant que j'ai pas |
291 | 15 | othmane elmouden | |
292 | 16 | othmane elmouden | configurer ports taggés sur le open vswitch. |
293 | 15 | othmane elmouden | |
294 | 15 | othmane elmouden | Serait il nécessaire de passer par des vlans au niveau OVS? |
295 | 1 | Laurent GUERBY | |
296 | 19 | Laurent GUERBY | Merci d'avance pour m'avoir apporter quelque explications pour la prochaine étape . |
297 | 26 | Vincent Passama | |
298 | 21 | Vincent Passama | |
299 | 1 | Laurent GUERBY | 20130304 13h45 : les VLANs ne sont pas prioritaire pour l'association. Est-ce que vous avez un document qui montre ce qu'il faut faire pas a pas pour lancer le switch et 3 VMs interconnectées avec BIRD ? Que pensez-vous presenter a votre soutenance entreprise le mercredi 13 mars dans un peu plus d'une semaine ? / Laurent GUERBY |
300 | 1 | Laurent GUERBY | |
301 | 6 | Vincent Passama | 20130304 14h05 : Oui pour l'instant je travaille essentiellement sur BIRD pour interconnecter les VMS sur du statique puis bientôt OSPF donc les vlans seront étudiés si le temps le permet. Pour le 13 mars je suis d'accord. Je n'ai pas encore recrée la topologie dans son intégralité car je suis encore sur les 3 machines en triangle mais une documentation en étapes sera éditée pour monter l'architecture effectivement. Je peux la fournir dès que j'aurai réussi avec BIRD. / Vincent Passama |
302 | 6 | Vincent Passama | |
303 | 1 | Laurent GUERBY | h2. Liens utiles |
304 | 6 | Vincent Passama | |
305 | 6 | Vincent Passama | h3. KVM |
306 | 6 | Vincent Passama | |
307 | 6 | Vincent Passama | * http://www.linux-kvm.org/page/Main_Page : Site officiel de KVM |
308 | 6 | Vincent Passama | * http://www.vogelweith.com/debian_server/14_kvm.php : Installation et administration d'un serveur KVM |
309 | 6 | Vincent Passama | * http://www.admin-magazine.com/CloudAge/Articles/Virtualization-with-KVM : Autre article sur KVM |
310 | 6 | Vincent Passama | |
311 | 1 | Laurent GUERBY | h3. open vSwitch |
312 | 1 | Laurent GUERBY | |
313 | 6 | Vincent Passama | * http://openvswitch.org : Site officiel Open vSwitch |
314 | 6 | Vincent Passama | * http://tech.covoiturage.fr/2012/08/22/open-vswitch-un-switch-logiciel-pour-des-reseaux-virtuels : Documentation sur open vSwitch |
315 | 6 | Vincent Passama | * http://www.admin-magazine.com/CloudAge/Articles/Virtual-switching-with-Open-vSwitch : Autre article sur open vSwitch |
316 | 1 | Laurent GUERBY | |
317 | 6 | Vincent Passama | h3. BIRD |
318 | 10 | Laurent GUERBY | |
319 | 3 | Vincent Passama | * http://bird.network.cz : Site officiel BIRD |
320 | 3 | Vincent Passama | * [[BIRD]] : Page wiki sur BIRD |
321 | 11 | Laurent GUERBY | |
322 | 11 | Laurent GUERBY | h2. Fichiers et documentation |
323 | 18 | Vincent Passama | |
324 | 18 | Vincent Passama | h2. Notes |
325 | 1 | Laurent GUERBY | |
326 | 1 | Laurent GUERBY | 20130204 15h13 je passe au Batiment U2 salle 213 pour voir vos collegues mercredi 6 fevrier a 9h, ou en-ete-vous ? On se voit aussi ? / Laurent |
327 | 1 | Laurent GUERBY | |
328 | 1 | Laurent GUERBY | Je suis actuellement sur la topologie de Laurent, j'ai refais le schéma mais j'ai des doutes sur pas mal d'éléments (voir le fichier ajouté). / Vincent |