Project

General

Profile

StageKVMBIRD » History » Version 23

Vincent Passama, 03/04/2013 03:54 PM

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 22 Vincent Passama
*@cat /etc bird.conf // CONFIGURATION H3*
115 22 Vincent Passama
116 22 Vincent Passama
log syslog all;
117 22 Vincent Passama
118 22 Vincent Passama
protocol kernel {
119 22 Vincent Passama
persist;		# Don't remove routes on bird shutdown
120 22 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 22 Vincent Passama
}
124 22 Vincent Passama
125 22 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 22 Vincent Passama
}
131 22 Vincent Passama
132 22 Vincent Passama
protocol static {
133 22 Vincent Passama
import all;
134 22 Vincent Passama
}
135 22 Vincent Passama
136 22 Vincent Passama
protocol bgp h31 {
137 22 Vincent Passama
description "BGP H3 65001";
138 22 Vincent Passama
local as 65000;
139 22 Vincent Passama
neighbor 192.0.1.2 as 65001;
140 22 Vincent Passama
import all;
141 22 Vincent Passama
export all;
142 22 Vincent Passama
}
143 22 Vincent Passama
144 22 Vincent Passama
protocol bgp h32 {
145 22 Vincent Passama
description "BGP H3 65002";
146 22 Vincent Passama
local as 65000;
147 22 Vincent Passama
neighbor 192.0.2.2 as 65002;
148 22 Vincent Passama
import all;
149 22 Vincent Passama
export all;
150 22 Vincent Passama
}
151 22 Vincent Passama
152 22 Vincent Passama
*cat /etc bird.conf // CONFIGURATION STRI*
153 22 Vincent Passama
log syslog all;
154 22 Vincent Passama
155 22 Vincent Passama
protocol kernel {
156 22 Vincent Passama
persist;		# Don't remove routes on bird shutdown
157 22 Vincent Passama
scan time 20;       # Scan kernel routing table every 20 seconds
158 22 Vincent Passama
import all;		# Default is import all
159 22 Vincent Passama
export all;		# Default is export none
160 22 Vincent Passama
}
161 22 Vincent Passama
162 22 Vincent Passama
# This pseudo-protocol watches all interface up/down events.
163 22 Vincent Passama
protocol device {
164 22 Vincent Passama
scan time 10;		# Scan interfaces every 10 seconds
165 22 Vincent Passama
primary "eth1" 192.0.1.2;
166 22 Vincent Passama
primary "eth2" 192.0.3.2;
167 22 Vincent Passama
}
168 22 Vincent Passama
169 22 Vincent Passama
protocol static {
170 22 Vincent Passama
import all;
171 22 Vincent Passama
route 192.0.3.0/24 via 192.0.3.2;
172 22 Vincent Passama
route 192.0.1.0/24 via 192.0.1.2;
173 22 Vincent Passama
}
174 22 Vincent Passama
175 22 Vincent Passama
protocol bgp stri1 {
176 22 Vincent Passama
description "BGP STRI 65002";
177 22 Vincent Passama
local as 65001;
178 22 Vincent Passama
neighbor 192.0.3.1 as 65002;
179 22 Vincent Passama
import all;
180 22 Vincent Passama
export all;
181 22 Vincent Passama
}
182 22 Vincent Passama
183 22 Vincent Passama
protocol bgp stri2 {
184 22 Vincent Passama
description "BGP STRI 65000";
185 22 Vincent Passama
local as 65001;
186 22 Vincent Passama
neighbor 192.0.1.1 as 65000;
187 22 Vincent Passama
import all;
188 22 Vincent Passama
export all;
189 22 Vincent Passama
}
190 22 Vincent Passama
191 22 Vincent Passama
*cat /etc bird.conf // CONFIGURATION N7*
192 22 Vincent Passama
log syslog all;
193 22 Vincent Passama
194 22 Vincent Passama
protocol kernel {
195 22 Vincent Passama
persist;		# Don't remove routes on bird shutdown
196 22 Vincent Passama
scan time 20;	# Scan kernel routing table every 20 seconds
197 22 Vincent Passama
import all;		# Default is import all
198 22 Vincent Passama
export all;		# Default is export none
199 22 Vincent Passama
}
200 22 Vincent Passama
201 22 Vincent Passama
# This pseudo-protocol watches all interface up/down events.
202 22 Vincent Passama
protocol device {
203 22 Vincent Passama
scan time 10;		# Scan interfaces every 10 seconds
204 22 Vincent Passama
primary "eth1" 192.168.2.2;
205 22 Vincent Passama
primary "eth2" 192.168.3.1;
206 22 Vincent Passama
}
207 22 Vincent Passama
208 22 Vincent Passama
protocol static {
209 22 Vincent Passama
import all;
210 22 Vincent Passama
}
211 22 Vincent Passama
212 22 Vincent Passama
protocol bgp n71 {
213 22 Vincent Passama
description "BGP N7 65000";
214 22 Vincent Passama
local as 65002;
215 22 Vincent Passama
neighbor 192.0.1.1 as 65000;
216 22 Vincent Passama
import all;
217 22 Vincent Passama
export all;
218 22 Vincent Passama
}
219 22 Vincent Passama
220 22 Vincent Passama
protocol bgp n72 {
221 22 Vincent Passama
description "BGP N7 65001";
222 22 Vincent Passama
local as 65002;
223 22 Vincent Passama
neighbor 192.0.3.2 as 65001;
224 22 Vincent Passama
import all;
225 22 Vincent Passama
export all;
226 22 Vincent Passama
}@
227 22 Vincent Passama
228 22 Vincent Passama
Ici, relancer les services BIRD sur chaque machine et patienter quelques secondes...
229 22 Vincent Passama
(voir schema route-BGP-static.png)
230 22 Vincent Passama
231 5 Vincent Passama
h2. Tâches en cours
232 5 Vincent Passama
233 18 Vincent Passama
h3. Vincent
234 5 Vincent Passama
235 18 Vincent Passama
Paramétrage OSPF + BIRD sur une topologie regroupant plusieurs routeurs. (Triangle pour commencer).
236 13 othmane elmouden
237 13 othmane elmouden
h3. Othmane
238 17 othmane elmouden
239 6 Vincent Passama
Documentation et Installation de  KVM+OVS
240 14 Philippe Latu
Documentation et Installation de BIRD
241 14 Philippe Latu
Documentation sur l'utilisation des vlans dans ovs
242 14 Philippe Latu
243 15 othmane elmouden
Réponse:
244 15 othmane elmouden
245 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é.
246 15 othmane elmouden
 
