Fedora-Fr - Communauté francophone Fedora - Linux

Planet de Fedora-Fr : la communauté francophone autour de la distribution Linux Fedora

A propos

Cette page est actualisée toutes les heures.

Cette page est une sélection de blogs autour de Fedora. Fedora-Fr.org décline toute responsabilité au sujet des propos tenus par les auteurs des blogs de ce planet. Leurs propos sont leur entière responsabilité.

Le contenu de ce planet appartient à leurs auteurs respectifs. Merci de consulter leur blogs pour obtenir les licences respectives.

Mot-clefs : Réseau

IPv6: état des lieux

Matthieu Saulnier

Cela fait un moment que la transition a commencé, voyons un peu dans quelles proportions Internet est accessible avec une connexion IPv6. Les tests sont réalisés sur mon netbook avec NetworkManager configuré pour établir une connexion uniquement en IPv6. Ma navigation sur le web a lieu en grande partie sur les sites du Projet Fedora, il est donc logique si je veux quitter définitivement l'IPv4 d'en vérifier d'abord la connectivité.

Ask Fedora - http://ask.fedoraproject.org/                        PASS

BFO - http://boot.fedoraproject.org/                              PASS

Blockerbugs - https://qa.fedoraproject.org/blockerbugs/           PASS

Bodhi - https://admin.fedoraproject.org/updates/                  PASS

Buildsystem - http://koji.fedoraproject.org/                    FAILED

GIT / Source Control - pkgs.fedoraproject.org                   FAILED

Docs - http://docs.fedoraproject.org/                             PASS

Fedora Account System - https://admin.fedoraproject.org/accounts/ PASS

Fedora Community - https://admin.fedoraproject.org/community/     PASS

Fedora Calendar - https://apps.fedoraproject.org/calendar/        PASS

Fedora Hosted - https://fedorahosted.org/                       FAILED

Fedora OpenID - https://id.fedoraproject.org/                     PASS

Mirror Manager - https://admin.fedoraproject.org/mirrormanager/   PASS

Package Database - https://admin.fedoraproject.org/pkgdb/         PASS

Wiki - http://fedoraproject.org/wiki/                             PASS

Fedora People - http://fedorapeople.org/                          PASS

Main Website - http://fedoraproject.org/                          PASS

Mirror List - https://mirrors.fedoraproject.org/                  PASS

Spins - http://spins.fedoraproject.org/                           PASS

Start - http://start.fedoraproject.org/                           PASS

Torrent - http://torrent.fedoraproject.org/                       PASS

Pastebin - https://paste.fedoraproject.org/                       PASS

Fpaste - http://fpaste.org/                                     FAILED

Download - http://dl.fedoraproject.org/pub/                     FAILED

Planet - http://planet.fedoraproject.org/                         PASS

ML - https://lists.fedoraproject.org/mailman/listinfo           FAILED

Bugzilla - https://bugzilla.redhat.com/                         FAILED

Le Projet Fedora s'en tire bien, sur 22 domaines seuls 7 ne sont pas encore accessibles uniquement en IPv6, ce qui fait moins de 33%. En revanche, tant que le Bugzilla ne disposera pas d'une connexion IPv6 je suis obligé de conserver une connexion IPv4.

L'autre grande moitié de ma navigation sur le web a lieu sur les domaines de Fedora-fr.org, qui hélas sont aucunement accessibles en IPv6, dommage. Enfin mes sites de détente favoris DTC et VDM sont eux aussi indisponibles en IPv6, au même titre que dlang.org, poezio.eu, et squid-cache.org.

Je ne vais pas faire la liste de tous les sites inaccessibles en IPv6, mais elle doit être plutôt longue. Là il ne s'agissait que des liens dans mes signets elinks, mais une fois encore le Projet Fedora signe la meilleure performance...

IPv6: état des lieux

Matthieu Saulnier

Cela fait un moment que la transition a commencé, voyons un peu dans quelles proportions Internet est accessible avec une connexion IPv6. Les tests sont réalisés sur mon netbook avec NetworkManager configuré pour établir une connexion uniquement en IPv6. Ma navigation sur le web a lieu en grande partie sur les sites du Projet Fedora, il est donc logique si je veux quitter définitivement l'IPv4 d'en vérifier d'abord la connectivité.

Ask Fedora - http://ask.fedoraproject.org/                        PASS

BFO - http://boot.fedoraproject.org/                              PASS

Blockerbugs - https://qa.fedoraproject.org/blockerbugs/           PASS

Bodhi - https://admin.fedoraproject.org/updates/                  PASS

Buildsystem - http://koji.fedoraproject.org/                    FAILED

GIT / Source Control - pkgs.fedoraproject.org                   FAILED

Docs - http://docs.fedoraproject.org/                             PASS

Fedora Account System - https://admin.fedoraproject.org/accounts/ PASS

Fedora Community - https://admin.fedoraproject.org/community/     PASS

Fedora Calendar - https://apps.fedoraproject.org/calendar/        PASS

Fedora Hosted - https://fedorahosted.org/                       FAILED

Fedora OpenID - https://id.fedoraproject.org/                     PASS

Mirror Manager - https://admin.fedoraproject.org/mirrormanager/   PASS

Package Database - https://admin.fedoraproject.org/pkgdb/         PASS

Wiki - http://fedoraproject.org/wiki/                             PASS

Fedora People - http://fedorapeople.org/                          PASS

Main Website - http://fedoraproject.org/                          PASS

Mirror List - https://mirrors.fedoraproject.org/                  PASS

Spins - http://spins.fedoraproject.org/                           PASS

Start - http://start.fedoraproject.org/                           PASS

Torrent - http://torrent.fedoraproject.org/                       PASS

Pastebin - https://paste.fedoraproject.org/                       PASS

Fpaste - http://fpaste.org/                                     FAILED

Download - http://dl.fedoraproject.org/pub/                     FAILED

Planet - http://planet.fedoraproject.org/                         PASS

ML - https://lists.fedoraproject.org/mailman/listinfo           FAILED

Bugzilla - https://bugzilla.redhat.com/                         FAILED

Le Projet Fedora s'en tire bien, sur 22 domaines seuls 7 ne sont pas encore accessibles uniquement en IPv6, ce qui fait moins de 33%. En revanche, tant que le Bugzilla ne disposera pas d'une connexion IPv6 je suis obligé de conserver une connexion IPv4.

L'autre grande moitié de ma navigation sur le web a lieu sur les domaines de Fedora-fr.org, qui hélas sont aucunement accessibles en IPv6, dommage. Enfin mes sites de détente favoris DTC et VDM sont eux aussi indisponibles en IPv6, au même titre que dlang.org, poezio.eu, et squid-cache.org.

Je ne vais pas faire la liste de tous les sites inaccessibles en IPv6, mais elle doit être plutôt longue. Là il ne s'agissait que des liens dans mes signets elinks, mais une fois encore le Projet Fedora signe la meilleure performance...

IPv6: état des lieux

Matthieu Saulnier

Cela fait un moment que la transition a commencé, voyons un peu dans quelles proportions Internet est accessible avec une connexion IPv6. Les tests sont réalisés sur mon netbook avec NetworkManager configuré pour établir une connexion uniquement en IPv6. Ma navigation sur le web a lieu en grande partie sur les sites du Projet Fedora, il est donc logique si je veux quitter définitivement l'IPv4 d'en vérifier d'abord la connectivité.

Ask Fedora - http://ask.fedoraproject.org/                        PASS

BFO - http://boot.fedoraproject.org/                              PASS

Blockerbugs - https://qa.fedoraproject.org/blockerbugs/           PASS

Bodhi - https://admin.fedoraproject.org/updates/                  PASS

Buildsystem - http://koji.fedoraproject.org/                    FAILED

GIT / Source Control - pkgs.fedoraproject.org                   FAILED

Docs - http://docs.fedoraproject.org/                             PASS

Fedora Account System - https://admin.fedoraproject.org/accounts/ PASS

Fedora Community - https://admin.fedoraproject.org/community/     PASS

Fedora Calendar - https://apps.fedoraproject.org/calendar/        PASS

Fedora Hosted - https://fedorahosted.org/                       FAILED

Fedora OpenID - https://id.fedoraproject.org/                     PASS

Mirror Manager - https://admin.fedoraproject.org/mirrormanager/   PASS

Package Database - https://admin.fedoraproject.org/pkgdb/         PASS

Wiki - http://fedoraproject.org/wiki/                             PASS

Fedora People - http://fedorapeople.org/                          PASS

Main Website - http://fedoraproject.org/                          PASS

Mirror List - https://mirrors.fedoraproject.org/                  PASS

Spins - http://spins.fedoraproject.org/                           PASS

Start - http://start.fedoraproject.org/                           PASS

Torrent - http://torrent.fedoraproject.org/                       PASS

Pastebin - https://paste.fedoraproject.org/                       PASS

Fpaste - http://fpaste.org/                                     FAILED

Download - http://dl.fedoraproject.org/pub/                     FAILED

Planet - http://planet.fedoraproject.org/                         PASS

ML - https://lists.fedoraproject.org/mailman/listinfo           FAILED

Bugzilla - https://bugzilla.redhat.com/                         FAILED

