Catégories
Reseau Web

Geolocalisation par adresse IP

La geolocalisation (ou tracking) IP consiste à obtenir la localisation d’une machine à partir de son adresse IP. On trouve facilement des sites permettant de déduire le pays d’origine à partir de l’adresse IP (mais une simple commande en ligne whois le fait aussi). Par contre, il est très difficile (voir impossible) de trouver des sites proposant gratuitement une localisation précise (type GPS).

GM

J’ai donc regardé du coté des forums US et je suis tombé sur le site NetGeo. Ce dernier propose une base de donnée librement accessible par simple requête HTTP.

Exemple sur l’adresse IP du site google.fr:

http://netgeo.caida.org/perl/netgeo.cgi?target=216.239.59.104

VERSION=1.0
TARGET: 216.239.59.104
NAME: GOOGLE
NUMBER: 216.239.32.0 – 216.239.63.255
CITY: MOUNTAIN VIEW
STATE: CALIFORNIA
COUNTRY: US
LAT: 37.41
LONG: -122.08

LAT_LONG_GRAN: City
LAST_UPDATED: 11-May-2001
NIC: ARIN
LOOKUP_TYPE: Block Allocation
RATING:
DOMAIN_GUESS: google.com
STATUS: OK

Il est alors très simple de localiser cette adresse sur une Google Map.

J’ai écris un script PHP Geolocip permettant de faire automatiquement une geolocalisation d’une adresse IP ainsi que la génération de l’URL vers Google Map.

PS: La base de donnée NetGeo n’est malheureusement plus mise à jour… si vous avez d’autres solutions, je suis très intéressé !

Catégories
Open-source Reseau Systeme

MacFUSE et SSH

MacFuse vient d’être mis à jour pour Mac OS 10.5 (Leopard). Cette application permet, entre autre, de « monter » (mount) simplement un répertoire distant en utilisant le protocole sécurisé SSH. Il est donc possible de parcourir l’arborescence d’un disque distant simplement en ayant le port TCP/22 (SSH) ouvert entre les machines.

J’avais écris il y a quelque temps un post sur MacFusion, une interface graphique pour manager le couple MacFuse+SSH. Nous allons ici nous focaliser sur l’installation de MacFuse et du module SSHfs ans passer par cette interface graphique.

Téléchargement des logiciels

Il faut se rendre sur le site suivant et télécharger MacFuse et SSHFS.

Installation des logiciels

L’installation de MacFUSE comme celle de SSHfs sont triviales. Il suffit de suivre les wizards.

Exemple d’utilisation

Imaginons que l’on veuille parcourir le disque de la machine 192.168.29.1 se trouvant sur notre réseau. La première chose à vérifier est que cette machine dispose d’un serveur SSH (sshd sous Linux) et d’un compte (login/password).

Avant la première connexion, il faut ouvrir un terminal et lancer la commande suivante:

# ssh -2 root@192.168.29.1

Celle-ci va permettre de récupérer la clès de chiffrement qui sera utilisé entre les deux machines (cette opération est donc seulement à fair eune fois).

Ensuite, il suffit de lancer le programme SSHFS.app

Une fenêtre s’ouvre pour saisir l’adresse du serveur (IP ou nom host), le login et éventuellement le répertoire distant.

Puis le mot de passe correspondant à votre login.

Si le montage se passe sans probème, un nouveau volume devrait apparaitre dans le Finder:

Vous pouvez également vérifier que le montage s’est bien déroulé en tapant la commande suivante:

# mount

sshfs#root@192.168.29.1: on /Volumes/192.168.29.1 (fusefs, nodev, nosuid, synchronous, mounted by hennionn)

Il ne vous reste plus qu’a parcourir, copier, effacer… enfin faire ce que vous voulez sur le disque distant avant de démonter le disque (ALT-E ou par un copier glisser dans la corbeille du disque).

Catégories
Open-source Reseau

Installation de Xorp sur Linux

