Projet

Général

Profil

Installation Gateway dans nebula » Historique » Version 94

Fabrice Barconnière, 29/03/2017 11:38

1 47 Gilles Grandgérard
{{toc}}
2 47 Gilles Grandgérard
3 61 Klaas TJEBBES
http://dev-eole.ac-dijon.fr/projects/eole-ci-tests/wiki/ModeleReseaux
4 61 Klaas TJEBBES
5 50 Gilles Grandgérard
h1. A) Installation pour utilisation d'une gateway
6 3 Gilles Grandgérard
7 40 Gilles Grandgérard
h2. A.1) Récupération du dépot eole-ci-test
8 1 Gilles Grandgérard
9 4 Gilles Grandgérard
Faire :
10 4 Gilles Grandgérard
<pre>
11 29 Gérald Schwartzmann
git clone https://dev-eole.ac-dijon.fr/git/eole-ci-tests.git
12 4 Gilles Grandgérard
</pre>
13 1 Gilles Grandgérard
14 40 Gilles Grandgérard
h2. A.2) Ajout de la gateway dans le eole-ci-tests
15 1 Gilles Grandgérard
16 77 Gilles Grandgérard
Attention: 
17 77 Gilles Grandgérard
- Le <user_nebula> n'est pas obligatoirement le même sur ONE et sur BOGDANOV. Vous aurez peut être à créer un ou deux fichiers !
18 77 Gilles Grandgérard
- Si vous prévoyez d'utiliser les 2 environnements en même temps, utilisez deux IP !
19 77 Gilles Grandgérard
- Attention à ce que l'adresse soit disponible: voir http://dev-eole.ac-dijon.fr/projects/eole-interne/wiki/Adressage_ip 
20 76 Gilles Grandgérard
21 42 Gilles Grandgérard
il faut créer un script dans 'configuration/gateway/' dont le nom sera 'routeur_<user_nebula>.sh'. (Tips: copier un fichier existant !)
22 90 Gilles Grandgérard
Penser à mettre les droits d’exécution.
23 1 Gilles Grandgérard
24 22 Gilles Grandgérard
<pre>
25 88 Joël Cuissinat
IP_EOLE=<fin de l'IP de la gateway sur le réseau EOLE pour les Bogdanov>
26 88 Joël Cuissinat
IP_ONE=<fin de l'IP de la gateway sur le réseau EOLE pour le ONE>
27 94 Fabrice Barconnière
IP_AGREGATION=<fin de l'IP de la gateway agrégation sur le réseau EOLE pour le ONE>
28 1 Gilles Grandgérard
IP_UTILISATEUR=<ip du poste de travail>
29 90 Gilles Grandgérard
MAIL_UTILISATEUR=<adresse mail du développeur>
30 90 Gilles Grandgérard
IP_GW_UTILISATEUR=<ip de la gateway>
31 93 Gilles Grandgérard
IP_ROADWARRIOR=<ip du tunnel GRE de la gateway >
32 22 Gilles Grandgérard
</pre>
33 1 Gilles Grandgérard
34 84 Gilles Grandgérard
+NB+ : 
35 1 Gilles Grandgérard
*IP_UTILISATEUR* est facultative, la variable est utilisée pour envoyer des send-notify au travers du réseau...
36 84 Gilles Grandgérard
*MAIL_UTILISATEUR* est facultative, la variable est utilisée pour pour la redirection postfix sur la gateway.
37 90 Gilles Grandgérard
*IP_GW_UTILISATEUR* est facultative, elle est calculé d'après la valeur IP_ONE... Utiliser cette var si vous avez besoin d'une IP particuliere
38 93 Gilles Grandgérard
*IP_ROADWARRIOR* est facultative, Utiliser cette var si vous avez besoin d'une connexion VPN
39 1 Gilles Grandgérard
40 40 Gilles Grandgérard
h2. A.3) Ajout de la clef publique ssh dans eole-ci-tests/security/authorized_keys
41 1 Gilles Grandgérard
42 90 Gilles Grandgérard
Les clefs publiques SSH présentes dans eole-ci-tests/security/authorized_keys sont automatiquement concaténées dans /root/.ssh/authorized_keys au 1er démarrage de la VM.
43 90 Gilles Grandgérard
L’accès a chaque VM peut se faire sans mot de passe.
44 1 Gilles Grandgérard
45 1 Gilles Grandgérard
Utiliser le nom 'user@hostname' pour votre fichier de cle.
46 1 Gilles Grandgérard
47 40 Gilles Grandgérard
h2. A.4) Commit
48 1 Gilles Grandgérard
49 1 Gilles Grandgérard
<pre>
50 90 Gilles Grandgérard
git commit -am "ajout de l'utilisateur <user>"
51 1 Gilles Grandgérard
git push
52 1 Gilles Grandgérard
</pre>
53 1 Gilles Grandgérard
54 42 Gilles Grandgérard
h2. A.5) Publication de la clef et du fichier routeur
55 1 Gilles Grandgérard
56 1 Gilles Grandgérard
Attendre que les Jenkins publient le commit vers les VM (15 minutes)
57 1 Gilles Grandgérard
58 76 Gilles Grandgérard
OU, faire :
59 92 Gilles Grandgérard
* Ouvrir votre navigateur, et Aller pour Jenkins : http://jenkins.eole.lan/jenkins/job/Internes/view/Puller/job/git-clone-eole-ci-tests-to-all-vm/
60 77 Gilles Grandgérard
* Se connecter
61 54 Fabrice Barconnière
* Cliquer sur *Lancer un build*
62 42 Gilles Grandgérard
* Dans l"historique des builds" un build apparait. Cliquer sur le lien
63 90 Gilles Grandgérard
* Le message de commit 'git' doit apparaître dans la sortie
64 1 Gilles Grandgérard
65 89 Gilles Grandgérard
h2. A.6) Initialiser les réseaux dans Yggdrasil
66 89 Gilles Grandgérard
67 91 Gilles Grandgérard
* Ouvrir votre navigateur, et Aller http://jenkins.eole.lan/jenkins/job/Internes/job/genere-modele-reseau-dans-nebula/build?delay=0sec
68 77 Gilles Grandgérard
* Se connecter 
69 37 Gilles Grandgérard
* Saisir le nom d'utilisateur et le mot de passe
70 60 Klaas TJEBBES
* Cliquer sur *Build*
71 90 Gilles Grandgérard
* Dans "historique des builds" un build apparaît. Cliquer sur le lien
72 1 Gilles Grandgérard
* Cliquer ensuite sur le lien 'Console Output'
73 79 Daniel Dehennin
* Le texte affiche la sortie standard du processus de création des réseaux virtuels
74 79 Daniel Dehennin
75 90 Gilles Grandgérard
h2. A.7) Lancer la gateway
76 36 Gilles Grandgérard
77 89 Gilles Grandgérard
* Aller dans OpenNebula (https://one.eole.lan/)
78 35 Gérald Schwartzmann
* Aller dans 'Virtual Resources', puis 'Templates'
79 89 Gilles Grandgérard
* Chercher 'gateway-mensr'
80 89 Gilles Grandgérard
* Cliquer 2 fois sur 'Instantiate'.La VM démarre.
81 28 Gilles Grandgérard
82 35 Gérald Schwartzmann
* Vérification
83 89 Gilles Grandgérard
** Se connecter en VNC avec 'root/eole'
84 35 Gérald Schwartzmann
** Taper 'ip addr' ==> vérifier l'IP SW EOLE
85 32 Gérald Schwartzmann
* lancer :
86 32 Gérald Schwartzmann
<pre>
87 32 Gérald Schwartzmann
 ssh root@<ipgateway>  ==> la connexion doit être sans mot de passe car la clef
88 32 Gérald Schwartzmann
</pre>
89 26 Gilles Grandgérard
90 40 Gilles Grandgérard
h1. B) Préparation du poste de travail
91 26 Gilles Grandgérard
92 40 Gilles Grandgérard
h2. B.1) Modifier /etc/hosts
93 26 Gilles Grandgérard
94 35 Gérald Schwartzmann
* Ajouter votre gateway : 
95 26 Gilles Grandgérard
<pre>
96 55 Fabrice Barconnière
192.168.230.<IP> gateway.ac-test.fr gateway
97 1 Gilles Grandgérard
</pre>
98 26 Gilles Grandgérard
99 26 Gilles Grandgérard
* Vérification
100 26 Gilles Grandgérard
<pre>
101 35 Gérald Schwartzmann
ping gateway
102 26 Gilles Grandgérard
ping gateway.ac-test.fr
103 26 Gilles Grandgérard
</pre>
104 26 Gilles Grandgérard
105 40 Gilles Grandgérard
h2. B.2) Ajouter tous les noms des machines ac-test.fr dans /etc/hosts
106 40 Gilles Grandgérard
107 73 Daniel Dehennin
*ATTENTION* : Cette étape n’est nécessaire que si vous n’utilisez pas le DNS EOLE (192.168.232.2)
108 85 Gilles Grandgérard
*ATTENTION* : certains hosts ont été inscrits dans le DNS EOLE. Pour eux, il n'y a pas besoin d'entrée.
109 73 Daniel Dehennin
110 58 Fabrice Barconnière
* Concatener le fichier (eole-ci-tests.git)/scripts/host dans /etc/hosts (connecté root)
111 56 Fabrice Barconnière
<pre>
112 1 Gilles Grandgérard
cd (eole-ci-tests.git)/scripts/
113 1 Gilles Grandgérard
cat hosts >> /etc/hosts
114 33 Gérald Schwartzmann
</pre>
115 1 Gilles Grandgérard
116 40 Gilles Grandgérard
h2. B.3) Activation des routes
117 40 Gilles Grandgérard
118 64 Gilles Grandgérard
* Executer le fichier :
119 64 Gilles Grandgérard
<pre>
120 64 Gilles Grandgérard
# cd <depot eole-ci-tests.git>
121 64 Gilles Grandgérard
# ./scripts/gateway-up.sh
122 64 Gilles Grandgérard
</pre>
123 33 Gérald Schwartzmann
Les routes sont inscrites...
124 1 Gilles Grandgérard
125 67 Gilles Grandgérard
REMARQUES:
126 67 Gilles Grandgérard
* Ce script devra être lancé à chaque redémarrage de votre machine !*
127 85 Gilles Grandgérard
128 85 Gilles Grandgérard
* Si vous utiliser plusieurs Gateway (one et bodgdanov), vous pouvez être amené à vouloir changer de gateway. Pour supprimer les routes actuelles, faites :
129 85 Gilles Grandgérard
<pre>
130 85 Gilles Grandgérard
# cd <depot eole-ci-tests.git>
131 85 Gilles Grandgérard
# ./scripts/gateway-down.sh
132 85 Gilles Grandgérard
</pre>
133 85 Gilles Grandgérard
134 85 Gilles Grandgérard
* Pour basculer vers une gateway précise, tapez 
135 85 Gilles Grandgérard
<pre>
136 85 Gilles Grandgérard
# cd <depot eole-ci-tests.git>
137 85 Gilles Grandgérard
# ./scripts/gateway-up.sh <ip_gateway_cible>
138 85 Gilles Grandgérard
</pre>
139 85 Gilles Grandgérard
140 1 Gilles Grandgérard
141 64 Gilles Grandgérard
h2. B.4) Lancement du daemon send notify
142 1 Gilles Grandgérard
143 64 Gilles Grandgérard
* Si vous le souhaitez, Executer le fichier :
144 66 Gilles Grandgérard
<pre>
145 64 Gilles Grandgérard
# cd <depot eole-ci-tests.git>
146 64 Gilles Grandgérard
# nohup python ./scripts/server_notify_network.py &
147 72 Gilles Grandgérard
</pre>
148 64 Gilles Grandgérard
149 64 Gilles Grandgérard
REMARQUES:
150 65 Gilles Grandgérard
* Ce script devra être lancé à chaque redémarrage de votre machine !*
151 72 Gilles Grandgérard
* Le port 50000 est ouvert en UDP sur le poste client. Il attend des messages UDP pour les afficher avec send-notify *
152 1 Gilles Grandgérard
153 65 Gilles Grandgérard
h2. B.5) Selection de l'identitée SSH ( Si besoin)
154 1 Gilles Grandgérard
155 1 Gilles Grandgérard
* Dans le cas, ou vous utilisez plusieurs clef publique ssh, Modifier le fichier *@~/.ssh/config@* en ajoutant :
156 74 Daniel Dehennin
<pre>
157 39 Benjamin Bohard
Host *.ac-test.fr
158 89 Gilles Grandgérard
   IdentityFile ~/.ssh/<fichier de la clé copiée dans eole-ci-tests>