Le Projet Fedora s'en tire bien, sur 22 domaines seuls 7 ne sont pas encore accessibles uniquement en IPv6, ce qui fait moins de 33%. En revanche, tant que le Bugzilla ne disposera pas d'une connexion IPv6 je suis obligé de conserver une connexion IPv4.

L'autre grande moitié de ma navigation sur le web a lieu sur les domaines de Fedora-fr.org, qui hélas sont aucunement accessibles en IPv6, dommage. Enfin mes sites de détente favoris DTC et VDM sont eux aussi indisponibles en IPv6, au même titre que dlang.org, poezio.eu, et squid-cache.org.

Je ne vais pas faire la liste de tous les sites inaccessibles en IPv6, mais elle doit être plutôt longue. Là il ne s'agissait que des liens dans mes signets elinks, mais une fois encore le Projet Fedora signe la meilleure performance...

Monter un partage NFS sous CentOS/Fedora

Alexandre Frandemiche

Aujourd'hui, une petite note permettant de monter un partage NFS. Ca sert toujours de garder ça dans un coin ;)" class="smiley !

Prérequis

Installation du client nfs :

# yum install nfs-utils nfs-utils-lib

Démarrage des services :

# service rpcbind start
# service nfs start

On s'assure de les lancer au démarrage de notre machine :

# chkconfig rpcbind on

# chkconfig nfs on

Vérifions le bon démarrage des services avec :

# netstat -nlp

Configuration

Ajouter dans /etc/fstab :

ip_du_serveur:/data/mon_rep_nfs  /mnt/mon_rep_nfs   nfs      rw,sync,hard,nointr,_netdev  0     0

Voici quelques explication (Merci à penthium2 ;)" class="smiley ) :

  • Loption rw indique que le système de fichier à monter est accessible en lecture et écriture
  • Loption sync indique que le système de fichier à monter est synchrone
  • Loption hard indique que le s'il y a un problème d'accès au partage NFS, alors la requête est ré-exécutée en boucle
  • Loption nointr indique qu'in signal peut interrompre les opérations sur le montage (si hard, éviter intr qui pourrait entrainer une corruption des données
  • Loption _netdev indique que le système de fichier à monter est un système de fichiers distant et doit donc être monté une fois que le réseau est actif
  • En savoir plus : http://linux.die.net/man/5/nfs

Ensuite on recharge le fichier de montage :

# mount -a

Nous voilà avec notre client configuré !

check_file_content : Plugin Nagios tout terrain pour consulter le contenu d'un fichier

Alexandre Frandemiche

Présentation

Ce projet est un projet sous licence GPL v2. Cette commande est un plugin pour Nagios 3.x, développé en PERL et oui, on prend les mêmes et on recommence ;)" class="smiley )

Son objectif est de permettre de consulter un fichier local ou sur le réseau et de retourner des alertes selon la présence ou non d'une suite de mots passés en paramètre. Dans un premier temps, le plugin ne prend en compte que le protocol samba, mais ça ne devrait pas être compliqué d'en intégrer d'autres.

Ce plugin permet de :

  • Retourner le nombre d'occurrences d'un mot ou d'une expression contenue dans un fichiers local ou distant.Des alertes peuvent être levées si le nombre d'occurrences est inclue un minimum de fois ou à l'inverse s'il est exclu du fichier (ou présent au maximum n fois). Les limites étant définies par les seuils critique et warning passés en paramètres

Pour le reste, je vous laisse parcourir le fichier, tout doit être dedans ;)  et assez explicite ! Sinon, vous savez où me trouver ;)" class="smiley

Installation

Vous l'aurez compris, pour l'utiliser, il suffit d'un serveur Nagios (Installer Nagios sur CentOS sans RPM) sur lequel vous aurez installé les packages suivant :

# yum install perl perl-Filesys-SmbClient

Une fois fais, il ne vous reste qu'à placer check_file_content.pl dans le répertoire libexec de votre arborescence Nagios :

# chmod +x check_file_content.pl

Et voilà, le tour est joué !

$ perl check_file_content.pl --help

Check_file_content for Nagios, version 1.0
GPL licence, (c)2013 Slobberbone

Site http://www.slobberbone.net

Usage: check_file_content.pl -f <file> -P <protocol> [-u <user> -p <password> -d <domain>] -s <"search_expression"> -t <check_type> [-w <warn_level> -c <crit_level>] -V
-h, --help
print this help message
-f, --filepath=PATHTOFILENAME
full path to file to analyze
-P, --protocol=PROTOCOL
protocol used to acess file :
LOCAL for local file (default),
SMB for CIFS file
-u, --user=USER
user to login
-p, --password=PASSWORD
password
-d, --domain=DOMAIN
domain name
-s, --search="EXPRESSION", if empty looks for lines present in the file
expression to search in the specified file
-t, --check_type=TYPE
Type of search :
INCLUDE for include at least the critical option, then the warning option
EXCLUDE for exclude with a maximum of founded expression smaller than critical option
-w, --warn=INTEGER
number that will cause a warning
-c, --critical=INTEGER
number that will cause an error (Default: 1)
-V, --version
prints version number
Note :
The script will return
* With warn and critical options:
OK if we are able to found expression and the count result respect <warn_level> and depending check_type,
WARNING if we are able to found expression and the count result unrespect <warn_level> and depending check_type,
CRITICAL if we are able to found expression and the count result unrespect <crit_level> and depending check_type,
UNKNOWN if we aren't able to read the file

Configuration

Pour que ce plugin soit opérationnel avec notre serveur de supervision Nagios (ou Shinken), il faut ajouter dans le fichier commands.cfg :

# 'check_file_content' command definition
define command{
    command_name    check_file_content
    command_line    $USER1$/check_file_content.pl -f $ARG1$ -P $ARG2$ -u $ARG3$ -p $ARG4$ -d $ARG5$ -t $ARG6$ -s $ARG7$ -w $ARG8$ -c $ARG9$
    }

Puis, il ne vous reste plus qu'à l'appeler de la manière suivante :

define service{
    use            generic-service
    host_name        my_file_server
    service_description    Include at least 4 instances of "Provider : OK" in mytest.log
    check_command        check_file_content!smb://server/dir/file.log!SMB!user!password!domain!INCLUDE!"Provider : OK"!5!3
    normal_check_interval    10
}

Et voilà, il ne reste plus qu'à modifier ce projet pour vos propres besoins ! Pour ça, direction SourceForge.net !

Si vous avez des questions, les commentaires sont ouverts !

Installation de NagVis sur CentOS

Alexandre Frandemiche

Aujourd'hui, je vous propose d'installer NagVis 1.6 ! Cette procédure suit celle précédemment rédigée : Installation de Nagios dur CentOS

NagVis_accueil

Installation des prérequis

Comme d'habitude, on installe les paquets qui nous manquent, j'avais déjà installer le dépôt de RPMForge, si besoin, voici la procédure : http://wiki.centos.org/AdditionalResources/Repositories/RPMForge/#head-5aabf02717d5b6b12d47edbc5811404998926a1b !

$ su -

# yum install php php-mysql
# yum install graphviz rsync

Et voilà,passons à l'installation de NagVis.

Installation de NagVis

Nagios étant initialement installé dans /usr/local/nagios, nous allons continuer de mettre les autres composants à coté !

# cd /usr/local/
# wget http://downloads.sourceforge.net/project/nagvis/NagVis%201.6/nagvis-1.6.6.tar.gz?r=http%3A%2F%2Fwww.nagvis.org%2Fdownloads&ts=1342001584&use_mirror=kent

Une fois téléchargé, on décompresse l'archive ( NagVis ) :


# tar xvfz nagvis-1.6.6.tar.gz
# mv nagvis-1.6.6 nagvis

Nous nous retrouvons avec Nagvis, prêt à être compilé dans /usr/local/nagvis/ !

Configuration de NagVis

Attention, c'est ici que ça devient extrêmement technique ^^ ! Il faut juste suivre les questions du script en donnant le chemin de Nagios (/usr/local/nagios) et de bien demander de modifier les fichiers de configuration de Nagios ainsi que de modifier la configuration d'Apache.

# cd nagvis
# ./install.sh

Vous devriez avoir un résultat du genre :

| Installation complete                                                                                                                                             |
|                                                                                                                                                                               |
| You can safely remove this source directory.                                                                                                          |
|                                                                                                                                                                               |
| For later update/upgrade you may use this command to have a faster update:                                                    |
| ./install.sh -n /usr/local/nagios -p /usr/local/nagvis -b ndo2db -u apache -g apache -w /etc/httpd/conf.d -a y         |
|                                                                                                                                                                               |
| What to do next?                                                                                                                                                    |
| - Read the documentation                                                                                                                                      |
| - Maybe you want to edit the main configuration file?                                                                                             |
|   Its location is: /usr/local/nagvis/etc/nagvis.ini.php                                                                                                |
| - Configure NagVis via browser                                                                                                                               |
|   <http://localhost/nagvis/config.php>                                                                                                                   |
| - Initial admin credentials:                                                                                                                                      |
|     Username: admin                                                                                                                                               |
|     Password: admin                                                                                                                                                |   

En ce qui me concerne, j'ai dû modifier directement dans le fichier de configuration de NagVis, les infos pour attaquer la base de données de Nagios alimentée par NDO.

# vi /usr/local/nagvis/etc/nagvis.ini.php