Xorp logo Xorp est une couche de routage réseau open-source… Distribuée sous licence BSD, il implémente des mécanismes de routage IPv4 et IPv6 en unicast et multicast. Le principal avantage de Xorp est sa modularité qui permet de tester simplement de nouveaux protocoles de routage mettant souvent un certain temps avant d’être intégrés dans les noyaux Linux ou BSD.

Actuellement, Xorp supporte les protocoles de routage suivants:

  • Unicast:
    • RIP v2 en IPv4, ng en IPv6
    • BPG en IPv4 et IPv6
    • OSPF v2 et V3 en IPv4 et IPv6
  • Multicast:
    • PIM-SM IPv4 et IPv6
    • IGMP v1,v2,v3 en IPv4
    • MLD v1 et v2 en IPv6

Xorp est disponible sous BSD (FreeBSD, OpenBSD, NetBSD, Mac OS X) et Linux. Il existe même des portages sous Windows 2003 server mais seulement avec une compatibilité IPv4.

Nous allons dans ce premier billet sur le sujet installer Xorp sur une distribution Linux Ubuntu et mettre en place une configuration basique.

Installation de Xorp depuis les sources

J’ai choisi cette méthode car même si ce n’est pas la plus facile, elle permet de disposer de la dernière version disponible de Xorp.

# export CVSROOT= »:pserver:xorpcvs@anoncvs.xorp.org:/cvs »
# cvs login
– entrer un mot de passe vide
# cvs checkout xorp
# cd xorp
# ./configure
# make

PS: sur d’autres distribution (Linux ou BSD), il faut utiliser gmake à la place de make.

Validation de l’installation:

# make check
– Attention, ce test dure un long moment…

Configuration initiale

Nous allons dans un premier temps configurer Xorp avec une configuration très simple: la déclaration de deux interfaces réseaux. La première (eth0 dans mon cas) récupèrera sa configuration depuis le système (grâce à la commande default-system-config). La deuxième (eth1) est configurée de manière statique avec l’adresse 192.168.0.1.

# cd rtrmgr
# vi config.boot
interfaces {
interface eth0 {
disable: false
default-system-config
}
interface eth1 {
disable: false
vif eth1 {
address 192.168.0.1 {
prefix-length: 24
}
}
}
}

Lancement de xorp

# sudo ./xorp_rtrmgr

Pour accèder au shell (CLI) de Xorp:

# ./xorpsh

On vérifie alors que Xorp à bien pris en compte notre configuration des deux interfaces avec la commande suivante:

/> show interfaces
eth0/eth0: Flags: mtu 1500
inet6 fe80::204:75ff:fefe:68a3 prefixlen 64
inet 192.168.29.125 subnet 192.168.29.0/24 broadcast 192.168.29.255
physical index 3
ether 0:4:75:fe:68:a3
eth1/eth1: Flags: mtu 1500
inet 192.168.0.1 subnet 192.168.0.0/24 broadcast 192.168.0.255
physical index 2
ether 0:f:fe:77:2a:8b

Ajout d’une route statique

Pour ajouter une route statique dans Xorp, rien de plus simple:

# vi config.boot

static {
route 10.20.0.0/16 {
next-hop: 10.10.10.20
metric: 1
}
}

Dans cet exemple on dit à Xorp que pour joindre le réseau 10.20.0.0/16, il doit utiliser la passerelle 10.10.10.20.

Et maintenant on ajoute le routage

Pour ajouter un routage unicast IPv4 entre ces deux interfaces, il faut éditer le fichier de configuration et y ajouter:

# vi config.boot

fea {
unicast-forwarding4 {
disable: false
}
}

Et le multicast et les protocoles de routage dynamiques dans tout ça ? la suite dans un prochain épisode…

Catégories
Open-source Reseau

Installation de Zabbix sur Linux