159 1 Gilles Grandgérard
</pre>
160 1 Gilles Grandgérard
161 1 Gilles Grandgérard
h2. B.6) Astuce SSH knows hosts
162 39 Benjamin Bohard
163 65 Gilles Grandgérard
* Pour éviter les message know_hosts, vous pouvez modifier le fichier *@.ssh/config@* en ajoutant :
164 51 Gilles Grandgérard
<pre>
165 51 Gilles Grandgérard
# Use daily destroyed file to avoid pain with VMs
166 51 Gilles Grandgérard
Host *.ac-test.fr 192.168.230.1?? 192.168.230.2??
167 51 Gilles Grandgérard
  CheckHostIP no
168 1 Gilles Grandgérard
  UserKnownHostsFile /tmp/ac-test.fr
169 51 Gilles Grandgérard
  StrictHostKeyChecking no
170 51 Gilles Grandgérard
</pre>
171 51 Gilles Grandgérard
172 65 Gilles Grandgérard
h2. B.7) Vérification
173 27 Gilles Grandgérard
174 89 Gilles Grandgérard
* Aller dans OpenNebual (https://one.eole.lan/)
175 44 Gilles Grandgérard
* Aller dans 'Virtual Resources', puis 'Templates'
176 44 Gilles Grandgérard
* Chercher 'aca.eolebase'
177 44 Gilles Grandgérard
* Cliquer sur 'Instantiate'.La VM démarre.
178 89 Gilles Grandgérard
* Se connecter en VNC avec 'root/eole'
179 27 Gilles Grandgérard
* Taper 'ip addr' ==> vérifier l'IP SW EOLE
180 27 Gilles Grandgérard
181 45 Gilles Grandgérard
182 1 Gilles Grandgérard
h1. C) Utilisation d'un template 
183 1 Gilles Grandgérard
184 62 Gilles Grandgérard
h2. C.1) Démarrer une machine et se connecter dessus
185 1 Gilles Grandgérard
186 62 Gilles Grandgérard
* Choisir la machine dans Nebula 
187 62 Gilles Grandgérard
* l'instancier
188 62 Gilles Grandgérard
* lancer dans une console
189 62 Gilles Grandgérard
190 59 Gérald Schwartzmann
<pre>
191 59 Gérald Schwartzmann
# ssh root@nomDeMachine
192 59 Gérald Schwartzmann
</pre>
193 59 Gérald Schwartzmann
194 59 Gérald Schwartzmann
Exemple :
195 59 Gérald Schwartzmann
196 59 Gérald Schwartzmann
<pre>
197 59 Gérald Schwartzmann
# ssh root@amonecole.etb3.ac-test.fr
198 59 Gérald Schwartzmann
</pre>
199 1 Gilles Grandgérard
200 62 Gilles Grandgérard
h2. C.2) Obtenir le contexte de la machine
201 62 Gilles Grandgérard
202 72 Gilles Grandgérard
Le contexte nécessite de monter le partage VirtFs eole-ci-tests. pour cela faire :
203 1 Gilles Grandgérard
<pre>
204 63 Gilles Grandgérard
# /root/mount.eole-ci-tests
205 87 Gilles Grandgérard
# . /getVMContext.sh 
206 1 Gilles Grandgérard
</pre>
207 1 Gilles Grandgérard
208 62 Gilles Grandgérard
Le script getVMContext.sh permet de charger les variables contextuelles du module.
209 62 Gilles Grandgérard
Attention : il faut le sourcer !
210 59 Gérald Schwartzmann
211 62 Gilles Grandgérard
Le résultat est de la forme :
212 59 Gérald Schwartzmann
<pre>
213 59 Gérald Schwartzmann
root@amonecole:/mnt/eole-ci-tests/scripts# ./getVMContext.sh 
214 59 Gérald Schwartzmann
VM_ONE           = 
215 59 Gérald Schwartzmann
VM_ID            = 7295
216 59 Gérald Schwartzmann
VM_OWNER         = gerald
217 59 Gérald Schwartzmann
VM_MACHINE       = etb3.amonecole
218 59 Gérald Schwartzmann
VM_MAJAUTO       = DEV
219 59 Gérald Schwartzmann
VM_VERSIONMAJEUR = 2.4.1
220 59 Gérald Schwartzmann
VM_MODULE        = amonecole
221 59 Gérald Schwartzmann
VM_CONTAINER     = oui
222 59 Gérald Schwartzmann
VM_HOSTNAME      = amonecole
223 59 Gérald Schwartzmann
VM_DNSNAME       = amonecole.etb3.ac-test.fr
224 59 Gérald Schwartzmann
VM_ETABLISSEMENT = etb3
225 59 Gérald Schwartzmann
VM_ETH0_IP       = 192.168.0.33
226 59 Gérald Schwartzmann
VM_ETH0_GW       = 192.168.0.1
227 59 Gérald Schwartzmann
VM_ETH1_IP       = 10.3.2.1
228 59 Gérald Schwartzmann
---
229 1 Gilles Grandgérard
root@amonecole:/mnt/eole-ci-tests/scripts#
230 59 Gérald Schwartzmann
</pre>
231 1 Gilles Grandgérard
232 62 Gilles Grandgérard
h2. C.3) Configurer la machine
233 1 Gilles Grandgérard
234 68 Gérald Schwartzmann
<pre>
235 68 Gérald Schwartzmann
cd /mnt/eole-ci-tests/scripts/
236 68 Gérald Schwartzmann
</pre>
237 68 Gérald Schwartzmann
238 68 Gérald Schwartzmann
* Le script *configure-vm.sh* permet d'appliquer une configuration à la VM. 
239 62 Gilles Grandgérard
* Ce script appliquera :
240 62 Gilles Grandgérard
- la commande Maj-Auto adaptée au contexte,
241 62 Gilles Grandgérard
- Copiera le fichier 'config.eol' correspondant à la machine et la version 
242 62 Gilles Grandgérard
- lancera l'instance sans questions
243 62 Gilles Grandgérard
244 59 Gérald Schwartzmann
Pour obtenir de l'aide :
245 59 Gérald Schwartzmann
246 1 Gilles Grandgérard
<pre>
247 59 Gérald Schwartzmann
# ./configure-vm.sh -h
248 59 Gérald Schwartzmann
</pre>
249 59 Gérald Schwartzmann
250 62 Gilles Grandgérard
Pour lancer l'instanciation avec le configuration par 'default'
251 1 Gilles Grandgérard
252 1 Gilles Grandgérard
<pre>
253 1 Gilles Grandgérard
# ./configure-vm.sh -M instance
254 1 Gilles Grandgérard
</pre>
255 1 Gilles Grandgérard
256 62 Gilles Grandgérard
Pour lancer l'instanciation avec le configuration par 'hamaster'
257 62 Gilles Grandgérard
258 62 Gilles Grandgérard
<pre>
259 62 Gilles Grandgérard
# ./configure-vm.sh -M instance -C hamaster
260 62 Gilles Grandgérard
</pre>
261 62 Gilles Grandgérard
262 62 Gilles Grandgérard
Pour ne copier que la configuration 'hamaster'
263 62 Gilles Grandgérard
264 62 Gilles Grandgérard
<pre>
265 72 Gilles Grandgérard
# ./configure-vm.sh -M configeol -C hamaster
266 62 Gilles Grandgérard
</pre>
267 62 Gilles Grandgérard
268 62 Gilles Grandgérard
h2. C.4)