Projet

Général

Profil

Scénario #32499

Mis à jour par Daniel Dehennin il y a presque 3 ans

h3. Problème

h4. Amonecole 2.8.1

Il n’est pas possible d’intégrer un poste GNU/Linux sur Amonecole 2.8.1

* Téléchargement de l’outil *@installMinion.sh@* ⮕ OK
<pre>
root@pcubuntumate:~# wget salt/joineole/installMinion.sh
--2021-05-12 17:30:28-- http://salt/joineole/installMinion.sh
Résolution de salt (salt)… 10.3.2.5
Connexion à salt (salt)|10.3.2.5|:80… connecté.
requête HTTP transmise, en attente de la réponse… 200 OK
Taille : 3227 (3,2K) [application/octet-stream]
Enregistre : «installMinion.sh»

installMinion.sh 100%[=================================================================================================>] 3,15K --.-KB/s ds 0s

2021-05-12 17:30:28 (315 MB/s) - «installMinion.sh» enregistré [3227/3227]
</pre>
* Export des variables d’environnement *@http_proxy@* et *@https_proxy@* pour les téléchargement depuis Internet :
<pre>
root@pcubuntumate:~# export http_proxy=http://10.3.2.2:3128 https_proxy=http://10.3.2.2:3128
</pre>
* Installation du minion avec *@installMinion.sh@*
<pre>
root@pcubuntumate:~# sh ./installMinion.sh
check 'salt' dns resolution ?
La résolution du nom 'salt' est fonctionnelle, Ok
http://10.3.2.5/joineole/bootstrap-salt/bootstrap-salt.sh failed to download to /tmp/bootstrap-salt.sh
</pre>

h4. Amon 2.8

Il y a aussi un problème par défaut sur Amon, dans notre infrastructure *@etb1@* nous avons une configuration spéciale :

<pre>
"proxy_bypass_domain_eth2":{"owner":"gen_config","val":["www.ac-dijon.fr","www.anglaisfacile.com","scribe.etb1.lan"]},
</pre>

Ce qui permet les accès directs à Scribe sans passer par le proxy.

Cela n’est pas possible sans configuration particulière sur Amon

* sans *@proxy_bypass_domain_eth2@*
<pre>
root@pcubuntumate:~# wget salt/joineole/installMinion.sh
--2021-05-19 11:13:37-- http://salt/joineole/installMinion.sh
Résolution de salt (salt)… 10.1.3.5
Connexion à salt (salt)|10.1.3.5|:80… connecté.
requête HTTP transmise, en attente de la réponse… 403 Forbidden
2021-05-19 11:13:37 erreur 403 : Forbidden.
</pre>
* sans *@proxy_bypass_domain_eth2@* et avec export *@http_proxy@* et *@https_proxy@*
<pre>
root@pcubuntumate:~# export http_proxy=http://10.1.2.1:3128 https_proxy=http://10.1.2.1:3128
root@pcubuntumate:~# wget salt/joineole/installMinion.sh
--2021-05-19 11:15:04-- http://salt/joineole/installMinion.sh
Connexion à 10.1.2.1:3128… connecté.
requête Proxy transmise, en attente de la réponse… 407 Proxy Authentication Required
2021-05-19 11:15:04 erreur 407 : Proxy Authentication Required.

root@pcubuntumate:~# wget salt.etb3.lan/joineole/installMinion.sh
--2021-05-19 11:16:24-- http://salt.etb3.lan/joineole/installMinion.sh
Connexion à 10.1.2.1:3128… connecté.
requête Proxy transmise, en attente de la réponse… 407 Proxy Authentication Required
2021-05-19 11:16:25 erreur 407 : Proxy Authentication Required.
</pre>

h3. Étude

Le téléchargement, avec variable d’environnement *@http_proxy@* et *@https_proxy@*, nécessite une authentification :