Zabbix un un outil de monitoring système et réseau. Contrairement à des systèmes comme Nagios ou Cacti, il fonctionne seulement en mode client/serveur. C’est à dire que l’architecture se base sur un serveur (zabbix_server) qui va demander des informations à des clients (zabbix_agent). Nous allons dans ce billet détailler l’installation de Zabbix sur une distribution Linux Ubuntu.

Installation de Zabbix serveur

J’ai ici choisi de faire une installation depuis les sources, histoire d’avoir plus rapidement la dernière version, mais si vous préférez, il existe des versions pré-compilée pour Ubuntu 6.10.

Pré-requis au niveau des librairies de developpement:

# sudo apt-get install libsnmp-dev libcurl4-gnutls-dev libmysqlclient15-dev

Récupération des sources sur la page suivante puis compilation:

# tar zxvf zabbix-1.4.2.tar.gz
# cd zabbix-1.4.2
# ./configure –enable-server –with-mysql –with-net-snmp –with-libcurl
# sudo make install

Configuration de la base de donnée MySQL locale (il vous faut donc un serveur MySQL installé accessible avec le login/password: username/password).

# mysql -u -p

mysql> create database zabbix;
mysql> quit;
# cd create/schema
# cat mysql.sql | mysql -u root -p zabbix
# cd ../data
# cat data.sql | mysql -u
root -p zabbix # cat images_mysql.sql | mysql -u root -p zabbix

Création des fichiers de configuration:

# sudo mkdir /etc/zabbix
# sudo cp misc/conf/*.conf /etc/zabbix/
# vi /etc/zabbix/zabbix_server.conf

DBHost=localhost
DBUser=username
DBPassword=password

Création de l’interface Web:

# sudo mkdir /var/www/zabbix
# sudo cp -rf ./frontends/php/* /var/www/zabbix/
# vi /etc/php5/apache2/php.ini
max_execution_time = 300
date.timezone = Europe/Paris
# apache2ctl restart

Lancement du serveur:

# /usr/local/sbin/zabbix_server

En cas de problème, le serveur génère des logs dans le fichier /tmp/zabbix_server.log.

Se connecter à l’interface Web: http://localhost/zabbix/

Puis suivre le wizard de configuration:
Introduction – Next
Licence – I agree / Next
Pre-requisites – Verifier que tout est OK puis Next
Configure DB – Saisir username/password MySQL, test OK puis Next
Pre-installation summary – Next
Install – Cliquer sur le bouton « Save configuration file » et télécharger manuellement le fichier zabbix.conf.php dans le répertoire /var/www/zabbix/conf puis cliquez sur Next

Si l’installation se passe sans problème vous devriez être redirigé vers la page d’authentification du serveur Zabbix (login: admin / password: ).

Installation du client Zabbix

Cette installation est à faire sur toutes les machines à surveiller. L’agent (le client) Zabbix existe pré-compilé sur de nombreux OS (Linux Ubuntu / Fedora, FreeBSD, Windows…).

Par exemple pour installer l’agent Zabbix sur une machine Linux Ubuntu, il suffit de faire:

# sudo apt-get install zabbix_agent

Il faut ensuite configurer les fichiers zabbix_agent.conf et zabbix_agentd.conf:

# sudo vi /etc/zabbix/zabbix_agent.conf

Server=adresse IP du serveur Zabbix

# sudo vi /etc/zabbix/zabbix_agentd.conf

Server=adresse IP du serveur Zabbix

Puis lancer le client:

# sudo /etc/init.d/zabbix-agent start

Pour installer un agent Zabbix sous Windows, il suffit de récupérer le binaire sur le site, de décompresser l’archive (via WinRAR) à la racine de votre disque c: et de créer un fichier c:\zabbix_agent.conf contenant la ligne suivante:

Server=adresse IP du serveur Zabbix

Puis de lancer l’exécutable c:\bin\win32\zabbix_agentd.exe

Configuration initiale de Zabbix

La première chose à faire une fois logué dans l’interface Web du serveur est de cliquer sur le lien Profile (en haut à droite) afin de modifier le mot de passe et la langue (Zabbix est traduit en Français).