Voici les infos que j'ai modifié (retrouvée dans le fichier ndo2db.cfg) :

;statushost=""
; hostname for NDO-db
dbhost="momn_nom_de_serveur"
; portname for NDO-db
;dbport=3306
; database name for NDO-db
;dbname="nagios"
; username for NDO-db
dbuser="nagios"
; password for NDO-db
dbpass="nagios"
; prefix for tables in NDO-db
dbprefix="npc_"
; instance name for tables in NDO-db
;dbinstancename="default"
; maximum delay of the NDO Database in seconds
;maxtimewithoutupdate=180
; path to the cgi-bin of this backend
;htmlcgi="/nagios/cgi-bin"


Voilà, à priori, après avoir paramétré via la page http://localhost/nagvis/config.php (et notamment définir NDO comme plugin BDD), une modification des droits pour l'utilisateur nagios est nécessaire, puis redémarrage d'Apache et c'est bon !

# chown -Rf nagios:nagios /usr/local/nagvis/
# /etc/init.d/httpd restart

J'ai cependant eu un problème, mes tables alimentées par NDO, n'étaient pas confirme à ce qu'attendait NagVis ...

Il suffit donc d'exécuter via la commande $ mysql -u nagios -pnagios sur les tables de ndo :

ALTER TABLE npc_eventhandlers ADD long_output TEXT NOT NULL after output;
ALTER TABLE npc_hostchecks ADD long_output TEXT NOT NULL after output;
ALTER TABLE npc_hoststatus ADD long_output TEXT NOT NULL after output;
ALTER TABLE npc_notifications ADD long_output TEXT NOT NULL after output;
ALTER TABLE npc_servicechecks ADD long_output TEXT NOT NULL after output;
ALTER TABLE npc_servicestatus ADD long_output TEXT NOT NULL after output;
ALTER TABLE npc_statehistory ADD long_output TEXT NOT NULL after output;
ALTER TABLE npc_systemcommands ADD long_output TEXT NOT NULL after output;

Et voilà ! NagVis est fonctionnel !

En ce qui me concerne, j'ai voulu avoir accès à NagVis depuis l'interface de Nagios (modifiée avec le thème Vautour). Pour cela, un peu de php/html de base afin de modifier les fichiers présent dans /usr/local/nagios/share/ et notamment le menu.html ;)" class="smiley

Seul hic, comment utiliser une même authentification ?

Authentification Nagios / NagVis

Via Apache, comme pour Nagios !

# vi /etc/httpd/conf.d/nagvis.cnf

On ajoute ceci :

AuthName "NagVis Access"
AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd.users
Require valid-user

...

SetEnv REMOTE_USER guest
RequestHeader set Cookie "nagvis_session=1"

On recharge la configuration Apache :

# /etc/init.d/httpd reload

Et le tour est joué ! (par défaut on indique que tout utilisateur utilise le login guest, si vous créez l'utilisateur dans NagVis, les droits lui seront alors appliqués !

NagVis_ex1

Aller plus loin ...

Au cas où, on peut ajouter des icônes, des gadgets, des map personnalisées, etc ... Donc voici quelques liens intéressants que je complèterai si besoin :

- Pack d'icônes : http://exchange.nagvis.org/exchange/func-finishdown/9/

Création d'un dépôt RPM à base de Fedora

Alexandre Frandemiche

Introduction

Je vais partir du principe que nous allons créer un dépôt RPM pour Fedora 14 et CentOS/RHEL 5 dans /var/www/html/linux/. Voici l'arborescence :

/var/www/html/linux/fedora/14/i386/
/var/www/html/linux/fedora/14/x86_64/
/var/www/html/linux/el5/5/i386/
/var/www/html/linux/el5/5/x86_64/

Chacun des chemins cités ci-dessus est un dépôt. Ainsi, dans ce qui suit on remplacera /path/myrepo par /var/www/html/linux/fedora/14/i386/ puis pour l'ensemble des commandes par /var/www/html/linux/fedora/14/x86_64/ et ainsi de suite pour chacune des architecture des distributions que concerne notre dépôt.

Vos rpm seront donc présents avant la génération de createrepo et repoview ;)
MyRepo

Préparation des chemins contenant les RPM

su -lc 'mkdir -p /var/www/html/linux/fedora/14/i386/'
su -lc 'mkdir -p /var/www/html/linux/fedora/14/x86_64/'
su -lc 'mkdir -p /var/www/html/linux/el5/5/i386/'
su -lc 'mkdir -p /var/www/html/linux/el5/5/x86_64/'


Pour el5, on peut installer des pré-configuration lors de l'installation de l'OS, du coup, $releaseversion n'est pas forcément 5, mais peut être 5Workstation, 5client ou 5Server. Dans ce cas on en profite pour créer des liens symboliques :
su -lc 'ln -s /var/www/html/linux/el5/5/ /var/www/html/linux/el5/5Workstation'
su -lc 'ln -s /var/www/html/linux/el5/5/ /var/www/html/linux/el5/5Client'
su -lc 'ln -s /var/www/html/linux/el5/5/ /var/www/html/linux/el5/5Server
'

Installer un dépôt RPM

Installation d'un serveur web

Tout d'abord commençons par installer un serveur Apache :
su -lc 'yum install httpd'

Configuration du dépôt

Pour configurer notre dépôt, nous allons utiliser l'outil createrepo :
su -lc 'yum install createrepo'

Créons dans /etc/httpd/conf.d/ un fichier de configuration pour notre dépôt dans Apache :
su -lc 'vi /etc/httpd/conf.d/repository.conf'

Voici le contenu du fichier :

<Directory /var/www/html/>
    Options Indexes
    Options Indexes FollowSymLinks
    Order allow, deny
    Allow from all
</Directory>

Création du dépôt

La commande de base pour créer une dépôt est createrepo :
createrepo /path/monrepo

Le plus souvent, on crée un dépôt en générant une base sqlite (cela nous sera utile pour repoview), pour cela, il faut utiliser l'option -d :
createrepo -d  /path/monrepo

L'option -g permet de prendre en compte un groupe de RPM définit dans un fichier comps.xml :
createrepo -d -g /path/comps.xml /path/monrepo

Ainsi, nous pourrons utiliser les commandes yum grouptruc avec notre dépôt !

L'option --unique-md-filenames semble utile, notamment lorsque 'lon a plusieurs mirroir, permet ede donner un nom unique aux metadatas.
L'option --checksum sha est indispensable pour le dépôt EL-5 (la valeur par défaut, sha256, est ok pour fedora >= 11 et EL >= 6)

Donc au final on se retrouve avec :

createrepo --unique-md-filenames --checksum sha -d -g /path/comps.xml /path/monrepo

Génération de repoview

Un dépôt, c'est bien, de quoi le parcourir avec un design sympa, c'est mieux !

Installation de Repoview

su -lc 'yum install repoview'

Utiliser l'option -d sur la commande createrepo afin de créer la base sqlite qui sera utilisée par repoview.

Création des page html via repoview

Ensuite, c'est très simple on demande à repoview de créer les pages qui permettront de naviguer dans notre dépôt !
repoview /path/monrepo

Pour terminer, assurons-nous de disposer des droits pour l'utilisateur apache :
su -lc 'chmod o+rX /path/monrepo'

Exemple de fichier Comps.xml afin de créer des groupes de rpm

Si vous désirez installer l'ensemble de vos rpm dans votre repo, ou un sous-ensemble spécifique, vous devrez créer un fichier de groupes : comps.xml. Pour notre exemple, si nous voulions que myrpm.noarch.rpm soit installé par défaut et mybinrpm.i386.rpm soit une option, nous créerions un fichier de comps.xml comme ceci :

    <comps>
    <!--  <meta> -->
    <!-- Meta information will go here eventually -->
    <!--  </meta> -->
      <group>
        <id>mygroup</id>
        <name>MyGroup</name>
        <default>true</default>
        <description>Default RPMS from MyRepo</description>
        <uservisible>true</uservisible>
        <packagelist>
          <packagereq type="default">myrpm</packagereq>
          <packagereq type="optional">mybinrpm</packagereq>
        </packagelist>
      </group>
    </comps>

Pensez à relancer createrepo afin que vos groupes soient accessibles par les personnes ayant votre dépôt de configuré !

Ajout de pages manquantes

Cette opération est effectuée qu'un seule fois à la création de l'arborescence, puis à l'ajout d'un release ou d'une distribution.

Index principal dans /var/www/html/

Notre dépôt est prêt, reste à y ajouter quelques pages et feuilles de style !
su -lc 'vi /var/www/html/index.html
Voici le contenu :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
   
<meta http-equiv="content-type" content="text/html;charset=UTF-8">
<head>
        <meta content="text/html; charset=utf-8" http-equiv="content-type" />
        <title>RepoView: MyRpo</title>
        <link href="http://www.slobberbone.net/dotclear/index.php?post/2011/08/17/css/repostyle.css" type="text/css" rel="stylesheet" />
        <meta content="index,follow" name="robots" />
        <link rel="shortcut icon" href="http://www.slobberbone.net/dotclear/index.php?post/2011/08/17/favicon.ico" />
