Scribe+eole-ad+Seth-conteneur » Historique » Version 7
Joël Cuissinat, 13/02/2018 12:05
1 | 6 | Joël Cuissinat | {{>toc}} |
---|---|---|---|
2 | 6 | Joël Cuissinat | |
3 | 1 | Joël Cuissinat | h1. Scribe+eole-ad+Seth-conteneur |
4 | 1 | Joël Cuissinat | |
5 | 1 | Joël Cuissinat | On part d'un Scribe sur lequel on installe et on configure un module Seth dans un conteneur LXC puis on met en œuvre Eole-AD comme si on avait deux serveurs distincts. |
6 | 2 | Joël Cuissinat | |
7 | 2 | Joël Cuissinat | _Pour la maquette, j'ai choisi d'utiliser un serveur aca.scribe-2.6.2-instance-AvecImport afin de minimiser les problèmes liés à l'environnement réseau._ |
8 | 2 | Joël Cuissinat | |
9 | 2 | Joël Cuissinat | h2. Mise en œuvre du module Seth dans un conteneur LXC |
10 | 2 | Joël Cuissinat | |
11 | 2 | Joël Cuissinat | Pour mettre en place le conteneur, nous avons suivi le tutoriel réalisé par Daniel qui permettait d'installer un module Eclair dans un conteneur : https://dev-eole.ac-dijon.fr/issues/21060 |
12 | 1 | Joël Cuissinat | |
13 | 3 | Joël Cuissinat | h3. Génération du conteneur |
14 | 3 | Joël Cuissinat | |
15 | 2 | Joël Cuissinat | Pour la génération du conteneur de base et les étapes suivants, nous avons juste remplacé le nom "eclair" par "seth". |
16 | 2 | Joël Cuissinat | Dans notre cas, comme le mode conteneur d'EOLE n'est pas utilisé sur le maître, il manque des outils et des mécanismes pour que lxc fonctionne directement. |
17 | 2 | Joël Cuissinat | |
18 | 2 | Joël Cuissinat | <pre> |
19 | 2 | Joël Cuissinat | apt install lxc1 lxc-templates debootstrap cgroup-lite |
20 | 2 | Joël Cuissinat | lxc-create -n seth -t ubuntu -- -r xenial -u ubuntu -S ~root/.ssh/id_rsa.pub --packages 'wget' --mirror http://eole.ac-dijon.fr/ubuntu |
21 | 2 | Joël Cuissinat | </pre> |
22 | 1 | Joël Cuissinat | |
23 | 3 | Joël Cuissinat | h3. Configuration du conteneur |
24 | 3 | Joël Cuissinat | |
25 | 2 | Joël Cuissinat | Pour configurer le conteneur, nous nous sommes également inspirés de la configuration proposée pour Eclair en ignorant la problématique du montage NFS. |
26 | 2 | Joël Cuissinat | |
27 | 2 | Joël Cuissinat | Nous nous sommes adaptés au paramétrage proposé par défaut : |
28 | 2 | Joël Cuissinat | * conteneur dans @/var/lib/lxc/@ |
29 | 2 | Joël Cuissinat | * réseau des conteneurs en 10.0.3.0/24 |
30 | 2 | Joël Cuissinat | |
31 | 2 | Joël Cuissinat | <pre> |
32 | 2 | Joël Cuissinat | root@scribe:~# cat /var/lib/lxc/seth/config |
33 | 2 | Joël Cuissinat | # Template used to create this container: /usr/share/lxc/templates/lxc-ubuntu |
34 | 2 | Joël Cuissinat | |
35 | 2 | Joël Cuissinat | # Common configuration |
36 | 2 | Joël Cuissinat | lxc.include = /usr/share/lxc/config/ubuntu.common.conf |
37 | 2 | Joël Cuissinat | |
38 | 2 | Joël Cuissinat | # Container specific configuration |
39 | 2 | Joël Cuissinat | lxc.utsname = seth |
40 | 2 | Joël Cuissinat | lxc.arch = amd64 |
41 | 2 | Joël Cuissinat | lxc.rootfs.backend = dir |
42 | 2 | Joël Cuissinat | lxc.rootfs = /var/lib/lxc/seth/rootfs |
43 | 2 | Joël Cuissinat | |
44 | 2 | Joël Cuissinat | # EOLE look for /dev/lxc to detect container mode and behave differently |
45 | 2 | Joël Cuissinat | lxc.devttydir = LXC |
46 | 2 | Joël Cuissinat | |
47 | 2 | Joël Cuissinat | # Automatic start at bootup |
48 | 2 | Joël Cuissinat | lxc.start.auto = 1 |
49 | 2 | Joël Cuissinat | |
50 | 2 | Joël Cuissinat | # Network configuration |
51 | 2 | Joël Cuissinat | # eth0 on eth0 |
52 | 2 | Joël Cuissinat | lxc.network.type = macvlan |
53 | 2 | Joël Cuissinat | lxc.network.link = ens4 |
54 | 2 | Joël Cuissinat | lxc.network.flags = up |
55 | 2 | Joël Cuissinat | lxc.network.name = eth0 |
56 | 2 | Joël Cuissinat | lxc.network.mtu = 1500 |
57 | 2 | Joël Cuissinat | lxc.network.macvlan.mode = bridge |
58 | 2 | Joël Cuissinat | |
59 | 2 | Joël Cuissinat | # containers on br0 |
60 | 2 | Joël Cuissinat | # Reuse LTSP server IP |
61 | 2 | Joël Cuissinat | # http://eole.ac-dijon.fr/documentations/2.6/partielles/beta/EOLE/co/02-fichiers.html |
62 | 2 | Joël Cuissinat | lxc.network.type=veth |
63 | 2 | Joël Cuissinat | lxc.network.link=lxcbr0 |
64 | 2 | Joël Cuissinat | lxc.network.flags=up |
65 | 2 | Joël Cuissinat | lxc.network.name = containers |
66 | 2 | Joël Cuissinat | lxc.network.mtu = 1500 |
67 | 2 | Joël Cuissinat | lxc.network.veth.pair = seth_0 |
68 | 1 | Joël Cuissinat | lxc.network.ipv4 = 10.0.3.54/24 |
69 | 3 | Joël Cuissinat | </pre> |
70 | 3 | Joël Cuissinat | |
71 | 3 | Joël Cuissinat | Nous avons ensuite effectué les opération qui nous semblaient adaptées à notre cas (pas de périphérique, pas de proxy, ...). |
72 | 3 | Joël Cuissinat | |
73 | 3 | Joël Cuissinat | * Installer la clef SSH publique pour se connecter en root |
74 | 3 | Joël Cuissinat | |
75 | 3 | Joël Cuissinat | <pre> |
76 | 3 | Joël Cuissinat | mkdir /var/lib/lxc/seth/rootfs/root/.ssh/ |
77 | 3 | Joël Cuissinat | cp ~root/.ssh/id_rsa.pub /var/lib/lxc/seth/rootfs/root/.ssh/authorized_keys |
78 | 3 | Joël Cuissinat | chmod -R 600 /var/lib/lxc/seth/rootfs/root/.ssh/ |
79 | 3 | Joël Cuissinat | </pre> |
80 | 3 | Joël Cuissinat | |
81 | 3 | Joël Cuissinat | * Configurer les sources APT |
82 | 3 | Joël Cuissinat | |
83 | 3 | Joël Cuissinat | <pre> |
84 | 3 | Joël Cuissinat | grep -iv envole /etc/apt/sources.list > /var/lib/lxc/seth/rootfs/etc/apt/sources.list |
85 | 3 | Joël Cuissinat | </pre> |
86 | 3 | Joël Cuissinat | |
87 | 3 | Joël Cuissinat | * Démarrer le conteneur |
88 | 3 | Joël Cuissinat | |
89 | 3 | Joël Cuissinat | <pre> |
90 | 3 | Joël Cuissinat | lxc-start -n seth -d |
91 | 2 | Joël Cuissinat | </pre> |
92 | 4 | Joël Cuissinat | |
93 | 4 | Joël Cuissinat | h3. Installation du module Seth dans le conteneur |
94 | 4 | Joël Cuissinat | |
95 | 4 | Joël Cuissinat | Pour cette opération, nous avons suivi à la lettre les indications de la partie *2 Transformer le conteneur en serveur EOLE* du tutoriel. |
96 | 5 | Joël Cuissinat | |
97 | 5 | Joël Cuissinat | h2. Configuration du module Seth (fichier joint) |
98 | 5 | Joël Cuissinat | |
99 | 5 | Joël Cuissinat | h3. Interfaces |
100 | 5 | Joël Cuissinat | |
101 | 5 | Joël Cuissinat | Comme proposé dans le tutoriel : |
102 | 5 | Joël Cuissinat | * la première carte réseau du module Seth a un accès direct au réseau externe (mode bridge) |
103 | 5 | Joël Cuissinat | * la seconde carte est configurée pour accéder au bridge interne |
104 | 5 | Joël Cuissinat | |
105 | 5 | Joël Cuissinat | Ce qui donne : |
106 | 5 | Joël Cuissinat | * Général : |
107 | 5 | Joël Cuissinat | ** Nombre d'interfaces à activer : 2 |
108 | 5 | Joël Cuissinat | * Interface-0 : |
109 | 5 | Joël Cuissinat | ** Adresse IP de la carte : 192.168.0.27 |
110 | 5 | Joël Cuissinat | ** Adresse IP de la passerelle par défaut : 192.168.0.1 |
111 | 5 | Joël Cuissinat | * Interface-1 |
112 | 5 | Joël Cuissinat | * Adresse IP de la carte : 10.0.3.54 |
113 | 5 | Joël Cuissinat | |
114 | 5 | Joël Cuissinat | Dans le cadre de la maquette, les 2 groupes variables suivants ont été configurées en 0/0 pour les 2 interfaces : |
115 | 5 | Joël Cuissinat | * Adresse IP réseau autorisée pour les connexions SSH |
116 | 5 | Joël Cuissinat | * Adresse IP réseau autorisée pour administrer le serveur |
117 | 5 | Joël Cuissinat | |
118 | 5 | Joël Cuissinat | h3. Autres paramètres |
119 | 5 | Joël Cuissinat | |
120 | 5 | Joël Cuissinat | Les paramètres généraux ont été configurés pour être cohérents avec l'aca.scribe. |
121 | 5 | Joël Cuissinat | * Nom DNS du réseau local : ac-test.fr |
122 | 5 | Joël Cuissinat | * Nom de domaine académique (ex : ac-dijon) : ac-test |
123 | 5 | Joël Cuissinat | * Adresse IP du serveur DNS : 192.168.232.2 |
124 | 5 | Joël Cuissinat | |
125 | 5 | Joël Cuissinat | NB : Pour plus de confort, penser à désactiver la variables _Vérifier la complexité des mots de passe_ :o |
126 | 5 | Joël Cuissinat | |
127 | 5 | Joël Cuissinat | |
128 | 5 | Joël Cuissinat | h3. Problèmes rencontrés |
129 | 5 | Joël Cuissinat | |
130 | 5 | Joël Cuissinat | * *Samba 4.7* : normalement, le module Seth nécessite un Maj-Auto préalable à l'instance pour installer une version de Samba plus récente. |
131 | 5 | Joël Cuissinat | Un soucis de packaging nous a obligé à revenir à la version 4.3 pour laquelle, il a fallu : |
132 | 5 | Joël Cuissinat | ** hacker le script : @/usr/share/eole/postservice/25-manage-samba@ |
133 | 5 | Joël Cuissinat | ** trouver que la paquet libtevent0 installé via le dépôt supplémentaire faisait planter le samba 4.3 (segfault) |
134 | 5 | Joël Cuissinat | * *hostnamectl* : la commande n'est pas fonctionnelle dans le conteneur (https://bugzilla.redhat.com/show_bug.cgi?id=1353831 ?), nous avons commenté son appel dans @/usr/lib/eole/samba4.sh@ |
135 | 7 | Joël Cuissinat | |
136 | 7 | Joël Cuissinat | |
137 | 7 | Joël Cuissinat | h2. Mise en place d'Eole-AD sur Scribe (fichier joint) |
138 | 7 | Joël Cuissinat | |
139 | 7 | Joël Cuissinat | h3. Installation et configuration |
140 | 7 | Joël Cuissinat | |
141 | 7 | Joël Cuissinat | Utilisation de la procédure habituelle : installation du paquet + configuration + enregistrement des certificats d'autorité |
142 | 7 | Joël Cuissinat | |
143 | 7 | Joël Cuissinat | Au niveau de la configuration, il faut penser que le Scribe ne peut communiquer avec le Seth que via le réseau interne. |
144 | 7 | Joël Cuissinat | |
145 | 7 | Joël Cuissinat | * onglet Active directory |
146 | 7 | Joël Cuissinat | ** Nom du serveur Active Directory : seth |
147 | 7 | Joël Cuissinat | ** Adresse IP du serveur Active Directory : 10.0.3.54 (NB : on peut également le déclarer en tant que serveur NTP dans l'onglet général) |
148 | 7 | Joël Cuissinat | ** Compte administrateur du domaine AD : Administrator |
149 | 7 | Joël Cuissinat | ** Synchroniser l'annuaire en LDAPS : oui |
150 | 7 | Joël Cuissinat | |
151 | 7 | Joël Cuissinat | Je ne sais pas si c'est nécessaire mais j'ai déclaré explicitement : 10.0.3.54 -> seth.ac-test.fr en tant qu'hôte supplémentaire dans l'onglet Réseau avancé. |
152 | 7 | Joël Cuissinat | |
153 | 7 | Joël Cuissinat | h3. Problèmes rencontrés |