Ensuite il faut ajouter des machines à surveiller (les machines ou l’on a installé le client Zabbix). Il faut donc se rendre dans le menu Configuration/Hôtes et cliquer sur le bouton Create Host (comme quoi il reste des choses à traduire…). Saisir les informations sur la machine (nom, adresse, …).

Vous pouvez consulter la documentation , le wiki ou le forum pour aller plus loin.

Catégories
Open-source Reseau Web

Mise en place d’une blacklist sur Squid

Squid est le plus connu des proxy Web open-source. Une fois installé, un proxy Web permet de filtrer/optimiser/loguer les accès Internet (HTTP ou FTP) issues de votre réseau. Une des fonctions les plus souvent demandée à un administrateur est d’interdire l’accès à certaines catégories de sites (porno, violent, messagerie personnelle…). Squid répond à ce besoin grâce à SquidGuard.

Voici deux schémas fonctionnels expliquant le fonctionnement de SquidGuard:

Squidguard OKSquidGuard NOK

Installation de SquidGuard

Afin de disposer de la dernière version (1.3 au moment de l’écriture de ce billet), il est préférable de compiler SquidGuard depuis les sources. Une fois récupérées, on lance la célèbre séquence:

# tar zxvf squidGuard-1.3.tar.gz
# ./configure
# make
# sudo make install

SquidGuard utilise une base de donnée contenant la liste des sites classées par thèmes. Afin de maintenir cette base à jour, le plus simple est d’écrire un shell script qui sera lancé automatiquement toutes les nuits (par exemple par crontab). Voici un exemple de script (à adapter selon votre configuration):

#!/bin/sh

blacklisturl=ftp://ftp.univ-tlse1.fr/pub/reseau/cache/squidguard_contrib/blacklists.tar.gz
blacklistfile=blacklists.tar.gz
blacklistdir=/var/db

echo « Download from $blacklisturl »
fetch -q -o /tmp/$blacklistfile $blacklisturl

if [ -r $gzdir/$rules ]; then
echo « Update the database »
cd $blacklistdir
tar zxvf /tmp/$blacklistfile 2>&1 > /dev/null
chown -R www:www blacklists
cd –
echo « Restart Squid »
squid -k reconfigure
echo « Done… »
exit
fi

J’utilise personnellement une base de donnée mise à disposition sur le serveur FTP de l’université de Toulouse.

Remarque: Il faut lancer ce script avant la première utilisation de SquidGuard.

Configuration de SquidGuard

La configuration se fait via un seul fichier: SquidGuard.conf

Voici un exemple de configuration qui interdit l’accès aux sites pornos:

logdir /usr/local/squid/logs
dbhome /var/db/squidGuard

dest porn {
domainlist porn/domains
urllist porn/urls
}

acl {
default {
pass !porn all
redirect http:/localhost/filtered.html
}
}

Des configurations simples ou plus complexes sont disponibles sur le site officiel.

Configuration de Squid pour utiliser SquidGuard

La dernière étape consiste à configurer Squid pour qu’il utilise le système de filtrage de SquidGuard. C’est là aussi très simple:

# vi squid.conf

redirect_program /usr/local/bin/squidGuard -c /usr/local/squid/squidGuard.conf

# squid -k reconfigure

Il ne vous reste plus qu’à tester votre tout nouveau système de filtrage en essayant d’accèder à un site interdit (vous pouvez voir la liste dans le fichier /var/db/squidGuard/porn/domains) depuis un navigateur Web configuré pour utiliser votre proxy Squid. Si cela marche vous serez automatiquement redirigé vers la page http://localhost/filtered.html.

Catégories
Open-source Reseau

Upgrader Cacti en version 0.8.7d

Une nouvelle version de Cacti vient d’être publiée (version marquée 0.8.7d), les améliorations sont décrites ici. Voici donc un tutoriel pour mettre à jour votre Cacti dans cette nouvelle version.

