PROJET AUTOBLOG


IT-Connect

Site original : IT-Connect

⇐ retour index

Asustor : Nouveaux NAS, nouveau design

lundi 21 septembre 2015 à 15:00

Le constructeur de NAS Asustor, décidément très actif en ce moment fait encore parler de lui avec l’arrivée de deux nouveaux NAS d’entrée de gamme avec sa série 10. Cette nouvelle série bénéficie d’un nouveau design et d’un nouveau prix.

Pour ceux qui suivent la marque Asustor, vous n’êtes pas sans savoir que de manière générale le design des NAS Asustor est similaire. Aujourd’hui, Asustor veut innover et propose un nouveau design dit “plaque de diamant” que vous pouvez voir sur la photo ci-dessous.

asustor-as-10-2

Au-delà du design, il y a également des évolutions du côté hardware avec un changement d’architecture et un allègement de la connectique.

Cette nouvelle série fait place à une architecture ARM et se retrouve donc avec un processeur Dual Core Marvell ARMADA-385 cadencé à 1 GHz, accompagné par 512 Mo de RAM. Il est à noter que le chiffrement matériel AES-256 est également présent.

Pour la connectique, il y a une prise USB 3.0 à l’avant ce qui est bien pratique, et une à l’arrière, ainsi qu’une prise réseau Gigabit. Par contre, c’est tout pour la connectique donc pas de prise HDMI.

Gardez bien en tête qu’il s’agit de deux modèles d’entrée de gamme, d’ailleurs ce sont les produits AS1002T et AS1004T.

Pour les perfs, Asustor annonce 110 Mo/s en lecture et 96 Mo/s en écriture pour chacun de ces deux modèles, avec attention, une chute conséquente des perfs lors de l’activation du chiffrement : 39 Mo/s en lecture et 31 Mo/s en écriture.

Pour dire un mot sur la consommation d’énergie, voici ce qu’annonce Asustor :

AS1002T : 19,4W en fonctionnement et 6,6W en hibernation
AS1004T : 37,6W en fonctionnement et 11,5W en hibernation

Cette différence peut s’expliquer par le fait que l’AS1002T dispose de deux baies alors que l’AS1004T dispose de quatre baies. De façon générale, ces deux NAS sont annoncés comme étant silencieux.

Asustor n’a pas officialisé de prix, mais d’après les “fuites”, l’AS1002T serait aux alentours de 160€ et l’AS1004T aux alentours de 220€.

asustor-as-10-1

Centreon Enterprise Server : Cartographie avec NagVis

lundi 21 septembre 2015 à 10:30

I. Présentation

La solution de supervision Centreon Enterprise Server (CES) n’intègre pas nativement la possibilité de réaliser une cartographie de votre infrastructure. Pour répondre à ce besoin il y a plusieurs solutions, notamment d’utiliser “Centreon Map” mais vous devez disposer au minimum de la version Essentials de CES et celle-ci est payante. Si vous souhaitez utiliser la version Standard logo-centreon1(gratuite), vous pouvez vous tourner vers la solution NagVis qui est gratuite et complète. J’ajoute même que NagVis est un produit réputé.

L’objectif est de disposer d’un outil permettant de créer différentes cartes du réseau, avec dessus des points d’états quant aux hôtes et services.

Attention, ce tutoriel s’applique à la configuration de NagVis pour Centreon Enterprise Server (fonctionnel sur l’édition gratuite), si vous êtes sur une installation manuelle sous Debian il y a des différences (chemins, utilisateurs, etc.). On utilisera Nagvis 1.7.10 car la dernière version n’est pas officiellement supportée sur CES.

II. Installation de Nagvis

Avant de se lancer dans l’installation de Nagvis, installez Graphviz qui est un prérequis.

yum install graphviz

centreon-nagvis-1

Pour débuter l’installation, connectez-vous en shell sur le serveur CES et exécutez la suite de commandes suivante :

# Dossier d'installation de nagvis
cd /usr/local/
# Récupérer les sources de Nagvis
wget http://sourceforge.net/projects/nagvis/files/NagVis%201.7/nagvis-1.7.10.tar.gz/download
# Décompresser les sources de Nagvis
tar -xzvf nagvis-1.7.10.tar.gz
# Renommer le répertoire en "nagvis"
mv nagvis-1.7.10 nagvis
# Accès au répertoire de nagvis
cd nagvis/
# Exécuter le script d'installation de Nagvis
./install.sh