* Par adresse IP :
<pre>
root@pcubuntumate:~# wget http://10.3.2.5/joineole/bootstrap-salt/bootstrap-salt.sh
--2021-05-12 17:33:29-- http://10.3.2.5/joineole/bootstrap-salt/bootstrap-salt.sh
Connexion à 10.3.2.2:3128… connecté.
requête Proxy transmise, en attente de la réponse… 407 Proxy Authentication Required
2021-05-12 17:33:29 erreur 407 : Proxy Authentication Required.
</pre>
* Par le nom :
<pre>
root@pcubuntumate:~# wget http://salt/joineole/bootstrap-salt/bootstrap-salt.sh
--2021-05-12 17:34:05-- http://salt/joineole/bootstrap-salt/bootstrap-salt.sh
Connexion à 10.3.2.2:3128… connecté.
requête Proxy transmise, en attente de la réponse… 407 Proxy Authentication Required
2021-05-12 17:34:05 erreur 407 : Proxy Authentication Required.
</pre>

L’export du proxy est obligatoire pour installer le minion mais le téléchargement de l’outil d’installation doit en être exclu de l’authentification.

Une fois l’authentification désactivé pour *@salt@* et *@salt.etb3.lan@*, les accès par le proxy donnent :

* Pour le nom court, squid ne qualifie pas le nom *@salt@* en *@salt.etb3.lan@*, il ne peut donc accéder à la ressource (*@dig +short salt@* ne renvoie rien)
<pre>
root@pcubuntumate:~# wget --delete-after http://salt/joineole/bootstrap-salt/bootstrap-salt.sh
--2021-05-19 10:45:59-- http://salt/joineole/bootstrap-salt/bootstrap-salt.sh
Connexion à 10.3.2.2:3128… connecté.
requête Proxy transmise, en attente de la réponse… 503 Service Unavailable
2021-05-19 10:45:59 erreur 503 : Service Unavailable.
</pre>
* Pour le nom complètement qualifié
<pre>
root@pcubuntumate:~# wget --delete-after http://salt.etb3.lan/joineole/bootstrap-salt/bootstrap-salt.sh
--2021-05-19 10:46:17-- http://salt.etb3.lan/joineole/bootstrap-salt/bootstrap-salt.sh
Connexion à 10.3.2.2:3128… connecté.
requête Proxy transmise, en attente de la réponse… 200 OK
Taille : 300739 (294K) [application/octet-stream]
Enregistre : «bootstrap-salt.sh.tmp»

bootstrap-salt.sh.tmp 100%[=================================================================================================>] 293,69K --.-KB/s ds 0,007s

2021-05-19 10:46:17 (40,7 MB/s) - «bootstrap-salt.sh.tmp» enregistré [300739/300739]

Destruction de bootstrap-salt.sh.tmp.
</pre>

h3. Propositions Proposition

h4. On souhaite que l’utilisateur utilise *@http://salt/joineole/@*

* Exclure *@salt@* du proxy au niveau des appels du client *@no_proxy=salt;salt.<FQDN>@* dans *@installMinion@*
<pre>
root@pcubuntumate:~# export http_proxy=http://10.1.2.1:3128 https_proxy=http://10.1.2.1:3128
root@pcubuntumate:~# export no_proxy=salt
root@pcubuntumate:~# wget http://salt/joineole/installMinion.sh
--2021-05-25 11:31:47-- http://salt/joineole/installMinion.sh
Résolution de salt (salt)… 10.1.3.5
Connexion à salt (salt)|10.1.3.5|:80… connecté.
requête HTTP transmise, en attente de la réponse… 403 Forbidden
2021-05-25 11:31:47 erreur 403 : Forbidden.
</pre>
* Exclure *@ip_serveur_scribe_dmz@* de l’obligation de proxy
** Soit Manuellement dans GenConfig (*@proxy_bypass_domain_eth2@*)
** Soit Automatiquement en modifiant les modèles project:era car ce n’est pas prévu à l’heure actuelle

h4. On souhaite que l’utilisateur utilise *@http://salt.<FQDN>/joineole@*

*
Utiliser le nom complètement qualifié de *@salt@* au lieu de son adresse IP ou du nom court dans *@installMinion@*
* Exclure *@salt@* et *@salt.FQDN@* de l’authentification proxy (*@proxy_noauth_auto@* de project:era)
** Comment déterminer, sur l’Amon, le FQDN de *@salt@* afin de remplir correctement *@proxy_noauth_auto@* ?

h4. ANNEXE ANNEXE:

* mieux détecter la nécessité d’un proxy pour le téléchargement de la clef publique

Retour