Télécharger la dernière version de cacti sur le site Web:

# cd /tmp
# wget http://www.cacti.net/downloads/cacti-0.8.7d.tar.gz
# tar zxvf cacti-0.8.7d.tar.gz

Archiver l’ancienne version (le répertoire /usr/share est le répertoire racine de cacti sous Fedora, il peut changer sur d’autres distributions):

# cd /usr/share
# mv cacti cacti.old
# mv /tmp/cacti-0.8.7d .
# ln -s cacti-0.8.7d cacti

Il faut ensuite éditer le fichier ./cacti/include/config.php et reproduire la configuration de la base de donnée MySQL qui se trouve dans l’archive ./cacti.old/include/config.php ou ./cacti.old/include/db.php (selon les versions).

# vi ./cacti/include/config.php
$database_type = « mysql »;
$database_default = « cacti »;
$database_hostname = « localhost »;
$database_username = « cactiuser »;
$database_password = « cactiuser »;
$database_port = « 3306 »;

Il ne reste plus qu’a récupérer les archives RRA, les scripts et les ressources depuis l’ancienne version et changer les droits d’accès comme ils étaient sur l’ancienne version:

# cp cacti.old/rra/* cacti/rra/
# cp -u cacti.old/scripts/* cacti/scripts/
# cp -u -R cacti.old/resource/* cacti/resource/
# chown -R cactiuser cacti/rra/ cacti/log/

Enfin, vous pouvez vous rendre à l’URL suivante: (par exemple) http://localhost/cacti/

Catégories
Open-source Planet-libre Reseau

Surveiller son interface réseau avec Ntop

Ntop est une application disponible sous Unix (Linux, FreeBSD, Mac OS X) et Windows qui a pour but d’analyser en temps réel le trafic transitant par une interface réseau. Le résultat de cette analyse peut être consultée par une interface Web et un mode interactif. C’est un outil très utile pour les administrateurs réseaux ou les développeurs afin d’analyser tout problème concernant les flux IP.

Installation

Il est possible de compiler Ntop depuis les sources ou alors, plus simplement, d’installer un package pre-compilé.Par exemple sous Ubuntu:

# sudo apt-get install ntop


Lancement du daemon Ntop

Pour lancer Ntop, il faut saisir la commande suivante:

# sudo ntop -w 3000


On lance Ntop et on lui demande de créer un serveur Web sur le port 3000 (HTTP) pour afficher les résultats.Si vous avez plusieurs interfaces réseaux sur votre machine, vous pouvez utiliser l’option ‘-i interface‘ pour fixer l’interface à surveiller par Ntop.Pour changer le port utilisé par Ntop pour afficher son interface web: ‘-w port HTTP‘ ou ‘-W port HTTPS‘Pour la liste complète des options ‘man ntop‘…

Consultation des résultats

On lance un navigateur Web sur la machine ou l’on a lancé Ntop puis on entre l’URL suivante: http://localhost:3000. La page principale devrait s’afficher (qui correspond au menu Summary/Traffic).

  • On y trouve, des statistiques globales sur l’interface réseau

  • des statistiques détaillées sur l’interface réseau
  • une répartition protocolaire (par exemple entre UDP/TCP/ICMP/IGMP)

  • des graphes par type de trafic (par exemple un graphe sur le trafic HTTP)

  • un graphe résumant tout le trafic
  • et enfin la distribution par ports réseau (TCP et UDP)

En plus de cette page résumant les flux réseaux, il est possible d’avoir des informations beaucoup plus précises en se focalisant sur un protocole ou une machine. Par exemple, si vous observez un trafic broadcast ou multicast sur votre réseau, il suffit de se rendre dans le menu IP/Summary/Multicast de trier par le volume de donnée échangé (Data send) et de cliquer sur le nom de la machine. Une nouvelle page va s’afficher et vous pourrez analyser sur quel port (et donc quelle application) génère ce flux.

Note sur la sécurité