</head>
<body>
    <div id="page">
        <div id="top">
            <h1><span><a href="http://www.slobberbone.net/dotclear/index.php?post/2011/08/17/index.html">My - Packages</a></span></h1>
        </div>
        <p id="prelude"><a href="http://www.opti-time.com/">Site</a> | <a href="http://www.slobberbone.net/dotclear/index.php?post/2011/08/17/index.html">Dépôt</a></p>
        <div id="wrapper">
            <div id="main">
                <div id="content">
                    <h2>Download mirrors</h2>
                    <ul class="pkglist">
                        <li><a href="http://www.slobberbone.net/dotclear/index.php?post/2011/08/17/index.html" class="inpage">http://monurl/linux/</a> - <strong>primary</strong></li>
                    </ul>
                    <h2>Distribution choice</h2>
                    <h3>Fedora - Maintained version</h3>
                    <ul class="pkglist">
                        <li>
                            <a href="http://www.slobberbone.net/dotclear/index.php?post/2011/08/17/linux/fedora/14/index.html" class="inpage">Fedora 14 (Laughlin)</a> -
                                                        repository auto-configuration package : <a href="http://www.slobberbone.net/dotclear/index.php?post/2011/08/17/linux/fedora/14/x86_64/my-repo-fedora-2.0-0.0.fc14.noarch.rpm">My-repository-fc-14.rpm</a>
                        </li>
                    </ul>
                    <h3>Enterprise Linux (RHEL / CentOS / Other clones)</h3>
                    <ul class="pkglist">
                        <li>
                            <a href="http://www.slobberbone.net/dotclear/index.php?post/2011/08/17/linux/el5/5/index.html" class="inpage">Enterprise Linux 5.5</a> -
                            repository auto-configuration package : <a href="http://www.slobberbone.net/dotclear/index.php?post/2011/08/17/linux/el5/5/x86_64/my-repo-el5-2.0-0.0.el5.noarch.rpm">My-repository-el-5.rpm</a>
                        </li>

                    </ul>
                    <h2>Other resources</h2>
                    <ul class="pkglist">
                        <li>
                            <a href="http://www.slobberbone.net/dotclear/index.php?post/2011/08/17/linux/RPM-GPG-KEY-MyRepo.gpg" class="inpage">RPM-GPG-KEY-MyRepo</a>: the GnuPG public key of the key pair used to sign MyRepo's packages
                        </li>
                    </ul>
                </div>
            </div>
        </div>
        <div id="footer">
            <ul id="w3c">
                <li>
                    <a id="vxhtml" href="http://validator.w3.org/check/referer">XHTML 1.1 valide</a>
                </li>
                <li>
                    <a id="vcss" href="http://jigsaw.w3.org/css-validator/check/referer">CSS 2.0 valide</a>
                </li>
            </ul>
            <p>
                by <a href="http://mricon.com/trac/wiki/Repoview">Repoview</a> | Designed for <a href="http://www.myRepo.org/">MyRepo</a>
            </p>
        </div>
    </div>
</body>
<meta http-equiv="content-type" content="text/html;charset=UTF-8">
</html>

su -lc 'vi /var/www/html/css/repostyle.css
Voici le contenu :

ul, ul li {
    list-style: none;
    }
a:link, a:visited {
    color: #000;
    text-decoration: underline;
    }
a:hover {
    color: #000;
    text-decoration: none;
    }
.nav {
    text-align: right;
    color: gray;
    font-size: small;
    }
.nactive {
    border-bottom: 1px dotted blue;
    background-color: lavender;
    color: blue;
    font-size: small;
    text-decoration: none;
    }
.ninactive {
    color: gray;
    font-size: small;
    }
.nlink {
    text-decoration: none;
    color: blue;
    font-size: small;
    }
.nlink:hover {
    background-color: lavender;
    border-bottom: 1px dotted blue;
    font-size: small;
    }
.inpage {
    text-decoration: none;
    color: blue;
    }
.inpage:hover {
    background-color: mistyrose;
    color: red;
    border-bottom: 1px dotted red;
    }
.levbar {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 11em;
    height: 100%;
    border-right: 4px dotted gray;
    border-bottom: 4px dotted gray;
    background-color: gainsboro;
    }
.main {
    position: absolute;
    left: 13em;
    width: 75%;
    }
h1,h2,h3,h4,h5 {
    border-bottom: 1px dotted gray;
    border-top: 1px dotted gray;
    background-color: whitesmoke;
    font-weight: normal;
    }
.pagetitle {
    border-top: 1px dotted gray;
    border-bottom: 1px dotted gray;
    padding-top: 5%;
    padding-bottom: 5%;
    margin-top: 5%;
    margin-bottom: 5%;
    text-align: center;
    width: 100%;
    color: gray;
    background-color: white;
    }
dt  {
    font-weight: bold;
    margin-top: 1%;
    }
th  {
    background-color: whitesmoke;
    text-align: left;
    }
.field  {
    background-color: whitesmoke;
    text-align: right;
    }
.levbarlist {
    list-style-type: none;
    padding: 5%;
    border-top: 1px dotted gray;
    border-bottom: 1px dotted gray;
    background-color: whitesmoke;
    }
.pkglist {
    padding-top: 2%;
    padding-bottom: 2%;
    list-style-type: circle;
    }
.letterlist {
    background-color: whitesmoke;
    }
.letterlist a {
    padding-left: 0.2em;
    padding-right: 0.2em;
    }
.footernote {
    text-align: right;
    font-size: small;
    background-color: whitesmoke;
    border-top: 1px dotted gray;
    color: gray;
    }
.repoview {
    text-decoration: none;
    color: gray;
    border-bottom: 1px dotted gray;
    font-size: small;
    }
.repoview:hover {
    background-color: lavender;
    border-bottom: 1px dotted blue;
    color: blue;
    font-size: small;
    }

NB : Ce style est très fortement/probablement inspiré de celui qu'utilise Remi pour ses dépôts !

Index de redirection dans /var/www/html/linux/

su -lc 'vi /var/www/html/linux/index.html'
Voici le contenu :

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<meta http-equiv="refresh" content="0; url=../index.html" />
<title>Repository MyRepo</title>
<meta name="robots" content="noindex,follow" />
<link href="http://www.slobberbone.net/dotclear/index.php?post/2011/08/17/../css/repostyle.css" type="text/css" rel="stylesheet" />
</head>

<body>
<p><a href="http://www.slobberbone.net/dotclear/index.php?post/2011/08/17/../index.html">Packages MyRepo</a></p>
</body>
</html>

Index dans chacun des dépôts

Ici placez cet index autant de fois que de distributions supportée par votre dépôt
su -lc 'vi /var/www/html/linux/fedora/14/index.html'
Voici le contenu :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
    <meta content="text/html; charset=utf-8" http-equiv="content-type" />
    <title>Opti-Time - Fedora 14</title>
    <link href="http://www.slobberbone.net/dotclear/index.php?post/2011/08/17/i386/repoview/layout/repostyle.css" type="text/css" rel="stylesheet" />
    <meta content="index,follow" name="robots" />
    <link rel="shortcut icon" href="http://www.slobberbone.net/dotclear/index.php?post/2011/08/17/../../favicon.ico" />
</head>
<body>
    <div id="page">
        <div id="top">
            <h1><span><a href="http://www.slobberbone.net/dotclear/index.php?post/2011/08/17/../../../index.html">MyRepo- Packages</a></span></h1>
        </div>
        <p id="prelude"><a href="http://www.myrepo.com/">Site</a> | <a href="http://www.slobberbone.net/dotclear/index.php?post/2011/08/17/index.html">Dépôt</a></p>
        <div id="wrapper">
            <div id="main">
                <div id="content">
                        <h2>Fedora 14 (Laughlin)</h2>
                    <h3>MyRepo</h3>
                    <ul class="pkglist">
                        <li>
                            <a href="http://www.slobberbone.net/dotclear/index.php?post/2011/08/17/i386/repoview/index.html" class="inpage">i386</a>
                        </li>
                        <li>
                            <a href="http://www.slobberbone.net/dotclear/index.php?post/2011/08/17/x86_64/repoview/index.html" class="inpage">x86_64</a>
                        </li>
                    </ul>
                    <!--<h3>MyRepo-test</h3>
                    <ul class="pkglist">
                        <li>
                            <a href="http://www.slobberbone.net/dotclear/index.php?post/2011/08/17/test/i386/repoview/index.html" class="inpage">i386</a>
                        </li>
                        <li>
                            <a href="http://www.slobberbone.net/dotclear/index.php?post/2011/08/17/test/x86_64/repoview/index.html" class="inpage">x86_64</a>
                        </li>
                    </ul>-->
                </div>
            </div>
            <div id="sidebar">
                <h2>fedora 14</h2>
                <ul class="levbarlist">
                    <li>
                        <a href="http://www.slobberbone.net/dotclear/index.php?post/2011/08/17/../../../index.html" class="nlink" title="Back to distribution choice">Back to distribution choice</a>
                    </li>
                </ul>
            </div>
        </div>
        <div id="footer">
            <ul id="w3c">
                <li>
                    <a id="vxhtml" href="http://validator.w3.org/check/referer">XHTML 1.1 valide</a>
                </li>
                <li>
                    <a id="vcss" href="http://jigsaw.w3.org/css-validator/check/referer">CSS 2.0 valide</a>
                </li>
            </ul>
            <p>
                by <a href="http://mricon.com/trac/wiki/Repoview">Repoview</a> | Designed for <a href="http://www.myrepo.com/">MyRepo</a>
            </p>
        </div>
    </div>
