Scribe+eole-ad+Seth-conteneur » Historique » Version 5
Joël Cuissinat, 13/02/2018 11:55
1 | 1 | Joël Cuissinat | h1. Scribe+eole-ad+Seth-conteneur |
---|---|---|---|
2 | 1 | Joël Cuissinat | |
3 | 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. |
4 | 2 | Joël Cuissinat | |
5 | 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._ |
6 | 2 | Joël Cuissinat | |
7 | 2 | Joël Cuissinat | h2. Mise en œuvre du module Seth dans un conteneur LXC |
8 | 2 | Joël Cuissinat | |
9 | 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 |
10 | 1 | Joël Cuissinat | |
11 | 3 | Joël Cuissinat | h3. Génération du conteneur |
12 | 3 | Joël Cuissinat | |
13 | 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". |
14 | 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. |
15 | 2 | Joël Cuissinat | |
16 | 2 | Joël Cuissinat | <pre> |
17 | 2 | Joël Cuissinat | apt install lxc1 lxc-templates debootstrap cgroup-lite |
18 | 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 |
19 | 2 | Joël Cuissinat | </pre> |
20 | 1 | Joël Cuissinat | |
21 | 3 | Joël Cuissinat | h3. Configuration du conteneur |
22 | 3 | Joël Cuissinat | |
23 | 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. |
24 | 2 | Joël Cuissinat | |
25 | 2 | Joël Cuissinat | Nous nous sommes adaptés au paramétrage proposé par défaut : |
26 | 2 | Joël Cuissinat | * conteneur dans @/var/lib/lxc/@ |
27 | 2 | Joël Cuissinat | * réseau des conteneurs en 10.0.3.0/24 |
28 | 2 | Joël Cuissinat | |
29 | 2 | Joël Cuissinat | <pre> |
30 | 2 | Joël Cuissinat | root@scribe:~# cat /var/lib/lxc/seth/config |
31 | 2 | Joël Cuissinat | # Template used to create this container: /usr/share/lxc/templates/lxc-ubuntu |
32 | 2 | Joël Cuissinat | |
33 | 2 | Joël Cuissinat | # Common configuration |
34 | 2 | Joël Cuissinat | lxc.include = /usr/share/lxc/config/ubuntu.common.conf |
35 | 2 | Joël Cuissinat | |
36 | 2 | Joël Cuissinat | # Container specific configuration |
37 | 2 | Joël Cuissinat | lxc.utsname = seth |
38 | 2 | Joël Cuissinat | lxc.arch = amd64 |
39 | 2 | Joël Cuissinat | lxc.rootfs.backend = dir |
40 | 2 | Joël Cuissinat | lxc.rootfs = /var/lib/lxc/seth/rootfs |
41 | 2 | Joël Cuissinat | |
42 | 2 | Joël Cuissinat | # EOLE look for /dev/lxc to detect container mode and behave differently |
43 | 2 | Joël Cuissinat | lxc.devttydir = LXC |
44 | 2 | Joël Cuissinat | |
45 | 2 | Joël Cuissinat | # Automatic start at bootup |
46 | 2 | Joël Cuissinat | lxc.start.auto = 1 |
47 | 2 | Joël Cuissinat | |
48 | 2 | Joël Cuissinat | # Network configuration |
49 | 2 | Joël Cuissinat | # eth0 on eth0 |
50 | 2 | Joël Cuissinat | lxc.network.type = macvlan |
51 | 2 | Joël Cuissinat | lxc.network.link = ens4 |
52 | 2 | Joël Cuissinat | lxc.network.flags = up |
53 | 2 | Joël Cuissinat | lxc.network.name = eth0 |
54 | 2 | Joël Cuissinat | lxc.network.mtu = 1500 |
55 | 2 | Joël Cuissinat | lxc.network.macvlan.mode = bridge |
56 | 2 | Joël Cuissinat | |
57 | 2 | Joël Cuissinat | # containers on br0 |
58 | 2 | Joël Cuissinat | # Reuse LTSP server IP |
59 | 2 | Joël Cuissinat | # http://eole.ac-dijon.fr/documentations/2.6/partielles/beta/EOLE/co/02-fichiers.html |
60 | 2 | Joël Cuissinat | lxc.network.type=veth |
61 | 2 | Joël Cuissinat | lxc.network.link=lxcbr0 |
62 | 2 | Joël Cuissinat | lxc.network.flags=up |
63 | 2 | Joël Cuissinat | lxc.network.name = containers |
64 | 2 | Joël Cuissinat | lxc.network.mtu = 1500 |
65 | 2 | Joël Cuissinat | lxc.network.veth.pair = seth_0 |
66 | 1 | Joël Cuissinat | lxc.network.ipv4 = 10.0.3.54/24 |
67 | 3 | Joël Cuissinat | </pre> |
68 | 3 | Joël Cuissinat | |
69 | 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, ...). |
70 | 3 | Joël Cuissinat | |
71 | 3 | Joël Cuissinat | * Installer la clef SSH publique pour se connecter en root |
72 | 3 | Joël Cuissinat | |
73 | 3 | Joël Cuissinat | <pre> |
74 | 3 | Joël Cuissinat | mkdir /var/lib/lxc/seth/rootfs/root/.ssh/ |
75 | 3 | Joël Cuissinat | cp ~root/.ssh/id_rsa.pub /var/lib/lxc/seth/rootfs/root/.ssh/authorized_keys |
76 | 3 | Joël Cuissinat | chmod -R 600 /var/lib/lxc/seth/rootfs/root/.ssh/ |
77 | 3 | Joël Cuissinat | </pre> |
78 | 3 | Joël Cuissinat | |
79 | 3 | Joël Cuissinat | * Configurer les sources APT |
80 | 3 | Joël Cuissinat | |
81 | 3 | Joël Cuissinat | <pre> |
82 | 3 | Joël Cuissinat | grep -iv envole /etc/apt/sources.list > /var/lib/lxc/seth/rootfs/etc/apt/sources.list |
83 | 3 | Joël Cuissinat | </pre> |
84 | 3 | Joël Cuissinat | |
85 | 3 | Joël Cuissinat | * Démarrer le conteneur |
86 | 3 | Joël Cuissinat | |
87 | 3 | Joël Cuissinat | <pre> |
88 | 3 | Joël Cuissinat | lxc-start -n seth -d |
89 | 2 | Joël Cuissinat | </pre> |
90 | 4 | Joël Cuissinat | |
91 | 4 | Joël Cuissinat | h3. Installation du module Seth dans le conteneur |
92 | 4 | Joël Cuissinat | |
93 | 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. |
94 | 5 | Joël Cuissinat | |
95 | 5 | Joël Cuissinat | h2. Configuration du module Seth (fichier joint) |
96 | 5 | Joël Cuissinat | |
97 | 5 | Joël Cuissinat | h3. Interfaces |
98 | 5 | Joël Cuissinat | |
99 | 5 | Joël Cuissinat | Comme proposé dans le tutoriel : |
100 | 5 | Joël Cuissinat | * la première carte réseau du module Seth a un accès direct au réseau externe (mode bridge) |
101 | 5 | Joël Cuissinat | * la seconde carte est configurée pour accéder au bridge interne |
102 | 5 | Joël Cuissinat | |
103 | 5 | Joël Cuissinat | Ce qui donne : |
104 | 5 | Joël Cuissinat | * Général : |
105 | 5 | Joël Cuissinat | ** Nombre d'interfaces à activer : 2 |
106 | 5 | Joël Cuissinat | * Interface-0 : |
107 | 5 | Joël Cuissinat | ** Adresse IP de la carte : 192.168.0.27 |
108 | 5 | Joël Cuissinat | ** Adresse IP de la passerelle par défaut : 192.168.0.1 |
109 | 5 | Joël Cuissinat | * Interface-1 |
110 | 5 | Joël Cuissinat | * Adresse IP de la carte : 10.0.3.54 |
111 | 5 | Joël Cuissinat | |
112 | 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 : |
113 | 5 | Joël Cuissinat | * Adresse IP réseau autorisée pour les connexions SSH |
114 | 5 | Joël Cuissinat | * Adresse IP réseau autorisée pour administrer le serveur |
115 | 5 | Joël Cuissinat | |
116 | 5 | Joël Cuissinat | h3. Autres paramètres |
117 | 5 | Joël Cuissinat | |
118 | 5 | Joël Cuissinat | Les paramètres généraux ont été configurés pour être cohérents avec l'aca.scribe. |
119 | 5 | Joël Cuissinat | * Nom DNS du réseau local : ac-test.fr |
120 | 5 | Joël Cuissinat | * Nom de domaine académique (ex : ac-dijon) : ac-test |
121 | 5 | Joël Cuissinat | * Adresse IP du serveur DNS : 192.168.232.2 |
122 | 5 | Joël Cuissinat | |
123 | 5 | Joël Cuissinat | NB : Pour plus de confort, penser à désactiver la variables _Vérifier la complexité des mots de passe_ :o |
124 | 5 | Joël Cuissinat | |
125 | 5 | Joël Cuissinat | |
126 | 5 | Joël Cuissinat | h3. Problèmes rencontrés |
127 | 5 | Joël Cuissinat | |
128 | 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. |
129 | 5 | Joël Cuissinat | Un soucis de packaging nous a obligé à revenir à la version 4.3 pour laquelle, il a fallu : |
130 | 5 | Joël Cuissinat | ** hacker le script : @/usr/share/eole/postservice/25-manage-samba@ |
131 | 5 | Joël Cuissinat | ** trouver que la paquet libtevent0 installé via le dépôt supplémentaire faisait planter le samba 4.3 (segfault) |
132 | 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@ |