247 15 othmane elmouden
Justement nous avons pu lancer le virt-manager au niveau d'un utilisateur normal.
248 15 othmane elmouden
249 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 
250 15 othmane elmouden
251 15 othmane elmouden
configurer ports taggés sur le open vswitch.
252 15 othmane elmouden
253 15 othmane elmouden
Serait il nécessaire de passer par des vlans au niveau OVS?
254 15 othmane elmouden
255 16 othmane elmouden
Merci d'avance pour  m'avoir apporter quelque explications pour la prochaine étape .
256 15 othmane elmouden
 
257 15 othmane elmouden
258 20 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
259 19 Laurent GUERBY
260 21 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.
261 21 Vincent Passama
262 1 Laurent GUERBY
h2. Liens utiles
263 1 Laurent GUERBY
264 6 Vincent Passama
h3. KVM
265 6 Vincent Passama
266 1 Laurent GUERBY
* http://www.linux-kvm.org/page/Main_Page : Site officiel de KVM
267 6 Vincent Passama
* http://www.vogelweith.com/debian_server/14_kvm.php : Installation et administration d'un serveur KVM
268 6 Vincent Passama
* http://www.admin-magazine.com/CloudAge/Articles/Virtualization-with-KVM : Autre article sur KVM
269 6 Vincent Passama
270 6 Vincent Passama
h3. open vSwitch
271 6 Vincent Passama
272 6 Vincent Passama
* http://openvswitch.org : Site officiel Open vSwitch
273 6 Vincent Passama
* http://tech.covoiturage.fr/2012/08/22/open-vswitch-un-switch-logiciel-pour-des-reseaux-virtuels : Documentation sur open vSwitch
274 1 Laurent GUERBY
* http://www.admin-magazine.com/CloudAge/Articles/Virtual-switching-with-Open-vSwitch :  Autre article sur open vSwitch
275 1 Laurent GUERBY
276 6 Vincent Passama
h3. BIRD
277 6 Vincent Passama
278 6 Vincent Passama
* http://bird.network.cz : Site officiel BIRD
279 1 Laurent GUERBY
* [[BIRD]] : Page wiki sur BIRD
280 6 Vincent Passama
281 10 Laurent GUERBY
h2. Fichiers et documentation
282 3 Vincent Passama
283 3 Vincent Passama
h2. Notes
284 11 Laurent GUERBY
285 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
286 18 Vincent Passama
287 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