</body>

<meta http-equiv="content-type" content="text/html;charset=UTF-8">
</html>

NB : changez donc fedora et 14 par el5 et 5 pour CentOS et RHEL.

Terminons par redonner la propriété du répertoire /var/www/html/ à apache :
su -lc 'chown -Rf apache:apache /var/www/html/'Merci Remi !
su -lc 'chmod o+rX /path/monrepo'

Scripts de régénération automatique des dépôts

Tâche que vous allez vous trouvez à faire souvent, voici donc un script pour le dépôt el5.5 (effectué avec les droits root) :

#!/bin/sh

chown -R apache:apache /var/www/html/linux/el5/
createrepo -g ~/comps.xml -d /var/www/html/linux/el5/5/i386/
createrepo -g ~/comps.xml -d /var/www/html/linux/el5/5/x86_64/
repoview /var/www/html/linux/el5/5/i386/
repoview /var/www/html/linux/el5/5/x86_64/
#permet d'avoir le même style que l'index.html
cp -f /var/www/html/css/repostyle.css /var/www/html/linux/el5/5/i386/repoview/layout/
cp -f /var/www/html/css/repostyle.css /var/www/html/linux/el5/5/x86_64/repoview/layout/
/etc/init.d/httpd reload

Et pour Fedora 14 :

#!/bin/sh

chown -R apache:apache /var/www/html/linux/fedora/
createrepo -g ~/comps.xml -d /var/www/html/linux/fedora/14/i386/
createrepo -g ~/comps.xml -d /var/www/html/linux/fedora/14/x86_64/
repoview /var/www/html/linux/fedora/14/i386/
repoview /var/www/html/linux/fedora/14/x86_64/
#permet d'avoir le même style que l'index.html
cp -f /var/www/html/css/repostyle.css /var/www/html/linux/fedora/14/i386/repoview/layout/
cp -f /var/www/html/css/repostyle.css /var/www/html/linux/fedora/14/x86_64/repoview/layout/
/etc/init.d/httpd reload

Génération de la clé GPG et du fichier myrepo.repo

Pour finaliser votre dépôt, il vous faut une clé GPG qui va authentifier vos rpm présents sur le dépôt, je vous invite à lire GnuPG : Signature et Chiffrement afin de créer votre propre clé GPG.
Ensuite, il va falloir ajouter la définition de votre dépôt et la clé GPG à chacun de vos "clients" de votre dépôt.
Voici le fichier qui sera dans /etc/yum.repo.d/
su -lc 'vi /etc/yum.repo.d/myrepo.repo'

[MyRepo]
name=MyRepo Repository for Enterprise Linux $releasever - $basearch
baseurl=http://repository.opti-time.net:81/linux/el5/$releasever/$basearch/
enabled=1
#failovermethod=priority
metadata_expire=7d
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-MyRepo.gpg

Et comme un exemple est toujours mieux qu'un beau discours, voici le contenu de mon fichier myrepo.spec qui me permet de générer un rpm pour ajouter MyRepo !

Name:           myrepo-repo-el5
Version:        1.0
Release:        0.0%{?dist}
Summary:        This package is the repository of MyRepo

Group:          Applications/ProjectManagement
License:        GPL
URL:            http://www.myrepo.org/linux/
Vendor:        Slobberbone
Source0:        %{name}.tar.gz
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch:    noarch

%description
Repository RHEL / Centos for MyRepo

%prep

%setup -q

%install
rm -rf %{buildroot}
mkdir -p %{buildroot}%{_sysconfdir}/yum.repos.d/
mkdir -p %{buildroot}%{_sysconfdir}/pki/rpm-gpg/
install -c -m 755  optitime.repo %{buildroot}%{_sysconfdir}/yum.repos.d/
install -c -m 755 RPM-GPG-KEY-Opti-TimeSA.gpg %{buildroot}%{_sysconfdir}/pki/rpm-gpg/

%clean
rm -rf %{buildroot}

%files
%defattr(-,root,root,-)
%{_sysconfdir}/yum.repos.d/optitime.repo
%{_sysconfdir}/pki/rpm-gpg/RPM-GPG-KEY-Opti-TimeSA.gpg

%changelog
* Wed  Aug 17 2011 MyRepo <slobberbone@myrepo.org> 1.0-1.1
- initial release

Bien-sur, il faudra en faire un pour Fedora 14, en remplaçant el5 par fc ;)
Il ne faut pas oublier que lorsque vous mettez vos RPM sur le dépôt que ceux-ci soient signés grâce à la commande :
rpmsign --addsign monrpm.rpm

Conclusion

Vous voilà fin prêt ! La technique n'est peut-être pas orthodoxe, mais ça a le mérite de fonctionner ! Comme d'habitude, je vous invite à me laisser des commentaires afin de l'améliorer !

Configuration spécifique de iptables

Patrice Ferlet

Fedora offre un outil de configuration rapide de par-feu iptables assez simple, pratique dans la plupart des cas. Comme vous le savez certainement, CentOS est proche de Fedora dans le sens où la base est quasiment identique, à la différence des paquets et de l'aptitude de la distribution. CentOS est orientée serveur. Bref, j'ai eu besoin de créer une machine virtuelle sur ma Centos et de permettre une redirection de port sur la machine hôte pour me connecter directement à cette dernière. Or, toucher à iptables ne sauve pas votre configuration directement, et l'outil de gestion de base ne permet pas de faire des ip-forward.

Car en fait, créer une règle de port fowrading est plutôt rapide. Exemple, ici ma VM a l'ip locale "192.168.122.18" et n'est vu que de ma CentOS hôte (adresse public 1.2.3.4). Ajouter le port forward se fait de cette manière:

iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 10222 -j DNAT --to 192.168.122.18:22
iptables -A FORWARD -i eth0  -p tcp -d 192.168.122.18 --dport 22 -j ACCEPT

Donc j'admet ici que si on se connecte au port 10222 de ma CentOS, je redirige la connexion sur la machine 192.168.122.18 port 22 (ssh). Cela se fait par la table PREROUTING qui va manipuler les paquets en changeant les données ip source et port source, et la table FORWARD qui assigne la redirection. Bref, sympa :)" class="smiley

Mais voilà, si vous voulez redémarrer votre machine, vos deux commandes sont oubliées car non inscrites dans la configuration de base du service iptables installée sur votre machine. Donc la solution est simple.

On va sauver notre ancienne configuration, sait-on jamais, et forcer la nouvelle configuration depuis la commande iptables-save.

cat /etc/sysconfig/iptables > /etc/sysconfig/iptables.save
iptables-save > /etc/sysconfig/iptables

C'est simple non ? en fait, par bonheur, le service iptables utilise le format standard de "iptables-save" et "iptables-restore" donc la manipuation est aisée.

Voilà, vous pouvez tester en relançant le service iptables, et ne plus avoir peur de perdre votre forward si le serveur redémarre.

Configuration spécifique de iptables

Patrice Ferlet

Fedora offre un outil de configuration rapide de par-feu iptables assez simple, pratique dans la plupart des cas. Comme vous le savez certainement, CentOS est proche de Fedora dans le sens où la base est quasiment identique, à la différence des paquets et de l'aptitude de la distribution. CentOS est orientée serveur. Bref, j'ai eu besoin de créer une machine virtuelle sur ma Centos et de permettre une redirection de port sur la machine hôte pour me connecter directement à cette dernière. Or, toucher à iptables ne sauve pas votre configuration directement, et l'outil de gestion de base ne permet pas de faire des ip-forward.

Car en fait, créer une règle de port fowrading est plutôt rapide. Exemple, ici ma VM a l'ip locale "192.168.122.18" et n'est vu que de ma CentOS hôte (adresse public 1.2.3.4). Ajouter le port forward se fait de cette manière:

iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 10222 -j DNAT --to 192.168.122.18:22
iptables -A FORWARD -i eth0  -p tcp -d 192.168.122.18 --dport 22 -j ACCEPT

Donc j'admet ici que si on se connecte au port 10222 de ma CentOS, je redirige la connexion sur la machine 192.168.122.18 port 22 (ssh). Cela se fait par la table PREROUTING qui va manipuler les paquets en changeant les données ip source et port source, et la table FORWARD qui assigne la redirection. Bref, sympa :)" class="smiley

Mais voilà, si vous voulez redémarrer votre machine, vos deux commandes sont oubliées car non inscrites dans la configuration de base du service iptables installée sur votre machine. Donc la solution est simple.

On va sauver notre ancienne configuration, sait-on jamais, et forcer la nouvelle configuration depuis la commande iptables-save.

cat /etc/sysconfig/iptables > /etc/sysconfig/iptables.save
iptables-save > /etc/sysconfig/iptables

C'est simple non ? en fait, par bonheur, le service iptables utilise le format standard de "iptables-save" et "iptables-restore" donc la manipuation est aisée.

Voilà, vous pouvez tester en relançant le service iptables, et ne plus avoir peur de perdre votre forward si le serveur redémarre.

Installation de Nagios sur CentOS sans RPM

Alexandre Frandemiche