Maintenant, une suite d’étape va s’enchaîner pour parvenir à l’installation de Nagvis. Ci-dessous, une configuration fonctionnelle pour que ça fonctionne avec CES.

Note : Sous CES, l’utilisateur du service web est “apache” mais sous Debian il s’agira de “www-data” que vous connaissez certainement.

Lorsque aucune valeur n’est indiquée, c’est que la valeur par défaut est conservée.

+------------------------------------------------------------------------------+
| Welcome to NagVis Installer 1.7.10                                           |
+------------------------------------------------------------------------------+
| This script is built to facilitate the NagVis installation and update        |
| procedure for you. The installer has been tested on the following systems:   |
| - Debian, since Etch (4.0)                                                   |
| - Ubuntu, since Hardy (8.04)                                                 |
| - SuSE Linux Enterprise Server 10 and 11                                     |
|                                                                              |
| Similar distributions to the ones mentioned above should work as well.       |
| That (hopefully) includes RedHat, Fedora, CentOS, OpenSuSE                   |
|                                                                              |
| If you experience any problems using these or other distributions, please    |
| report that to the NagVis team.                                              |
+------------------------------------------------------------------------------+
| Do you want to proceed? [y]: y
+------------------------------------------------------------------------------+
| Starting installation of NagVis 1.7.10                                       |
+------------------------------------------------------------------------------+
| OS  : Centreon Enterprise Server                                             |
|                                                                              |
+--- Checking for tools -------------------------------------------------------+
| Using packet manager /bin/rpm                                          found |
|                                                                              |
+--- Checking paths -----------------------------------------------------------+
| Please enter the path to the nagios base directory [/usr/local/nagios]: /usr/share/centreon/
|   nagios path /usr/share/centreon/                                     found |
| Please enter the path to NagVis base [/usr/local/nagvis]:
|                                                                              |
+--- Checking prerequisites ---------------------------------------------------+
| PHP 5.3                                                                found |
|   PHP Module: gd php                                                   found |
|   PHP Module: mbstring php                                             found |
|   PHP Module: gettext compiled_in                                      found |
|   PHP Module: session compiled_in                                      found |
|   PHP Module: xml php                                                  found |
|   PHP Module: pdo php                                                  found |
|   Apache mod_php                                                       found |
| Do you want to update the backend configuration? [n]:
| Graphviz 2.26                                                          found |
|   Graphviz Module dot 2.26.0                                           found |
|   Graphviz Module neato 2.26.0                                         found |
|   Graphviz Module twopi 2.26.0                                         found |
|   Graphviz Module circo 2.26.0                                         found |
|   Graphviz Module fdp 2.26.0                                           found |
| SQLite 3.6                                                             found |
|                                                                              |
+--- Trying to detect Apache settings -----------------------------------------+
| Please enter the web path to NagVis [/nagvis]:
| Please enter the name of the web-server user [apache]:
| Please enter the name of the web-server group [apache]:
| create Apache config file [y]:
|                                                                              |
+--- Checking for existing NagVis ---------------------------------------------+
| NagVis 1.7.10                                                          found |
| Do you want the installer to update your config files when possible? [y]:
| Remove backup directory after successful installation? [n]:
|                                                                              |
+------------------------------------------------------------------------------+
| Summary                                                                      |
+------------------------------------------------------------------------------+
| NagVis home will be:           /usr/local/nagvis                             |
| Owner of NagVis files will be: apache                                        |
| Group of NagVis files will be: apache                                        |
| Path to Apache config dir is:  /etc/httpd/conf.d                             |
| Apache config will be created: yes                                           |
|                                                                              |
| Installation mode:             update                                        |
| Old version:                   1.7.10                                        |
| New version:                   1.7.10                                        |
| Backup directory:              /usr/local/nagvis.old-2015-07-30_08:58:15     |
|                                                                              |
| Note: The current NagVis directory will be moved to the backup directory.    |
|       The backup directory will be NOT removed after successful installation |
|       Your configuration files will be copied.                               |
|       The configuration files will be updated if possible.                   |
|                                                                              |
| Do you really want to continue? [y]: y
+------------------------------------------------------------------------------+
| Starting installation                                                        |
+------------------------------------------------------------------------------+
| Moving old NagVis to /usr/local/nagvis.old-2015-07-30_08:58:15..       done  |
| Creating directory /usr/local/nagvis...                                done  |
| Creating directory /usr/local/nagvis/var...                            done  |
| Creating directory /usr/local/nagvis/var/tmpl/cache...                 done  |
| Creating directory /usr/local/nagvis/var/tmpl/compile...               done  |
| Creating directory /usr/local/nagvis/share/var...                      done  |
| Copying files to /usr/local/nagvis...                                  done  |
| Creating directory /usr/local/nagvis/etc/profiles...                   done  |
| Creating main configuration file...                                    done  |
|   Adding webserver group to file_group...                              done  |
| Creating web configuration file...                                     done  |
| Setting permissions for web configuration file...                      done  |
|                                                                              |
| Restoring custom map configuration files...                            done  |
| Restoring custom geomap source files...                                done  |
| Restoring conf.d/ configuration files...                               done  |
| Restoring custom map images...                                         done  |
| Restoring custom gadget images...                                      done  |
| Restoring custom iconsets...                                           done  |
| Restoring custom shapes...                                             done  |
| Restoring custom templates...                                          done  |
| Restoring custom template images...                                    done  |
| Restoring custom gadgets...                                            done  |
| Restoring custom scripts...                                            done  |
| Restoring custom stylesheets...                                        done  |
|                                                                              |
+------------------------------------------------------------------------------+
| Handling changed/removed options                                             |
+------------------------------------------------------------------------------+
| Removing allowedforconfig option from main config...                   done  |
| Removing autoupdatefreq option from main config...                     done  |
| Removing htmlwuijs option from main config...                          done  |
| Removing wuijs option from main config...                              done  |
| Removing showautomaps option from main config...                       done  |
| Removing usegdlibs option from main config...                          done  |
| Removing displayheader option from main config...                      done  |
| Removing hovertimeout option from main config...                       done  |
| Removing allowed_for_config option from map configs...                 done  |
| Removing allowed_user from map configs...                              done  |
| Removing hover_timeout from map configs...                             done  |
| Removing usegdlibs from map configs...                                 done  |
+------------------------------------------------------------------------------+
| HINT: Please check the changelog or the documentation for changes which      |
|       affect your configuration files                                        |
|                                                                              |
+--- Setting permissions... ---------------------------------------------------+
| /usr/local/nagvis/etc/nagvis.ini.php-sample                            done  |
| /usr/local/nagvis/etc                                                  done  |
| /usr/local/nagvis/etc/maps                                             done  |
| /usr/local/nagvis/etc/maps/*                                           done  |
| /usr/local/nagvis/etc/geomap                                           done  |
| /usr/local/nagvis/etc/geomap/*                                         done  |
| /usr/local/nagvis/etc/profiles                                         done  |
| /usr/local/nagvis/share/userfiles/images/maps                          done  |
| /usr/local/nagvis/share/userfiles/images/maps/*                        done  |
| /usr/local/nagvis/share/userfiles/images/shapes                        done  |
| /usr/local/nagvis/share/userfiles/images/shapes/*                      done  |
| /usr/local/nagvis/var                                                  done  |
| /usr/local/nagvis/var/*                                                done  |
| /usr/local/nagvis/var/tmpl                                             done  |
| /usr/local/nagvis/var/tmpl/cache                                       done  |
| /usr/local/nagvis/var/tmpl/compile                                     done  |
| /usr/local/nagvis/share/var                                            done  |
|                                                                              |
+------------------------------------------------------------------------------+
| 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/share/centreon -p /usr/local/nagvis -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                                                          |
+------------------------------------------------------------------------------+

Enfin, on redémarre le service web pour terminer l’installation de nagvis :

service httpd restart

Nagvis est installé, il fonctionne en tant qu’application indépendante pour le moment. Vous pouvez vous connecter sur l’interface web (/nagvis) pour vérifier cela, il contient par défaut des cartes de démo.

Pour faire le nettoyage et supprimer ces cartes de démo, exécutez cette commande :

rm /usr/local/nagvis/etc/maps/*.cfg

III. Configurer Nagvis

Maintenant pour la configuration de Nagvis on va commencer par compléter deux étapes :

A. Connecteur Centreon-Broker

Commencez par installer Git si vous ne l’avez pas :

yum install git-core

On se positionne dans le répertoire src et on récupère une copie du connecteur sur GitHub :

cd /usr/local/src
git clone https://github.com/centreon/centreon-nagvis-backend.git

Ensuite, on copie le fichier PHP du connecteur dans le répertoire de Nagvis en lui donnant les bonnes autorisations pour l’utilisateur apache :

mv /usr/local/src/centreon-nagvis-backend/GlobalBackendcentreonbroker.php /usr/local/nagvis/share/server/core/classes/
chown apache: /usr/local/nagvis/share/server/core/classes/GlobalBackendcentreonbroker.php
chmod 664 /usr/local/nagvis/share/server/core/classes/GlobalBackendcentreonbroker.php

Passons à la suite.

B. Configurer Nagvis

Effectuez une sauvegarde du fichier de configuration de Nagvis avant modification (pensez à déplacer ce fichier de backup) :

cd /usr/local/nagvis/etc/
cp nagvis.ini.php nagvis.ini.php.bak

Editez le fichier de configuration :

vi nagvis.ini.php

Dans le fichier, indiquez cette configuration (adaptée de la configuration fournie sur le site Centreon : Nagvis conf) :

; <?php return 1; ?>
; the line above is to prevent
; viewing this file from web.
; DON'T REMOVE IT!

; ----------------------------
; Default NagVis Configuration File
; At delivery everything here is commented out. The default values are set in the NagVis code.
; You can make your changes here, they'll overwrite the default settings.
; ----------------------------

; ----------------------------
; !!! The sections/variables with a leading ";" won't be recognised by NagVis (commented out) !!!
; ----------------------------

[global]
authmodule="CoreAuthModSQLite"
authorisationmodule="CoreAuthorisationModSQLite"
dateformat="Y-m-d H:i:s"
file_group="apache"
file_mode=660
language_detection="user,session,browser,config"
language="en_US"
refreshtime=60
sesscookiedomain="auto-detect"
sesscookiepath="/"
sesscookieduration=86400
startmodule="Overview"
startaction="view"

[paths]
base="/usr/local/nagvis/"
htmlbase="/nagvis"
htmlcgi="/centreon"

[defaults]
backend="centreonbroker"
backgroundcolor="#ffffff"
contextmenu=1
contexttemplate="default"
event_on_load=0
event_repeat_interval=0
event_repeat_duration=-1
eventbackground=0
eventhighlight=1
eventhighlightduration=30000
eventhighlightinterval=500
eventlog=0
eventloghidden=1
eventscroll=1
headermenu=1
headertemplate="default"
headerfade=1
hovermenu=1
hovertemplate="default"
hoverdelay=0
hoverchildsshow=1
hoverchildslimit=10
hoverchildsorder="asc"
hoverchildssort="s"
icons="std_medium"
onlyhardstates=0
recognizeservices=1
showinlists=1
showinmultisite=1
urltarget="_parent"
hosturl="[htmlcgi]/main.php?p=20201&o=svc&host_search=[host_name]&search=&poller=&hostgroup=&output_search="
hostgroupurl="[htmlcgi]/main.php?p=20209&o=svcOVHG"
serviceurl="[htmlcgi]/main.php?p=20201&o=svcd&host_name=[host_name]&service_description=[service_description]"
servicegroupurl="[htmlcgi]/main.php?p=20212&o=svcOVSG"
mapurl="[htmlcgi]/main.php?p=403&map=[map_name]"
view_template="default"
label_show=1

[index]
backgroundcolor="#ffffff"
cellsperrow=4
headermenu=1
headertemplate="default"
showmaps=1
showgeomap=0
showrotations=1
showmapthumbs=0

[automap]

[wui]
maplocktime=5
grid_show=0
grid_color="#D5DCEF"
grid_steps=32

[worker]
interval=10
requestmaxparams=0
requestmaxlength=1900
updateobjectstates=30

[backend_centreonbroker]
backendtype="centreonbroker"
statushost=""
dbhost="localhost"
dbport=3306
dbname="centreon_storage"
dbuser="centreon"
dbpass="votre-mot-de-passe"
dbinstancename="default"
htmlcgi="/centreon"

[states]

; -------------------------
; EOF
; -------------------------

La configuration ci-dessus est fonctionnelle, seul le paramètre “dbpass” doit être modifié pour indiquer le mot de passe de votre base de données Centreon. Pour le reste, les directives sont classiques mais l’essentiel est surtout situées au niveau de quatre directives qui permettent d’indiquer vers quelle URL il faut rediriger dans l’interface de Centreon lorsque l’on clic sur un objet (hôte, service).

Vous pouvez adapter ces liens, il suffit d’aller dans l’interface de Centreon et de regarder l’URL qui apparaît lorsque l’on choisit un affichage particulier, de copier ce lien et de l’adapter avec les variables dans Nagvis [host_name] – [service_description].

On a également définit le Centreon-Brocker come backend par défaut dans Nagvis avec la directive “backend“.

IV. Installer l’extension centreon-nagvis

Dans cette quatrième étape, nous allons intégrer Nagvis à Centreon par l’intermédiaire d’une extension gratuite. Comme nous sommes sous CES, on peut directement installer l’extension “centreon-nagvis” depuis les dépôts par l’intermédiaire de yum :

yum install centreon-nagvis

Note : Sous Debian, les sources de l”extension doivent être téléchargées manuellement.

centreon-nagvis-3

L’installation est téléchargée mais elle n’est pas pour autant installée. Pour réaliser l’installation, connectez-vous sur l’interface de Centreon, allez dans “Administration” puis “Extensions“. Une extension nommée “centreon-nagvis” doit apparaître, cliquez tout à droite sur le bouton pour installer le module.

centreon-nagvis-5

Tout simplement, cliquez sur le bouton “Installer le module“.

centreon-nagvis-6

Le message “Module installé et enregistré” doit apparaître.

centreon-nagvis-7

Dans “Administration” vous avez désormais un nouvel onglet nommé “Nagvis” disponible. Accédez à cet onglet.

centreon-nagvis-10

La configuration doit être éventuellement modifiée uniquement au niveau “Nagvis authentication” car il y a deux modes disponibles :

Tout simplement on utilise un compte créé directement dans l’application Nagvis, à savoir “admin” par défaut mais on va plutôt définir un utilisateur spécifique avec uniquement un accès en lecture seule.

Ce mode permet de gérer le multi-utilisateurs en associant un utilisateur Centreon à un utilisateur Nagvis, ceci permet de gérer différents niveaux de droits.

Dans le cadre de ce tutoriel, indiquez “centreon_nagvis” dans l’interface Centreon et laissez le mode “Single User“. Il faut par contre qu’on le crée dans l’interface de Nagvis.

Connectez-vous sur l’interface (http://serveur/nagvis) et dans le menu cliquez sur “Menu personnel” et “Gérer les utilisateurs“. Dans la zone “Créer un utilisateur”, indiquez “centreon_nagvis” et choisissez un mot de passe. Cliquez sur “Créer un utilisateur“.

centreon-nagvis-11

Ensuite, dans la zone “Modifier un utilisateur“, choisissez celui que l’on vient de créer. Sur la gauche cliquez sur “Users (read-only)” et cliquer sur la flèche pour le déplacer vers les rôles sélectionnés. Cliquez sur “Modifier un utilisateur“.

centreon-nagvis-12

La configuration de Nagvis est terminée, l’intégration à CES également. Il ne reste plus qu’à créer votre carte, pour cela il faut apprendre à manipuler l’interface de Nagvis et quelques paramètres de base mais ce n’est pas l’objet de ce tutoriel.

Dans l’interface de Centreon, dans “Vues” et “Nagvis” vous pourrez visualiser vos cartes.

V. Erreur accès onglet “Nagvis”

Lorsque vous accéderez pour la première fois à l’onglet “Vues” et “Nagvis” pour visualiser votre carte, vous pourrez obtenir le message d’erreur comme ci-dessous. Il s’agit d’une erreur de configuration, que nous allons corriger.

Error: (0) strftime(): It is not safe to rely on the system’s timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected ‘Europe/Berlin’ for ‘CEST/2,0/DST’ instead (/usr/share/centreon/GPL_LIB/Smarty/libs/Smarty_Compiler.class.php:400)

centreon-nagvis-8

L’objectif est d’ajouter un fuseau horaire dans la configuration de PHP, pour cela éditez le fichier “/etc/php.ini” et décommentez la ligne 946 (supprimer le point-virgule). Ajoutez ensuite la timezone que vous souhaitez, pour l’Europe indiquez “Europe/Paris” comme ceci :

centreon-nagvis-9

Il ne reste plus qu’à redémarrer le service httpd :

service httpd restart

VI.  Créer une carte Nagvis

Avant de vous laisser dans le grand bain avec Nagvis entre les mains, voici rapidement comment créer une carte.

Connectez-vous sur Nagvis, et dans le menu cliquez sur “Options” et “Gérer les cartes“.

Remplissez la zone “Créer une carte” et cliquez sur “Créer“, votre carte est créée et prête à être construite !

centreon-nagvis-13

Il est à noter que pour le moment Nagvis ne supporte pas l’automap avec Centreon, c’est à dire le fait de générer automatiquement la carte selon votre configuration de Centreon. En espérant que cette fonctionnalité finisse par arriver.

Pour le fond de carte, il est astucieux d’utiliser un schéma de votre réseau (réalisé avec un outil comme Visio) et ensuite placez les icônes d’état sur ce schéma.

Microsoft crée SA distribution Linux !

lundi 21 septembre 2015 à 10:00

Dans l’objectif de renforcer son offre cloud Azure, Microsoft a développé sa propre distribution Linux baptisée “Azure Cloud Switch”.

logo-azure3C’est par l’intermédiaire d’un article de Kamala Subramaniam, architecte chez Azure Networking, que Microsoft a annoncé la nouvelle.

Cette distribution a pour objectif de faire tourner des périphériques réseau comme des switchs, pour un réseau géré directement au niveau de la couche logicielle.

La hache de guerre entre Microsoft et le monde Linux semble bel et bien enterrée, et c’est surement mieux pour tout le monde. Ce n’est pas d’aujourd’hui que Microsoft se rapproche de Linux puisque depuis plusieurs années déjà, Microsoft contribue au noyau Linux de manière importante.

Auto-hébergement et synchronisation : Problème d’URL

vendredi 18 septembre 2015 à 12:15

I. Présentation

L’auto-hébergement, notamment pour les solutions de stockage de fichiers de type “Cloud” est aujourd’hui assez répandue. Nous sommes nombreux à mettre en place, sur des Raspeberry Pi ou des NAS des solutions telles qu’Owncloud, CozyCloud ou Pydio pour se passer des services de géants tels que Microsoft ou Google, trop regardant sur nos données personnelles.

Si c’est votre cas et que votre solution est hébergée chez vous, vous avez sûrement rencontré le même problème que moi :

Lorsque vous êtes à l’extérieur de votre LAN, vous ciblez avec votre client de synchronisation une IP publique fixe, ou un système DynDNS, ou encore des systèmes DNS fournis par les constructeurs de NAS de type MyQNAPCloud.com ou Synology.me. Ceux-ci permettent, via la création d’un compte, d’avoir un système proche de celui du DynDNS afin de joindre son NAS a travers une IP publique dynamique

Cependant lorsque vous rentrez chez vous, vous souhaitez alors joindre votre NAS/ RaspberryPi avec son IP interne et non plus le système DynDNS ou le système DNS de votre NAS, c’est là qu’un problème se pose car il est difficile de changer dynamiquement la configuration du client de synchronisation à chaque fois

Nous allons donc voir ici ensemble une solution de contournement à ce problème basée sur un petit (vraiment petit) script.

Ce tutoriel a été réalisé avec l’environnement suivant :

Le but est alors le suivant :

Pour plaire à tout le monde, je vais bien entendu vous proposer le même système à la fois sous Linux et sous Windows. Il est à noter que selon votre contexte, il sera à adapter. Si vous utilisez le système Synology plutôt que QNAP par exemple.

Il faut savoir que pour savoir si je suis dans mon LAN ou non, je me base sur la présence d’une page web, celle-ci doit donc être unique à votre LAN. Ce n’est en soit pas très difficile à faire. Positionnez par exemple une page http://IPserveur/32542354254287425772.html sur votre serveur afin d’être certains que vous ne la trouverez dans aucun autre environnement. Pour ma part, je vise simplement la page d’accueil de mon NAS QNAP (son IP est 192.168.1.2 en local). Voici le déroulement du script :

auto-hebergement-probleme-url-01
Ce script sera donc exécuté à chaque démarrage, par exemple 2 minutes après le boot pour nous laisser le temps de trouver une IP et un accès au réseau. Ainsi, on pourra dynamiquement changer l’enregistrement DNS pour que notre client de synchronisation, utilisant toujours le même nom DNS, arrive sur l’IP privée ou publique de notre NAS ou autre solution d’hébergement.

II. Script Sous Windows : Powershell

Voici le script en question en Powershell :

$web = [net.webRequest]::Create("http://192.168.1.2:8080/cgi-bin")
$web.GetResponse()

if ( $? -eq "True")
    {Add-Content C:\Windows\System32\drivers\etc\hosts "192.168.1.2 123123123.myqnapcloud.com"}
else
    {(Get-Content C:\Windows\System32\drivers\etc\hosts) -notmatch "123123123" | Out-File C:\Windows\System32\drivers\etc\hosts}

Ici, on récupère donc une page qui ne pourra se trouver que sur notre LAN, cela peut être une page créée pour l’occasion. Pour ma part, je vise simplement l’IP de mon NAS. On utilise “Get.Response()” pour effectuer notre requête. Si la commande aboutie, la variable d’environnement “$?” (qui fonctionne de façon similaire sous Windows et sous Linux) retournera “True“, sinon cela causera une erreur et la “$?” vaudra “False“. On pose donc notre condition en conséquence.

Si je suis dans mon LAN ($? = True), j’ajoute dans le fichier “hosts” l’enregistrement de l’IP locale pour le domaine visé par mon client de synchronisation.

Sinon, je supprime les enregistrement dans mon fichier “hosts” concernant cet enregistrement. On peut naturellement modifier ce script pour switcher entre IP publique fixe et une IP locale par exemple.

Vous pourrez donc stocker ces lignes dans un fichier au format .ps1 puis l’exécuter au besoin. Il est important d’exécuter ce script en tant qu’administrateur car il est le seul habilité à modifier le fichier hosts.

C:\Windows\System32\drivers\etc\hosts

III. Script Sous Linux : Bash et Cron

Pour les personnes comme moi disposant d’un environnement Linux, voici le script que j’utilise :

#!/bin/bash
# Vérifier si l'on se situe dans notre LAN.
# Je récupère le code HTTP d'une page située sur un élément de mon LAN (mon NAS)
command=$(curl -o /dev/null --silent --head --write-out '%{http_code}\n' http://192.168.1.2:8080/cgi-bin/)

# Si l'élément répond, je suis dans mon LAN donc je bypass la résolution DNS par l'IP interne
if [[ $command -eq "200" ]];then
    echo "192.168.1.2 123123123.myqnapcloud.com"  >> /etc/hosts
# Sinon, je laisse le système de résolution de QNAP faire le travail DNS
else
    sed -i '/123123123/d' /etc/hosts
fi

Ici, on utilise la commande “curl‘” pour récupérer le code HTTP retourné par la page spécifique à notre LAN. Si le code retourné est “200“, cela signifie que l’on est dans le LAN, on peut donc utiliser notre fichier hosts local pour résoudre le domaine de notre NAS ou DynDNS. Sinon, on supprime tout enregistrement concernant ce domaine présent dans notre fichier hosts. Il est important que ce soit “root” qui fasse tourne ce script car il est le seul habilité à modifier le fichier /etc/hosts

Je l’ai stocké dans /root/Documents/scripts/ et l’ai noblement nommé Owncloudconnect.sh. En tant que root, on utilisera ensuite la commande “crontab -l” pour y ajouter la ligne suivante :

@reboot sleep 120 && /root/Documents/scripts/Owncloudcorrect.sh

Celle-ci permettra, 2 minutes après chaque reboot, l’exécution automatique du script. Vous n’aurez alors plus rien à faire ! :)

L’application Send de Microsoft débarque pour Android

jeudi 17 septembre 2015 à 14:00

Ce n’est pas la première fois que je vous parle d’une application issue du Microsoft Garage. Aujourd’hui, c’est l’application Send qui fait parler d’elle puisqu’elle débarque sur Android en version Preview.

Send est une application qui a pour objectif de proposer une alternative aux échanges de mails classiques, en passant plutôt par de brèves communications. Un peu à la manière de WhatsApp, Send propose de discuter directement avec vos contacts Outlook, c’est d’ailleurs votre adresse e-mail qui est utilisée comme identifiant. Les messages envoyés par Send sont rapides, on évite tout ce qui peut être formule de politesse, signatures… L’intérêt étant de diffuser rapidement un message comme on le ferait avec un SMS.

send1

Pour le moment, Send est disponible seulement pour les professionnels aux États-Unis et au Canade disposant d’une souscription à Office 365 (Send s’appuie sur votre compte Outlook). En espérant qu’elle arrive en France pour pouvoir être testée. Au niveau de la version Android, il faut disposer au minimum de la version 4.2.

Quoi qu’il en soit, Send a du travail pour s’imposer face aux mastodontes de la catégorie que sont WhatsApp et Facebook Messenger.