Ntop est un outil à utilisé de manière surveillé sur des réseaux à risque. En effet il est régulièrement attaqué car il proche des couches physiques (librairie de capture de flux) et qu’il fournie des informations sensibles. Je vous conseille donc de l’utiliser seulement en cas de besoin (et non pas en mode daemon avec l’option -d) et d’arrêter le processus Ntop après utilisation.

Catégories
Open-source Reseau

Surveiller vos serveurs Linux avec Nagios et NRPE

Suite à l’introduction sur les greffons Nagios, voici une simple procédure pour mettre en place le monitoring de serveurs sous Linux (voir ce billet pour des serveurs BSD ou Mac OS X) à partir de Nagios en utilisant le plugin NRPE.

Sur votre serveur Nagios…

… il faut installer le plugin NRPE. Pour cela, le plus simple est de faire confiance à votre gestionnaire de paquets.

Sous Fedora, la commande suivante devrait suffire:

# sudo yum install nagios-plugins-nrpe

Sous Ubuntu/Debian:

# sudo apt-get install nagios-nrpe-plugin

Il faut également vérifier que la définition du plugin est bien présente dans le fichier de configuration des commandes (commands.cfg):


######
# NRPE
######

# ‘check_nrpe’ command definition
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}

Sur votre serveur Linux à surveiller...

La procédure est un peu plus longue. Il faut d’abord installer le daemon NRPE et les plugins Nagios (qui vont être lancés localement par le daemon NRPE):

Sous Fedora:

# sudo yum install nrpe
# sudo yum install nagios-plugins-all

Sous Ubuntu/Debien:

# sudo apt-get install nagios-nrpe-server
# sudo apt-get install nagios-plugins

Puis éditer le fichier /etc/nagios/nrpe.cfg pour modifier la ligne suivante:


allowed_hosts = Mettre ici l’adresse IP de votre serveur Nagios

On automatise le lancement du daemon au démarrage du serveur avec la commande:

# chkconfig –add nrpe

On ajoute une règle pour autoriser le Firewall IPtable à laisser passer les requêtes NRPE (à adapter selon vos règles):

# iptables -I RH-Firewall-1-INPUT 10 -p tcp –dport 5666 -j ACCEPT
Attention il faut mettre deux – (- -) avant l’option dport

Il ne reste plus qu’à lancer le daemon:

Sous Fedora:

# service nrpe start

Sous Ubuntu/Debien:

# /etc/init.d/nagios-nrpe-server start

On teste la communication…

Pour tester que la communication entre le serveur Nagios et le serveur à surveiller se passe bien, il suffit de se rendre dans le répertoire des plugins (/usr/lib/nagios/plugins) de Nagios et de tester le plugin NRPE:

# ./check_nrpe -H Adresse_IP_du_serveur_Linux
NRPE v2.7

Si tout est OK, cette commande devrait renvoyer la version du daemon NRPE.

Vous pouvez tester directement les plugins avec la commande suivante (exemple donnée pour un check de la charge):

# ./check_nrpe -H Adresse_IP_du_serveur_Linux -c check_load

On configure Nagios…

La dernière étape consiste à modifier les fichiers de configuration de Nagios pour intégrer le monitoring du/des serveur Linux. Il faut dans un premier temps éditer votre fichier de configuration des hosts (hosts.cfg par défaut) et y ajouter votre machine Linux:

define host {
use generic-host
host_name linus
alias Ma machine Linux
address 192.168.0.7
}

Puis ajouter les services offerts par NRPE (dans le fichier services.cfg), quelques exemples:

# Charge CPU
define service{
use generic-service
host_name remotehost
service_description CPU Load
check_command check_nrpe!check_load
}

# Memoire
define service{
use generic-service
host_name remotehost
service_description Memory
check_command check_nrpe!check_mem
}

Pour ajouter des nouveaux plugins executable par NRPE, il faut éditer le fichier /etc/nagios/nrpe.cfg et ajouter une ligne par service:


command[check_disk]=/usr/lib/nagios/plugins/check_disk -w 20 -c 10 -p /dev/hda

Ne pas oublier de relancer le daemon quand on change le fichier de configuration (nrpe.cfg):

# service nrpe restart

Il est bien entendu possible d’écrire son propre plugin Nagios et de le faire exécuter par NRPE.

Catégories
Open-source Reseau

Installation de Centreon sous Ubuntu

Ce billet est obsolète. Si vous souhaitez accéder à la dernière version du tutoriel pour
« Installer Nagios 3 avec Centreon 2 » alors cliquez ici.

A la demande générale (enfin d’un lecteur…), voici la procédure pour installer Centreon (nouveau nom d’Oreon) sur la distribution Linux Ubuntu. Il y a effectivement quelques différences avec l’installation sous Fedora.

Introduction

Oreon est un logiciel libre permettant d’ajouter une couche applicative au logiciel Nagios. Oreon lui offre une nouvelle interface et lui apporte de nouvelles fonctionnalités. Il va permettre de rendre la configuration de Nagios plus facile et d’avoir une interface graphique améliorée. Les techniciens de leurs côtés auront toujours accès aux informations techniques de Nagios (Source: Wiki Centreon).
Installation du serveur MySQL et ApacheCette étape est optionnelle, vous pouvez utiliser un serveur Apache/MySQL existant. Il faut cependant vérifier que les librairies nécessaires (PHP) sont installées.

# sudo apt-get install apache2 php5

# sudo apt-get install mysql-server

# /etc/init.d/mysql reset-password

# /etc/init.d/mysql restart

# sudo apt-get install php5-mysql php5-gd php5-ldap php5-snmp

# /etc/init.d/apache2 restart

Pre-requis système

Voici une liste de librairies à installer avant Centreon:

# sudo apt-get install rrdtool

# sudo apt-get install librrds-perl

# wget http://security.ubuntu.com/ubuntu/pool/main/n/net-snmp/snmp_5.2.1.2-4ubuntu2.1_i386.deb

# sudo dpkg -i ./snmp_5.2.1.2-4ubuntu2.1_i386.deb

# sudo apt-get install mailx

# sudo apt-get install php-pear

# pear upgrade –force –alldeps PEAR-1.6.2

Installation de Centreon

Vous pouvez voir la dernière version de Centreon à l’adresse suivante: Site officiel de Centreon (download).

# wget http://download.oreon-project.org/index.php?id=65

# tar zxvf centreon-1.4.1.tar.gz# cd centreon-1.4.1/

# bash ./install.sh

Where is installed RRD perl modules (RRDs.pm) ?
Just put directory, not full path.default to [/usr/local/rrdtool/lib/perl]: /usr/lib/perl5

Where is PEAR Path ?default to [/usr/share/pear]:/usr/share/php
PEAR Path /usr/share/php/PEAR.php

Do you want to install Oreon Traps Plugins ?[y/n], default to [y]: n

Configuration de Centreon