Depuis le temps que j'en parlais ... voilà enfin ma procédure d'installation de Nagios 3.2 sous CentOS 5.CentOS
Alors tout d'abord, à l'époque il n'y avait pas de rpm (j'ai trouvé il y a peu un dépôt ... j'y reviendrais dans un autre billet). Donc compilation à la main !

Ensuite, les puristes crierons lorsqu'ils verront où j'installe Nagios ... le but était d'avoir quelque chose d'opérationnel assez rapidement. Faire mieux étant remis à plus tard. Si vous avez des modifications à apporter à cette procédure, je vous invite à laisser un commentaire ! Je la compléterai avec joie ! :)

Préparation de la machine

Avant toute chose, penser à bien configurer votre parefeu et SELinux. Pour un premier test, il faut désactiver le tout ! Pour le parefeu :
service iptables stop

Pour SELinux : vi /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - SELinux is fully disabled.
SELINUX=disabled
# SELINUXTYPE= type of policy in use. Possible values are:
# targeted - Only targeted network daemons are protected.
# strict - Full SELinux protection.
SELINUXTYPE=targeted

Installation des pré-requis

Passage en root
su -

Installation prérequis
yum install gcc httpd mysql-server mysql-devel openssl

Téléchargement des sources Nagios
cd /usr/local/
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.1.tar.gz
wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.14.tar.gz
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.12.tar.gz
wget http://prdownloads.sourceforge.net/sourceforge/nagios/ndoutils-1.4b9.tar.gz

Décompression de Nagios Core
tar xfvz nagios-3.2.1.tar.gz
cd nagios-3.2.1/

Création du groupe et utilisateur nagios
groupadd nagios
groupadd nagcmd
useradd nagios -g nagios,nagcmd

Installation de Nagios

Nagios

Compilation de Nagios Core
./configure --prefix=/usr/local/nagios --enable-mysql --disable-pgsql --with-ndo2db-user=nagios --with-ndo2db-group=nagios --with-command-group=nagcmd

Résultats :

#*** Configuration summary for nagios 3.2.1 03-09-2010 ***:
#
# General Options:
# -
# Nagios executable: nagios
# Nagios user/group: nagios,nagios
# Command user/group: nagios,nagcmd
# Embedded Perl: no
# Event Broker: yes
# Install ${prefix}: /usr/local/nagios/
# Lock file: ${prefix}/var/nagios.lock
# Check result directory: ${prefix}/var/spool/checkresults
# Init directory: /etc/rc.d/init.d
# Apache conf.d directory: /etc/httpd/conf.d
# Mail program: /bin/mail
# Host OS: linux-gnu
#
# Web Interface Options:
#
# HTML URL: http://localhost/nagios/
# CGI URL: http://localhost/nagios/cgi-bin/
# Traceroute (used by WAP): /bin/traceroute
#
#
#Review the options above for accuracy. If they look okay,
#type 'make all' to compile the main program and CGIs.

make all

Résultats :

#*** Compile finished ***
#
#If the main program and CGIs compiled without any errors, you
#can continue with installing Nagios as follows (type 'make'
#without any arguments for a list of all possible options):
#
# make install
# - This installs the main program, CGIs, and HTML files
#
# make install-init
# - This installs the init script in /etc/rc.d/init.d
#
# make install-commandmode
# - This installs and configures permissions on the
# directory for holding the external command file
#
# make install-config
# - This installs *SAMPLE* config files in /usr/local/nagios//etc
# You'll have to modify these sample files before you can
# use Nagios. Read the HTML documentation for more info
# on doing this. Pay particular attention to the docs on
# object configuration files, as they determine what/how
# things get monitored!
#
# make install-webconf
# - This installs the Apache config file for the Nagios
# web interface
#
#
#*** Support Notes *******************************************
#
#If you have questions about configuring or running Nagios,
#please make sure that you:
#
# - Look at the sample config files
# - Read the HTML documentation
# - Read the FAQs online at http://www.nagios.org/faqs
#
#before you post a question to one of the mailing lists.
#Also make sure to include pertinent information that could
#help others help you. This might include:
#
# - What version of Nagios you are using
# - What version of the plugins you are using
# - Relevant snippets from your config files
# - Relevant error messages from the Nagios log file
#
#For more information on obtaining support for Nagios, visit:
#
# http://www.nagios.org/support/
#
#*************************************************************

make install
make install-init
make install-commandmode
make install-config
make install-webconf

Démarrage à  vide de Nagios
/etc/init.d/nagios start

Résultat :

#Starting nagios: done.

Installation et Configuration de MySQL si non installée

yum install mysql-server mysql
/etc/init.d/mysqld start
/usr/bin/mysql_secure_installation

Préparation de MySQL

Ici l'option "-proot" où "root" est mon mot de passe pour l'utilisateur root ... il va sans dire que ce n'est qu'un exemple :-) mysql -u root -proot

Résultats :

#Welcome to the MySQL monitor. Commands end with ; or \g.
#Your MySQL connection id is 7
#Server version: 5.0.77 Source distribution
#
#Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> create database nagios;

#Query OK, 1 row affected (0.01 sec)

mysql> grant all on nagios.* to 'nagios'@'localhost' identified by 'nagios';

#Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;

#Query OK, 0 rows affected (0.00 sec)

mysql> quit

#Bye

Installation du module base de données NDO
architecture_ndo.jpg

Décompression de NDO
cd /usr/local/
tar xvfz ndoutils-1.4b9.tar.gz
cd ndoutils-1.4b9

Compilation NDO
./configure

Résultats :

#*** Configuration summary for ndoutils 1.4b9 10-27-2009 ***:
#
# General Options:
# -
# NDO2DB user: nagios
# NDO2DB group: nagios
#
#
#Review the options above for accuracy. If they look okay,
#type 'make' to compile the NDO utilities.

make

Mise en place de la librairie NDO dans Nagios
cp src/ndomod-3x.o /usr/local/nagios/bin/ndomod.o
cp src/ndo2db-3x /usr/local/nagios/bin/ndo2db

Création base Nagios
cd db
./installdb -u nagios -p nagios -h localhost -d nagios

Résultats :

#DBD::mysql::db do failed: Table 'nagios.nagios_dbversion' doesn't exist at ./installdb line 51.
#** Creating tables for version 1.4b9
# Using mysql.sql for installation...
#** Updating table nagios_dbversion
#Done!

cp /usr/local/ndoutils-1.4b9/config/ndo2db.cfg-sample /usr/local/nagios/etc/ndo2db.cfg
cp /usr/local/ndoutils-1.4b9/config/ndomod.cfg-sample /usr/local/nagios/etc/ndomod.cfg

Éditer les fichiers de configuration
cd /usr/local/nagios/etc/
vi ndo2db.cfg

Dans ce fichier vous renseignerez l'utilisateur de mysql :

# SOCKET TYPE
# This option determines what type of socket the daemon will create
# an accept connections from.
# Value:
# unix = Unix domain socket (default)
# tcp = TCP socket

#socket_type=unix
socket_type=tcp
...
# DATABASE USERNAME/PASSWORD
# This is the username/password that will be used to authenticate to the DB.
# The user needs at least SELECT, INSERT, UPDATE, and DELETE privileges on
# the database.

db_user=nagios
db_pass=nagios

vi ndomod.cfg
Modifier le type socket :

...
#output_type=file
output_type=tcpsocket
#output_type=unixsocket
...
#output=/usr/local/nagios/var/ndo.dat
output=127.0.0.1
#output=/usr/local/nagios/var/ndo.sock

vi nagios.cfg

Modifier le partie event_broker (/event_broker pour rechercher sous Vi)
-
# EVENT BROKER OPTIONS
# Accepte des datas de l'extérieur (dont NDO)
# Controls what (if any) data gets sent to the event broker.
# Values: 0 = Broker nothing
# -1 = Broker everything
# <other> = See documentation
event_broker_options=-1
broker_module=/usr/local/nagios/bin/ndomod.o config_file=/usr/local/nagios/etc/ndomod.cfg
-

Arrêt de Nagios
/etc/init.d/nagios stop

Démarrage du deamon NDO2DB
/usr/local/nagios/bin/ndo2db -c /usr/local/nagios/etc/ndo2db.cfg

Démarrage de Nagios
/etc/init.d/nagios start

Vérification du démarrage de Nagios
vi /usr/local/nagios/var/nagios.log
NB : Si Code 127 : Nagios Plugin non compilé

Installation des plugins Nagios

Décompression de Nagios Plugin
cd /usr/local
tar xvfz nagios-plugins-1.4.14.tar.gz

Compilation de Nagios Plugin
cd nagios-plugins-1.4.14
./configure

Résultats :

# --with-apt-get-command:
# --with-ping6-command: /bin/ping6 -n -U -w %d -c %d %s
# --with-ping-command: /bin/ping -n -U -w %d -c %d %s
# --with-ipv6: yes
# --with-mysql: /usr/bin/mysql_config
# --with-openssl: yes
# --with-gnutls: no
# --enable-extra-opts: no
# --with-perl: /usr/bin/perl
# --enable-perl-modules: no
# --with-cgiurl: /nagios/cgi-bin
# --with-trusted-path: /bin:/sbin:/usr/bin:/usr/sbin
# --enable-libtap: no

make
make install

Vérification des modules
ls /usr/local/nagios/libexec/
/etc/init.d/nagios restart

