StageKVMBIRD » Historique » Version 26
Vincent Passama, 04/03/2013 17:04
1 | 1 | Laurent GUERBY | {{>toc}} |
---|---|---|---|
2 | 1 | Laurent GUERBY | |
3 | 1 | Laurent GUERBY | h1. StageKVMBIRD |
4 | 1 | Laurent GUERBY | |
5 | 2 | Vincent Passama | Projet de maquettage réseau virtualisé avec interconnexion de niveaux 2 et 3 (routage dynamique) |
6 | 2 | Vincent Passama | |
7 | 10 | Laurent GUERBY | h2. Projet |
8 | 2 | Vincent Passama | |
9 | 4 | Vincent Passama | h3. Technique |
10 | 4 | Vincent Passama | |
11 | 18 | Vincent Passama | * Installation et prise en main de KVM/libvirt, Open vSwitch, BIRD. |
12 | 18 | Vincent Passama | * Accès aux machines virtuelles par groupe d'utilisateurs (accès non root) |
13 | 18 | Vincent Passama | * Etablissement de plusieurs topologies de test (voir schéma en lien) |
14 | 18 | Vincent Passama | * Utilisation de routes statiques puis réglages d'OSPF |
15 | 1 | Laurent GUERBY | |
16 | 18 | Vincent Passama | h3. Information / gestion |
17 | 1 | Laurent GUERBY | |
18 | 18 | Vincent Passama | * Documentation et prise en main de BIRD, open vSwitch, KVM |
19 | 1 | Laurent GUERBY | |
20 | 18 | Vincent Passama | h2. Point d'avancement |
21 | 1 | Laurent GUERBY | |
22 | 1 | Laurent GUERBY | |
23 | 18 | Vincent Passama | * *Installation et lancement de Open vSwitch :* |
24 | 18 | Vincent Passama | |
25 | 18 | Vincent Passama | |
26 | 18 | Vincent Passama | > @aptitude install openvswitch-brcompat openvswitch-common openvswitch-datapath-dkms |
27 | 18 | Vincent Passama | |
28 | 18 | Vincent Passama | > cat /etc/network/interfaces |
29 | 18 | Vincent Passama | > # The loopback network interface |
30 | 18 | Vincent Passama | > auto lo |
31 | 18 | Vincent Passama | > iface lo inet loopback |
32 | 18 | Vincent Passama | > |
33 | 18 | Vincent Passama | > # The primary network interface |
34 | 18 | Vincent Passama | > auto eth0 |
35 | 18 | Vincent Passama | > iface eth0 inet manual |
36 | 18 | Vincent Passama | > up ifconfig $IFACE 0.0.0.0 up |
37 | 18 | Vincent Passama | > down ifconfig $IFACE down |
38 | 18 | Vincent Passama | > |
39 | 18 | Vincent Passama | > # Host Network |
40 | 18 | Vincent Passama | > iface ovsbr0p1 inet dhcp |
41 | 18 | Vincent Passama | > |
42 | 18 | Vincent Passama | > ovs-vsctl add-br ovsbr0 |
43 | 18 | Vincent Passama | > ovs-vsctl add-port ovsbr0 eth0 |
44 | 18 | Vincent Passama | > ovs-vsctl add-port ovsbr0 ovsbr0p1 -- set interface ovsbr0p1 type=internal |
45 | 18 | Vincent Passama | > reboot@ |
46 | 18 | Vincent Passama | |
47 | 18 | Vincent Passama | |
48 | 18 | Vincent Passama | * *Ajout de VMs avec qemu-kvm :* |
49 | 18 | Vincent Passama | |
50 | 18 | Vincent Passama | |
51 | 18 | Vincent Passama | > @qemu-img create -f raw debian.raw 2G // Création d'une image disque au format RAW |
52 | 18 | 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 |
53 | 18 | Vincent Passama | > virt-clone --connect qemu:///system --original DebianTestingSource --name X --file ./debianX.raw // Clônage de la machine virtuelle |
54 | 18 | Vincent Passama | > virt-manager // Pour superviser les VMs en mode graphique |
55 | 18 | Vincent Passama | > virt-viewer nomVM // Pour lancer la vue sur une VM en ligne de commande@ |
56 | 18 | Vincent Passama | |
57 | 18 | Vincent Passama | |
58 | 18 | Vincent Passama | * *Accès aux utilisateurs non root résolu via l'utilisation de plusieurs commandes :* |
59 | 18 | Vincent Passama | |
60 | 18 | Vincent Passama | |
61 | 18 | Vincent Passama | > @cat /etc/polkit-1/localauthority/50-local.d/50-libvirt-remote-access.pkla |
62 | 18 | Vincent Passama | > [libvirt Management Access] |
63 | 18 | Vincent Passama | > Identity=unix-group:libvirt;unix-user:root |
64 | 18 | Vincent Passama | > Action=org.libvirt.unix.manage |
65 | 18 | Vincent Passama | > ResultAny=yes |
66 | 18 | Vincent Passama | > ResultInactive=yes |
67 | 18 | Vincent Passama | > ResultActive=yes@ |
68 | 18 | Vincent Passama | |
69 | 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. |
70 | 18 | Vincent Passama | |
71 | 18 | Vincent Passama | > @adduser vince kvm |
72 | 18 | Vincent Passama | > adduser vince libvirt |
73 | 18 | Vincent Passama | > adduser vince vde2-net@ |
74 | 18 | Vincent Passama | |
75 | 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. |
76 | 18 | Vincent Passama | Ne pas oublier par la suite de manipuler les machines virtuelles avec cet ajout dans les commandes : |
77 | 18 | Vincent Passama | |
78 | 18 | Vincent Passama | > @--connect qemu:///system@ |
79 | 18 | Vincent Passama | |
80 | 18 | Vincent Passama | |
81 | 18 | Vincent Passama | * *Edition de la VM pour ajouter l'interface créée via Open vSwitch :* |
82 | 18 | Vincent Passama | |
83 | 18 | Vincent Passama | |
84 | 18 | Vincent Passama | > @virsh edit DebianTestingSource |
85 | 18 | Vincent Passama | > <interface type='bridge'> |
86 | 18 | Vincent Passama | > <source bridge='ovsbr0'/> |
87 | 18 | Vincent Passama | > <virtualport type='openvswitch' /> |
88 | 18 | Vincent Passama | > <model type='virtio'/>@ |
89 | 18 | Vincent Passama | |
90 | 18 | Vincent Passama | |
91 | 22 | Vincent Passama | * *Installation et lancement de BIRD :* |
92 | 22 | Vincent Passama | |
93 | 22 | Vincent Passama | |
94 | 22 | Vincent Passama | > @aptitude install bird bird6 // Installation du paquet BIRD (et BIRD6 pour ipv6) |
95 | 22 | Vincent Passama | > vim /etc/bird.conf // Edition du fichier de configuration |
96 | 22 | Vincent Passama | > birdc // Invite de commande pour BIRD |
97 | 23 | Vincent Passama | > service bird stop|start // Relancer le service BIRD@ |
98 | 22 | Vincent Passama | |
99 | 22 | Vincent Passama | |
100 | 22 | Vincent Passama | * *Topologie du triangle BGP (3 AS) avec routes statiques :* |
101 | 22 | Vincent Passama | |
102 | 22 | Vincent Passama | |
103 | 22 | Vincent Passama | !http://img199.imageshack.us/img199/5747/tetaneutraltriangle.png! |
104 | 22 | Vincent Passama | |
105 | 22 | Vincent Passama | |
106 | 22 | Vincent Passama | Sur 3 Vms, effectuer l'activation du routage IP : |
107 | 22 | Vincent Passama | |
108 | 22 | Vincent Passama | @cat /etc/sysctl.conf |
109 | 22 | Vincent Passama | net.ipv4.ip_forward=1 |
110 | 22 | Vincent Passama | sysctl -p /etc/sysctl.conf@ |
111 | 22 | Vincent Passama | |
112 | 22 | Vincent Passama | Configuration de BIRD : |
113 | 22 | Vincent Passama | |
114 | 24 | Vincent Passama | *@cat /etc bird.conf // CONFIGURATION H3@* |
115 | 22 | Vincent Passama | |
116 | 24 | Vincent Passama | @log syslog all;@ |
117 | 22 | Vincent Passama | |
118 | 24 | Vincent Passama | @protocol kernel { |
119 | 22 | Vincent Passama | persist; # Don't remove routes on bird shutdown |
120 | 24 | Vincent Passama | scan time 20; # Scan kernel routing table every 20 seconds |
121 | 22 | Vincent Passama | import all; |
122 | 22 | Vincent Passama | export all; # Default is export none |
123 | 24 | Vincent Passama | }@ |
124 | 22 | Vincent Passama | |
125 | 24 | Vincent Passama | @# This pseudo-protocol watches all interface up/down events. |
126 | 22 | Vincent Passama | protocol device { |
127 | 22 | Vincent Passama | scan time 10; # Scan interfaces every 10 seconds |
128 | 22 | Vincent Passama | primary "eth1" 192.0.1.1; |
129 | 22 | Vincent Passama | primary "eth2" 192.0.2.1; |
130 | 24 | Vincent Passama | }@ |
131 | 22 | Vincent Passama | |
132 | 24 | Vincent Passama | @protocol static { |
133 | 22 | Vincent Passama | import all; |
134 | 25 | Vincent Passama | route 192.0.1.0/24 via 192.0.1.1; |
135 | 25 | Vincent Passama | route 192.0.2.0/24 via 192.0.2.1; |
136 | 24 | Vincent Passama | }@ |
137 | 22 | Vincent Passama | |
138 | 24 | Vincent Passama | @protocol bgp h31 { |
139 | 22 | Vincent Passama | description "BGP H3 65001"; |
140 | 22 | Vincent Passama | local as 65000; |
141 | 1 | Laurent GUERBY | neighbor 192.0.1.2 as 65001; |
142 | 1 | Laurent GUERBY | import all; |
143 | 1 | Laurent GUERBY | export all; |
144 | 24 | Vincent Passama | }@ |
145 | 1 | Laurent GUERBY | |
146 | 24 | Vincent Passama | @protocol bgp h32 { |
147 | 22 | Vincent Passama | description "BGP H3 65002"; |
148 | 22 | Vincent Passama | local as 65000; |
149 | 22 | Vincent Passama | neighbor 192.0.2.2 as 65002; |
150 | 1 | Laurent GUERBY | import all; |
151 | 1 | Laurent GUERBY | export all; |
152 | 24 | Vincent Passama | }@ |
153 | 22 | Vincent Passama | |
154 | 24 | Vincent Passama | *@cat /etc bird.conf // CONFIGURATION STRI@* |
155 | 1 | Laurent GUERBY | |
156 | 24 | Vincent Passama | @log syslog all;@ |
157 | 24 | Vincent Passama | |
158 | 24 | Vincent Passama | @protocol kernel { |
159 | 22 | Vincent Passama | persist; # Don't remove routes on bird shutdown |
160 | 24 | Vincent Passama | scan time 20; # Scan kernel routing table every 20 seconds |
161 | 1 | Laurent GUERBY | import all; # Default is import all |
162 | 22 | Vincent Passama | export all; # Default is export none |
163 | 24 | Vincent Passama | }@ |
164 | 22 | Vincent Passama | |
165 | 24 | Vincent Passama | @# This pseudo-protocol watches all interface up/down events. |
166 | 1 | Laurent GUERBY | protocol device { |
167 | 22 | Vincent Passama | scan time 10; # Scan interfaces every 10 seconds |
168 | 1 | Laurent GUERBY | primary "eth1" 192.0.1.2; |
169 | 1 | Laurent GUERBY | primary "eth2" 192.0.3.2; |
170 | 24 | Vincent Passama | }@ |
171 | 22 | Vincent Passama | |
172 | 24 | Vincent Passama | @protocol static { |
173 | 1 | Laurent GUERBY | import all; |
174 | 1 | Laurent GUERBY | route 192.0.3.0/24 via 192.0.3.2; |
175 | 22 | Vincent Passama | route 192.0.1.0/24 via 192.0.1.2; |
176 | 24 | Vincent Passama | }@ |
177 | 22 | Vincent Passama | |
178 | 24 | Vincent Passama | @protocol bgp stri1 { |
179 | 1 | Laurent GUERBY | description "BGP STRI 65002"; |
180 | 1 | Laurent GUERBY | local as 65001; |
181 | 1 | Laurent GUERBY | neighbor 192.0.3.1 as 65002; |
182 | 22 | Vincent Passama | import all; |
183 | 22 | Vincent Passama | export all; |
184 | 24 | Vincent Passama | }@ |
185 | 22 | Vincent Passama | |
186 | 24 | Vincent Passama | @protocol bgp stri2 { |
187 | 1 | Laurent GUERBY | description "BGP STRI 65000"; |
188 | 22 | Vincent Passama | local as 65001; |
189 | 22 | Vincent Passama | neighbor 192.0.1.1 as 65000; |
190 | 22 | Vincent Passama | import all; |
191 | 22 | Vincent Passama | export all; |
192 | 24 | Vincent Passama | }@ |
193 | 22 | Vincent Passama | |
194 | 24 | Vincent Passama | *@cat /etc bird.conf // CONFIGURATION N7@* |
195 | 22 | Vincent Passama | |
196 | 24 | Vincent Passama | @log syslog all;@ |
197 | 24 | Vincent Passama | |
198 | 24 | Vincent Passama | @protocol kernel { |
199 | 22 | Vincent Passama | persist; # Don't remove routes on bird shutdown |
200 | 22 | Vincent Passama | scan time 20; # Scan kernel routing table every 20 seconds |
201 | 22 | Vincent Passama | import all; # Default is import all |
202 | 22 | Vincent Passama | export all; # Default is export none |
203 | 24 | Vincent Passama | }@ |
204 | 22 | Vincent Passama | |
205 | 24 | Vincent Passama | @# This pseudo-protocol watches all interface up/down events. |
206 | 1 | Laurent GUERBY | protocol device { |
207 | 1 | Laurent GUERBY | scan time 10; # Scan interfaces every 10 seconds |
208 | 25 | Vincent Passama | primary "eth1" 192.0.2.2; |
209 | 25 | Vincent Passama | primary "eth2" 192.0.3.1; |
210 | 24 | Vincent Passama | }@ |
211 | 22 | Vincent Passama | |
212 | 1 | Laurent GUERBY | @protocol static { |
213 | 1 | Laurent GUERBY | import all; |
214 | 25 | Vincent Passama | route 192.0.2.0/24 via 192.0.2.2; |
215 | 25 | Vincent Passama | route 192.0.3.0/24 via 192.0.3.1; |
216 | 24 | Vincent Passama | }@ |
217 | 22 | Vincent Passama | |
218 | 24 | Vincent Passama | @protocol bgp n71 { |
219 | 22 | Vincent Passama | description "BGP N7 65000"; |
220 | 22 | Vincent Passama | local as 65002; |
221 | 22 | Vincent Passama | neighbor 192.0.1.1 as 65000; |
222 | 22 | Vincent Passama | import all; |
223 | 22 | Vincent Passama | export all; |
224 | 24 | Vincent Passama | }@ |
225 | 22 | Vincent Passama | |
226 | 24 | Vincent Passama | @protocol bgp n72 { |
227 | 22 | Vincent Passama | description "BGP N7 65001"; |
228 | 22 | Vincent Passama | local as 65002; |
229 | 22 | Vincent Passama | neighbor 192.0.3.2 as 65001; |
230 | 22 | Vincent Passama | import all; |
231 | 22 | Vincent Passama | export all; |
232 | 22 | Vincent Passama | }@ |
233 | 22 | Vincent Passama | |
234 | 22 | Vincent Passama | Ici, relancer les services BIRD sur chaque machine et patienter quelques secondes... |
235 | 22 | Vincent Passama | (voir schema route-BGP-static.png) |
236 | 22 | Vincent Passama | |
237 | 5 | Vincent Passama | h2. Tâches en cours |
238 | 5 | Vincent Passama | |
239 | 18 | Vincent Passama | h3. Vincent |
240 | 5 | Vincent Passama | |
241 | 26 | Vincent Passama | Choix d'une topologie plus complexe (voir tetaneutral-triangle-OSPF.png en lien) pour illustrer le fonctionnement d'OSPF couplé à BGP. |
242 | 26 | Vincent Passama | Peut-être qu'une architecture plus simple sera mise en place si il s'avère qu'il est trop long de la mettre en place. |
243 | 13 | othmane elmouden | |
244 | 13 | othmane elmouden | h3. Othmane |
245 | 17 | othmane elmouden | |
246 | 6 | Vincent Passama | Documentation et Installation de KVM+OVS |
247 | 14 | Philippe Latu | Documentation et Installation de BIRD |
248 | 14 | Philippe Latu | Documentation sur l'utilisation des vlans dans ovs |
249 | 14 | Philippe Latu | |
250 | 15 | othmane elmouden | Réponse: |
251 | 15 | othmane elmouden | |
252 | 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é. |
253 | 15 | othmane elmouden | |
254 | 15 | othmane elmouden | Justement nous avons pu lancer le virt-manager au niveau d'un utilisateur normal. |
255 | 15 | othmane elmouden | |
256 | 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 |
257 | 15 | othmane elmouden | |
258 | 15 | othmane elmouden | configurer ports taggés sur le open vswitch. |
259 | 15 | othmane elmouden | |
260 | 15 | othmane elmouden | Serait il nécessaire de passer par des vlans au niveau OVS? |
261 | 15 | othmane elmouden | |
262 | 16 | othmane elmouden | Merci d'avance pour m'avoir apporter quelque explications pour la prochaine étape . |
263 | 15 | othmane elmouden | |
264 | 15 | othmane elmouden | |
265 | 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 |
266 | 19 | Laurent GUERBY | |
267 | 26 | 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 |
268 | 21 | Vincent Passama | |
269 | 1 | Laurent GUERBY | h2. Liens utiles |
270 | 1 | Laurent GUERBY | |
271 | 6 | Vincent Passama | h3. KVM |
272 | 6 | Vincent Passama | |
273 | 1 | Laurent GUERBY | * http://www.linux-kvm.org/page/Main_Page : Site officiel de KVM |
274 | 6 | Vincent Passama | * http://www.vogelweith.com/debian_server/14_kvm.php : Installation et administration d'un serveur KVM |
275 | 6 | Vincent Passama | * http://www.admin-magazine.com/CloudAge/Articles/Virtualization-with-KVM : Autre article sur KVM |
276 | 6 | Vincent Passama | |
277 | 6 | Vincent Passama | h3. open vSwitch |
278 | 6 | Vincent Passama | |
279 | 6 | Vincent Passama | * http://openvswitch.org : Site officiel Open vSwitch |
280 | 6 | Vincent Passama | * http://tech.covoiturage.fr/2012/08/22/open-vswitch-un-switch-logiciel-pour-des-reseaux-virtuels : Documentation sur open vSwitch |
281 | 1 | Laurent GUERBY | * http://www.admin-magazine.com/CloudAge/Articles/Virtual-switching-with-Open-vSwitch : Autre article sur open vSwitch |
282 | 1 | Laurent GUERBY | |
283 | 6 | Vincent Passama | h3. BIRD |
284 | 6 | Vincent Passama | |
285 | 6 | Vincent Passama | * http://bird.network.cz : Site officiel BIRD |
286 | 1 | Laurent GUERBY | * [[BIRD]] : Page wiki sur BIRD |
287 | 6 | Vincent Passama | |
288 | 10 | Laurent GUERBY | h2. Fichiers et documentation |
289 | 3 | Vincent Passama | |
290 | 3 | Vincent Passama | h2. Notes |
291 | 11 | Laurent GUERBY | |
292 | 11 | 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 |
293 | 18 | Vincent Passama | |
294 | 18 | Vincent Passama | 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 |