Lors de la connexion à votre serveur via l’URL (http://localhost/oreon), vous allez être redirigé vers le wizard d’installation. Il suffit de vérifier pour chacunes des étapes que tout est OK. Pour la DB, vous pouvez utiliser les paramètres suivants si votre DB est locale:

Et voila le travail.Vous pouvez maintenant commencer à utiliser Centreon en vous rendant à l’URL: http://localhost/oreon/.

Catégories
Open-source Reseau

Surveiller vos serveurs Windows avec Nagios

Dans la longue série des billets sur Nagios, en voici un tout spécialement dédié aux lecteurs qui ont à administrer des machines sous Windows. Nous allons décrire l’installation de NSClient, un plugin permettant de récupérer un nombre important de d’informations à surveiller sur une machine Windows.

Comme les plugins NRPE et NSCA (disponible seulement sous Linux et Mac OS X), NSClient se base sur une architecture client/serveur. La partie cliente (nommée check_nt), doit être disponible sur le serveur Nagios. La partie serveur (NSClient++) est à installer sur chacune des machines Windows à surveiller.

Installation de check_nt

Il y a de forte chance que le plugin check_nt soit installé par défaut sur votre serveur Nagios. Pour le vérifier, il faut se rendre dans le répertoire Nagios ou se trouve vos plugins (/usr/lib/nagios/plugins sur Fedora).

# cd /usr/lib/nagios/plugins
# ls check_nt
check_nt

Si ce n’est pas le cas, il suffit de l’installer grâce aux commandes suivantes:

Fedora:
# sudo yum install nagios-plugins-nt

Ubuntu:
# sudo apt-get install nagios-plugins-nt

Installation de NSClient++

Remarque: cette opération est à faire sur l’ensemble des PC Windows à surveiller.

La première chose à faire est de télécharger la dernière version (0.2.5e ou supérieure) à l’adresse suivante: Sourceforge de NSClient++.

Ensuite il faut:

  • « dézipper » le client dans le répertoire c:\nsclient
  • ouvrir une commande DOS (cmd.exe)
  • puis entrer les commandes suivantes:
    • cd \nsclient
    • nsclient++ /install
  • Ouvrir le gestionnaire des services et vérifier que le service est autorisé à « Interagir avec le bureau »
  • Editer le fichier c:\nsclient\NSC.INI en:
    • décommentant tous les modules listé dans la section [modules] sauf CheckWMI.dll et RemoteConfiguration.dll
    • décommentant la ligne allowed_hosts dans la section [Settings] et en y ajoutant l’adresse du serveur Nagios.
  • puis entrer les commandes suivantes dans votre fenêtres DOS:
    • cd \nsclient
    • nsclient++ /start

Pour tester que l’installation à bien marché, le plus simple est de faire un test depuis le serveur Nagios. Pour cela, il faut:

# cd /usr/lib/nagios/plugins

# ./check_nt -H IPMACHINEWINDOWS -v CLIENTVERSION -p  12489

Si tout ce passe bien, le client doit envoyer la version de NSClient (0.2.5e)

Si cela ne fonctionne pas, il faut peut être vérifier que la requête (TCP sur port 12489) n’est pas bloqué par un Firewall.

Configuration de Nagios pour surveiller vos machines Windows

Une fois le client et le serveur installé, il faut configurer Nagios de la manière suivantes. Il faut dans un premier temps éditer votre fichier de configuration des hosts (hosts.cfg par défaut) et y ajouter votre machine Windows:

define host {
use generic-host
host_name billgates
alias Ma machine Win
address 192.168.6.66
}

Puis ajouter les services offerts par NSClient (dans le fichier services.cfg):

# Affiche la version du NSClient
define service {
use generic-service
host_name billgates
service_description VERSION
check_command check_nt!CLIENTVERSION
}

# Temps écoulé depuis le dernier reboot (uptime)
define service {
use generic-service
host_name billgates
service_description UPTIME
check_command check_nt!UPTIME
}

# Charge CPU
# WARNING si charge > 80% pendant plus de 5 minutes
# CRITICAL si charge > 90% pendant plus de 5 minutes
define service {
use generic-service
host_name billgates
service_description CPU
check_command check_nt!CPULOAD!-l 5,80,90
}

# Etat de la mémoire vive libre
# WARNING si mémoire > 80%
# CRITICAL si mémoire > 90%
define service {
use generic-service
host_name billgates
service_description MEM
check_command check_nt!MEMUSE!-w 80 -c 90
}

# Etat de la mémoire disque libre (sur disque c:)
# WARNING si mémoire > 80%
# CRITICAL si mémoire > 90%
define service {
use generic-service
host_name billgates
service_description DISK
check_command check_nt!USEDDISKSPACE!-l c -w 80 -c 90
}

Il est également possible de surveiller l’état d’un service (SERVICESTATE) ou d’un processus (PROCSTATE).