Changer authentification
vi /usr/local/nagios/etc/cgi.cfg
Exemple de configuration :

...
use_authentication=1
use_ssl_authentication=0
...

Pour le reste voici une brève explication :

  • authorized_for_system_information : indiquent quels sont les utilisateurs pouvant voir l'état des services
  • authorized_for_configuration_information : indiquent quels sont les utilisateurs pouvant voir la configuration de serveur Nagios
  • authorized_for_system_commands : indiquent quels sont les utilisateurs pouvant exécuter des commandes systèmes au travers de l'interface de Nagios
  • authorized_for_all_services : indiquent quels sont les utilisateurs pouvant voir l'état de tout les services (par défaut, on voit uniquement les services pour lesquels l'utilisateur est une personne de contact)
  • authorized_for_all_hosts : idem que ci-dessus mais pour les hôtes (les machines)
  • authorized_for_all_service_commands : indiquent quels sont les utilisateurs pouvant exécuter des commandes pour tous les services (par défaut, on peut exécuter des commandes uniquement sur les services pour lesquels l'utilisateur est une personne de contact)
  • authorized_for_all_host_commands : idem que ci-dessus mais pour les hôtes (les machines)

Je vous laisse le soin de compléter la configuration des personnes autorisées ou non à agir sur l'interface de Nagios !

Déclarer le user nagiosadmin
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

NB :Pour ajouter un utilisateur
htpasswd /usr/local/nagios/etc/htpasswd.users <username>

Changer le propriétaire du répertoire Nagios
chown -Rf nagios:nagios /usr/local/nagios/

Redemarrer le module NDO et Nagios
ps -e | grep ndo2db
kill PID
/usr/local/nagios/bin/ndo2db -c /usr/local/nagios/etc/ndo2db.cfg
/etc/init.d/nagios restart

Modification du script de démarrage de nagios pour prendre en compte ndo2db
vi /etc/init.d/nagios

-
...
start) echo -n "Starting nagios:"
$NagiosBin -v $NagiosCfgFile > /dev/null 2>&1;
if $? -eq 0; then
########################################################################
###############################A Ajouter################################
su - $NagiosUser -c "/usr/local/nagios/bin/ndo2db -c /usr/local/nagios/etc/ndo2db.cfg"
########################################################################
su - $NagiosUser -c "touch $NagiosVarDir/nagios.log $NagiosRetentionFile"
...
stop)
echo -n "Stopping nagios: "
pid_nagios
killproc_nagios nagios
########################################################################
###############################A Ajouter################################
su - $NagiosUser -c "skill ndo2db"
########################################################################
...
-

Installation du skin Vautour
J'utilise un skin très agréable nommé Vautour car il faut avouer que l'interface de base de Nagios est repoussante ... Comme tout projet il faut savoir le vendre et celà passe par l'esthétique !
wget http://www.be-root.com/downloads/nagios/vautour/vautour_style.zip
unzip vautour_style.zip -d /usr/local/nagios/share/

Merci à l'équipe de Be-Root !

Voici un exemple :
Vautour

Et voilà votre installation de Nagios doit être prête ! Il ne reste plus qu'à configurer notre nagios pour qu'il surveille nos serveurs ! Mais ça c'est dans un prochain billet ;) !

Rappel

Vérifier la configuration
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Faire des propositions d'optimisation (juste pour avoir la commande ;) )
/usr/local/nagios/bin/nagios -s /usr/local/nagios/etc/nagios.cfg

Bug avec le pilote WL et Avahi

Patrice Ferlet

Si comme moi vous avez une carte wifi sur votre pc portable de type Broadcom (BCM43225 chez moi) alors vous allez avoir besoin du pilote "wl" (paquet kmod-wl chez rpmfusion...). Ce pilote fonctionne très bien mais la paquet utilise une version qui (pour le moment) a un léger bug qui peut vous engendrer une crise d'arrachage de cheveux en règle. L'idée principale est tout simplement que mon pc portable refuse catégoriquement de trouver les hôtes de mon réseau via le système d'auto-configuration de nom de domaine Avahi. Pour régler cela, je vais vous donner la marche à suivre.

Tout d'abord, pour faire un peu le "pro" je vais vous expliquer comment j'ai trouvé le bug... Rien de bien méchant, il suffisait de connaitre deux commandes: tcpdump et grep. Je vous l'explique par ce que je pense que vous pourrez apprécier de savoir faire cela pour d'autres cas.

Je savais que avahi fonctionnait simplement: au moment où une machine accroche un réseau, le démon avahi envoit un paquet "broadcast" contenant son adresse, son nom de domaine (nom de machine en fait), et quelques infos... Bref, de mon coté j'ai deux pc qui trounent: patrice-desktop et patrice-laptop.

Voilà ce que j'ai fait, bêtement: Sur le poste desktop, j'ai lancé (en root...)

tcpdump -i eth0 | grep mdns

Ce que fait cette commande est simple: afficher toutes les trames réseau qui arrivent sur l'interface réseau eth0 et filtrer seulement celle qui ont "mdns" dans les informations. En fait, sitôt que mon portable se connectera, il doit envoyer un broadcast pour dire "hého je suis patrice-laptop, et j'ai telle ip". Et dans les informations de paquet, il y aura "mdns" qui doit apparaitre, puisque c'est ce protocole qui est utilisé...

Pour faire simple, je relance simplement le service avahi-daemon sur le laptop:

su -c "service avahi-daemon restart"

et là... sur le pc de bureau je vois bien:

12:27:28.822446 IP patrice-laptop.local.mdns > 224.0.0.251.mdns: 0*- [0q] 29/0/0 (Cache flush) AAAA fe80::4e0f:6eff:fe24:6009, (Cache flush) PTR patrice-laptop.local., (Cache flush) A 10.0.0.2, (Cache flush) PTR patrice-laptop.local., (Cache flush) HINFO, PTR patrice-laptop [4c:0f:6e:24:60:09]._workstation._tcp.local., (Cache flush) SRV patrice-laptop.local.:9 0 0, (Cache flush) TXT "", PTR _workstation._tcp.local., PTR patrice-laptop._http._tcp.local., (Cache flush) SRV patrice-laptop.local.:45937 0 0, (Cache flush) TXT "u=guest", PTR _http._tcp.local., PTR Fichiers publics de patachou sur patrice-laptop.local._webdav._tcp.local., (Cache flush) SRV patrice-laptop.local.:45937 0 0, (Cache flush) TXT "u=guest" "path=/", PTR _webdav._tcp.local., PTR Virtualization Host patrice-laptop._libvirt._tcp.local., (Cache flush) SRV patrice-laptop.local.:0 0 0, (Cache flush) TXT "", PTR _libvirt._tcp.local., PTR patrice-laptop._ssh._tcp.local., (Cache flush) SRV patrice-laptop.local.:22 0 0, (Cache flush) TXT "", PTR _ssh._tcp.local., PTR patrice-laptop._udisks-ssh._tcp.local., (Cache flush) SRV patrice-laptop.local.:22 0 0, (Cache flush) TXT "", PTR _udisks-ssh._tcp.local. (855)

Ok , parfait mon laptop envoit les infos, mais faisons maintenant l'inverse, on lance la commande tcpdump sur le portable, et on relance avahi daemon sur le pc de bureau... et ba rien n'apparaissait...

