Eole23 with kernel 3 » Historique » Version 10
Version 9 (Daniel Dehennin, 29/03/2012 10:26) → Version 10/13 (Daniel Dehennin, 29/03/2012 11:26)
{{toc}}
h1. Kernel 3.0 sur un module EOLE 2.3
*Étude du passage à un noyau Ubuntu LTS backport*
L’idée est d’éviter de compiler un kernel spécifique EOLE, nécessitant la recompilation des outils comme iptables du fait du changement de l’"ABI":http://fr.wikipedia.org/wiki/Application_binary_interface du noyau.
Nous devons cependant concerver un certains nombre de fonctionnalités :
* La gestion des conteneurs "LXC (en)":http://en.wikipedia.org/wiki/LXC
* Les extensions "ipset (en)":http://en.wikipedia.org/wiki/Netfilter#ipset
* Le filtrage du "P2P":http://fr.wikipedia.org/wiki/P2P
h2. Installation
Un noyau _backport_ est disponible sur _Lucid_:
<pre>
root@eole:~# apt-get install linux-image-generic-lts-backport-oneiric
</pre>
h3. Adaptations
Il est nécessaire d’effectuer quelques adaptation afin de démarrer un noyau 3.0.
h4. Démarrage par défaut sur le noyau 3.0
La séléction du noyau se fait lors d’une mise à jour de grub, par défaut, uniquement les noyaux se finissant par @-eole@ sont pris en compte.
On modifie l’"expression rationnelle":http://fr.wikipedia.org/wiki/Expression_rationnelle sélectionnant le noyau par défaut:
<pre>
root@eole:~# sed -ie "s/\(EOLE_GRUB_REGEX='.\*\)-eole'/\1'/" /etc/default/grub
</pre>
h4. Iptables
EOLE recompile iptables du fait du patch modifiant l’"ABI":http://fr.wikipedia.org/wiki/Application_binary_interface du noyau.
L’utilisation d’un noyau standard nécessite l’installation de la version Ubuntu d’iptables
<pre>
root@eole:~# apt-get install iptables=1.4.4-2ubuntu2
</pre>
Attention, une mise à jour réinstallera la version EOLE, durant les tests, il faut garder la version Ubuntu:
<pre>
root@eole:~# echo "iptables hold" | dpkg --set-selections
</pre>
h4. Conteneurs
La version des outils _LXC_ sur _Lucid_ ne fonctionnent pas avec un noyau 3.0.
Il faut donc installer une version _backport_:
<pre>
root@eole:~# apt-get install python-software-properties
root@eole:~# add-apt-repository ppa:serge-hallyn/lxc-backport
root@eole:~# apt-get update
root@eole:~# apt-get install lxc=0.7.4-0ubuntu1.1
root@eole:~# echo "lxc hold" | dpkg --set-selections
</pre>
Un Le problème est que le script d’init @/etc/init.d/lxc@ est fourni par les paquets @eole-conteneurs@ et @lxc@.
Un autre est que le script d’init pour precise utilise le fichier de configuration @/etc/default/lxc@ suivant :
<pre>
# Comment out to run the lxc init script
#RUN=yes
# Directory containing the container configurations
CONF_DIR=/etc/lxc
# Start /etc/lxc/example.conf, /etc/lxc/autostart.conf, etc.
CONTAINERS="example autostart container"
MIRROR="http://archive.canonical.com/ubuntu"
</pre>
De fait, la configuration des conteneurs se trouve dans @/etc/lxc/@ et non dans @/opt/lxc/<conteneur>@.
TODO: à voir si un répertoire peut-être utilisé pour les démarrages automatiques (à-la libvirt) @lxc@
h4. Filtrage p2p
L7 filter nécessite un patch noyau qui change l’"ABI":http://fr.wikipedia.org/wiki/Application_binary_interface du noyau.
Il est possible d’utiliser le module @ipp2p@ de "xtables-addons":http://xtables-addons.sourceforge.net/
Il faut une version de xtables-addons fonctionnant sur noyau 3.0
<pre>
root@eole:~# bzr branch lp:ubuntu/oneiric/xtables-addons
root@eole:~# cd xtables-addons && dpkg-buildpackage
</pre>
h4. ipset
Une mise à jour d’ipset viendra avec "@xtables-addons-common@":https://launchpad.net/ubuntu/+source/xtables-addons/1.35-1
<pre>
root@amonecole:~# ipset -L
ipset v4.1: Kernel ip_set module is of protocol version 6.I'm of protocol version 4.
Please upgrade your kernel and/or ipset(8) utillity.
</pre>
h1. Kernel 3.0 sur un module EOLE 2.3
*Étude du passage à un noyau Ubuntu LTS backport*
L’idée est d’éviter de compiler un kernel spécifique EOLE, nécessitant la recompilation des outils comme iptables du fait du changement de l’"ABI":http://fr.wikipedia.org/wiki/Application_binary_interface du noyau.
Nous devons cependant concerver un certains nombre de fonctionnalités :
* La gestion des conteneurs "LXC (en)":http://en.wikipedia.org/wiki/LXC
* Les extensions "ipset (en)":http://en.wikipedia.org/wiki/Netfilter#ipset
* Le filtrage du "P2P":http://fr.wikipedia.org/wiki/P2P
h2. Installation
Un noyau _backport_ est disponible sur _Lucid_:
<pre>
root@eole:~# apt-get install linux-image-generic-lts-backport-oneiric
</pre>
h3. Adaptations
Il est nécessaire d’effectuer quelques adaptation afin de démarrer un noyau 3.0.
h4. Démarrage par défaut sur le noyau 3.0
La séléction du noyau se fait lors d’une mise à jour de grub, par défaut, uniquement les noyaux se finissant par @-eole@ sont pris en compte.
On modifie l’"expression rationnelle":http://fr.wikipedia.org/wiki/Expression_rationnelle sélectionnant le noyau par défaut:
<pre>
root@eole:~# sed -ie "s/\(EOLE_GRUB_REGEX='.\*\)-eole'/\1'/" /etc/default/grub
</pre>
h4. Iptables
EOLE recompile iptables du fait du patch modifiant l’"ABI":http://fr.wikipedia.org/wiki/Application_binary_interface du noyau.
L’utilisation d’un noyau standard nécessite l’installation de la version Ubuntu d’iptables
<pre>
root@eole:~# apt-get install iptables=1.4.4-2ubuntu2
</pre>
Attention, une mise à jour réinstallera la version EOLE, durant les tests, il faut garder la version Ubuntu:
<pre>
root@eole:~# echo "iptables hold" | dpkg --set-selections
</pre>
h4. Conteneurs
La version des outils _LXC_ sur _Lucid_ ne fonctionnent pas avec un noyau 3.0.
Il faut donc installer une version _backport_:
<pre>
root@eole:~# apt-get install python-software-properties
root@eole:~# add-apt-repository ppa:serge-hallyn/lxc-backport
root@eole:~# apt-get update
root@eole:~# apt-get install lxc=0.7.4-0ubuntu1.1
root@eole:~# echo "lxc hold" | dpkg --set-selections
</pre>
Un Le problème est que le script d’init @/etc/init.d/lxc@ est fourni par les paquets @eole-conteneurs@ et @lxc@.
Un autre est que le script d’init pour precise utilise le fichier de configuration @/etc/default/lxc@ suivant :
<pre>
# Comment out to run the lxc init script
#RUN=yes
# Directory containing the container configurations
CONF_DIR=/etc/lxc
# Start /etc/lxc/example.conf, /etc/lxc/autostart.conf, etc.
CONTAINERS="example autostart container"
MIRROR="http://archive.canonical.com/ubuntu"
</pre>
De fait, la configuration des conteneurs se trouve dans @/etc/lxc/@ et non dans @/opt/lxc/<conteneur>@.
TODO: à voir si un répertoire peut-être utilisé pour les démarrages automatiques (à-la libvirt) @lxc@
h4. Filtrage p2p
L7 filter nécessite un patch noyau qui change l’"ABI":http://fr.wikipedia.org/wiki/Application_binary_interface du noyau.
Il est possible d’utiliser le module @ipp2p@ de "xtables-addons":http://xtables-addons.sourceforge.net/
Il faut une version de xtables-addons fonctionnant sur noyau 3.0
<pre>
root@eole:~# bzr branch lp:ubuntu/oneiric/xtables-addons
root@eole:~# cd xtables-addons && dpkg-buildpackage
</pre>
h4. ipset
Une mise à jour d’ipset viendra avec "@xtables-addons-common@":https://launchpad.net/ubuntu/+source/xtables-addons/1.35-1
<pre>
root@amonecole:~# ipset -L
ipset v4.1: Kernel ip_set module is of protocol version 6.I'm of protocol version 4.
Please upgrade your kernel and/or ipset(8) utillity.
</pre>