J'ai donc prospecté, et j'ai appris que la version du pilote donné dans rpmfusion n'est pas patché pour corriger le souci. Alors on va palier le souci le temps que l'auteur (que j'ai prévenu) fasse la correction.

Tout d'abord, on récupère le pilote broadcom:

#on va utiliser un répertoire pour notre compilation
mkdir ~/broadcom
cd ~/broadcom

#les sources du  module pour 64 bits
wget http://www.broadcom.com/docs/linux_sta/hybrid-portsrc_x86_64-v5_100_82_38.tar.gz
tar zxf hybrid-portsrc_x86_64-v5_100_82_38.tar.gz

#pour les 32 bits utilisez ceci:
#wget http://www.broadcom.com/docs/linux_sta/hybrid-portsrc_x86_32-v5_100_82_38.tar.gz
#tar zxf hybrid-portsrc_x86_32-v5_100_82_38.tar.gz

#on récupère le patch
wget http://www.broadcom.com/docs/linux_sta/5_100_82_38.patch
patch -p0 < 5_100_82_38.patch

A partir de là, vous avez les sources prêtes à être compilées.

Et bien allons-y, on compile:

make

Maintenant que ça a compilé, et seulement si ça a compilé, on va supprimer le paquet kmod-wl et virer le module:

su -lc "rmmod wl; yum remove kmod-wl -y"

Et enfin, on va installer le module que nous avons compilé:

su -c "make install && insmod wl.ko"

Normalement, votre connexion va se relancer et vous aurez le wifi qui marchera... notez que vous devrez pour le moment refaire la manipulation de compilation à chaque fois que vous mettrez à jour votre noyau.

Ainsi j'ai enfin eut mon réseau qui troune avec "mdns" (donc avahi en fait) et je peux pinger, me connecter ou lister tous les postes de mon réseau sans connaitre leur ip :)" class="smiley Désolé mais j'adore.

Bon j'espère que le mainteneur du paquet kmod-wl a lut mon message... car c'est pas marrant pour tout le monde de devoir se compiler soit même un pilote... Quoique la méthode est pas si complexe...

Pourquoi Google+ ne s’imposera pas.

Sébastien Natroll Impatient, j’étais, lorsque j’ai reçu mon invitation Google+. Curieux, comme d’habitude, avec ma petite idée derrière la tête. Une invitation après, j’ai eu la confirmation. Je ne vous présenterai pas Google+, je laisse ça à ceux qui m’ont devancé : Korben, entre autres. À l’heure où j’écris ces lignes, je ris. Pourquoi ? Parce que La suite >

mise en place de redirection NAT avec IPtables pour Virtualmin

Antoine Wallon voici les règles IPtables qui permettront de créer une machine virtuel avec Virtualmin naté   #!/bin/sh # ip publique WAN=88.88.88.88 #ip nat de virtualmin VIRTUALMIN=192.168.122.197 iptables -t nat -I PREROUTING -p tcp -d $WAN/24 –dport 80 -j DNAT –to-destination $VIRTUALMIN:80 iptables -t nat -I PREROUTING -p tcp -d $WAN/24 –dport 22 -j DNAT –to-destination $VIRTUALMIN:22 [...]

(Dé)Génération Kikoolol.

Sébastien Natroll Il fut un temps où Internet, nouvellement conquise, était une terre paisible où il faisait bon vivre. Le web français tout entier écrivait en bon français. Tout entier ? Non, car un petit groupe d’utilisateurs à la croissance exponentielle résistait encore et toujours aux règles fondamentales de la langue française, vénérées par Bernard Pivot. Ce La suite >

Connexion SSH à travers un Proxy Web

Edouard Bourguignon

Il est possible de faire passer une connexion SSH à travers un proxy web du moment que celui-ci autorise la méthode CONNECT. Cette méthode est utilisée lors des connexions HTTPs par exemple et sert à établir un tunnel HTTP. Il est de ce fait assez courant qu'un proxy (ou serveur mandataire) laisse passer ce genre de communication. Tant mieux car c'est ce que nous allons utiliser.

Pour nous faciliter cette tâche, il existe un utilitaire qui s'occupe d'établir une fausse connexion HTTP entre votre machine et la machine distante. Car un proxy n'est juste qu'un relai, entre une machine sur le réseau local qui demande une requête HTTP, et le serveur distant. Ce logiciel demande donc à notre proxy web, s'il peut se connecter à la machine distante pour communiquer avec elle. Le serveur proxy s'exécute en pensant qu'il va s'agir d'une communication HTTPs, notre logiciel communique donc maintenant avec la machine distante et passe maintenant le relai à la commande ssh. Cet utilitaire s'appelle "corkscrew" (tire-bouchon en anglais), son site officiel est ici.

corkscrew

L'avantage de cette méthode, c'est que la machine distante n'a pas à avoir de configuration spécifique. Le seul problème est quand le proxy web n'est pas autorisé à joindre le port 22 (ssh) sur une machine distante, car c'est assez rare que des machines s'échangent des données en HTTP avec ce port. Dans ce cas, il suffit soit de faire une redirection de port sur la machine distante (ip proxy => port 443 => port 22/ssh), soit de lancer le démon ssh en écoute sur un autre port. Il suffira de choisir le port 443 qui correspond habituellement au HTTPs pour être tranquille avec ce genre de filtrage.

Comment parler à votre proxy

Pour tester votre proxy:

[tipiak@client ~]$ nc proxy.reseau.local 3128
CONNECT serveur.distant.com:22 HTTP/1.1
Host: serveur.distant.com:22 (appuyer sur entrée 2 fois)
....
blabla...
Access Denied
...

Si le proxy vous répond par une page html, comme quoi vous n'avez pas acces, c'est donc que les communications vers le port 22 sont interdites. Restera la méthode vers le port 443 qui sera en fait redirigé vers votre démon ssh:

[tipiak@client ~]$ nc proxy.reseau.local 3128
CONNECT serveur.distant.com:443 HTTP/1.1
Host: serveur.distant.com:443

HTTP/1.0 200 Connection established

Voilà, c'est mieux.

Configuration du client SSH

La configuration du client SSH permet d'indiquer une commande qui sert à établir une connexion à un intermediaire. C'est avec ce paramètre que nous allons indiquer qu'il faille utiliser corkscrew. Soit vous modifier la configuration du client ssh sur la machine de manière globale, et donc toutes les connexions ssh passeront par corkscrew, soit vous utilisez un fichier de configuration annexe qui sera utilisé au cas par cas. Le fichier de configuration du client est /etc/ssh/ssh_config. Pour avoir la manière globale suffit de le modifier directement, sinon il faut le copier dans un autre fichier (par exemple cp /etc/ssh/ssh_config ~/corkscrew.conf).

Pour utiliser corkscrew, il faut ajouter cette ligne:

# remplacer proxy.reseau.local par l'adresse du proxy
# remplacer 3128 par le port du proxy
ProxyCommand /usr/local/bin/corkscrew proxy.reseau.local 3128 %h %p

L'appel à la commande "ssh serveur.distant.com" sera donc remplacé par "/usr/local/bin/corkscrew proxy.reseau.local 3128 serveur.distant.com 22", dans le cas de la configuration globale. Si vous avez opté pour la manière au cas par cas, il faut indiquer à la commande ssh notre fichier de configuration spécifique:

ssh -f ~/corkscrew.conf toto@serveur.distant.com

Si comme expliquez plus haut, le port 22 est interdit, on précisera le numero de port distant (ici 443):

ssh -f ~/corkscrew.conf toto@serveur.distant.com -p443

Et voilà.

Configuration éventuelle du serveur SSH

Cette configuration n'intervient que si le port 22 par défaut pour le protocole SSH est interdit par le serveur proxy. Il existe 2 méthode pour utiliser un autre port pour votre serveur SSH:

  • Associer le démon sur un autre port pour l'écoute en plus du port 22
  • Utiliser le pare-feu pour rediriger un flux vers le port 22

Associer le démon ssh au port 443

Il faut editer le fichier /etc/ssh/sshd_config et s'assurer d'avoir les lignes suivantes:

Port 22
Port 443

Il ne reste plus qu'à relancer le service sshd:

[root@serveur ~]# service sshd restart

Rediriger la connexion vers le port 22

Cette méthode est plus complexe mais si vous avez déjà un serveur web en HTTPs sur votre serveur distant vous n'aurez pas trop le choix. Pour cela on rajoute une configuration dans le pare-feu:

*nat
:PREROUTING ACCEPT [7:913]
:POSTROUTING ACCEPT [1:83]
:OUTPUT ACCEPT [1:83]
# Requetes entrantes
-A PREROUTING -s <IP PUBLIQUE DU PROXY> -p tcp -m tcp --dport 443 -j DNAT --to-destination <IP PUBLIQUE DU SERVEUR>:22
# Requetes sortantes
-A POSTROUTING -s <IP PUBLIQUE DU SERVEUR> -p tcp -m tcp --sport 22 -d <IP PUBLIQUE DU PROXY> -j SNAT --to-source <IP PUBLIQUE DU SERVEUR>:443
COMMIT
*filter
[...]
# HTTPS
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
[...]

Cette configuration se fait dans le fichier /etc/sysconfig/iptables associée au service iptables (à relancer après les modifications). Ceci est bien sûr un exemple, qu'il faudra adapter.

Autres méthodes

Il existe d'autres utilitaires que corkscrew, comme hts ou httptunnel (cf billet du blog de Nicolargo). Les man-pages de ssh_config semble aussi nous indiquer que c'est possible avec netcat/nc.

L'ultime solution, si le proxy n'accepte pas les tunnels HTTP, reste l'utilisation d'un shell dans une page web, avec l'excellent AjaxTerm (attention à la sécurité).

Définir un VLAN

Edouard Bourguignon

Configuration d'un VLAN sur une RedHat/CentOS/Fedora.

La configuration réseau se trouve dans le répertoire /etc/sysconfig/network-scripts.

Ceci est un exemple pour une carte réseau (eth0) reliée à un VLAN x par défaut (pvid) et à un VLAN 10. Sur ces deux VLANs, un serveur DHCP fournit les adresses IP de manière dynamique.

La configuration de l'interface eth0 ne change pas d'une configuration classique. Le fichier /etc/sysconfig/network-scripts/ifcfg-eth0 contient les lignes suivantes:

DEVICE=eth0
BOOTPROTO=dhcp
DHCPCLASS=
HWADDR=00:21:5E:2D:BF:2F
ONBOOT=yes
DHCP_HOSTNAME=casimir.in.domaine.net

Ensuite pour définir un VLAN c'est simple, il suffit de configurer une interface eth0.10 (pour le VLAN id 10). Le fichier /etc/sysconfig/network-scripts/ifcfg-eth0.10 va donc être créée dans ce but, avec le contenu suivant:

VLAN=yes
DEVICE=eth0.10
BOOTPROTO=dhcp
ONBOOT=yes

Il suffit ensuite de relancer le service network:

[root@casimir] # service network restart

Les scripts de montage et démontage des interfaces s'occuperont de configurer le VLAN, s'appuyant sur la commande vconfig et le module noyau 8021q (les VLANs Ethernet sont issus de la norme 802.1q).