Catégories
Open-source Reseau Systeme

Installation d’un serveur NTP sous Ubuntu

Si vous disposez de plusieurs machines sur votre réseau, il peut, dans certains cas être intéressant de les synchroniser sur une date et une heure commune (par exemple pour de l’analyse de fichiers de log). Les systèmes d’exploitation modernes utilisent maintenant le protocole NTP pour se synchroniser via le réseau IP.

C’est quoi donc NTP ?

Le principe général est simple: on configure le client NTP pour aller demander à un serveur NTP l’heure de référence à quelques millisecondes (ou dizaines de millisecondes) près. En fait la résolution théorique est de 233 ps, mais en pratique la précision est limité par la variabilité des latences réseau. Le client peut alors modifier sa date système en concéquence. Cette description simpliste est à nuancer par le fait que le protocole NTP est basé sur une architecture en arbre.

Par exemple, sur un système d’exploitation GNU/Linux de type Debian ou Ubuntu, il suffit de saisir la commande suivante pour faire appel à un serveur NTP secondaire (ntp.ubuntu.com définie dans le fichier /etc/default/ntpdate):

[shell]

sudo ntpdate-debian

15 Mar 10:11:01 ntpdate[5406]: adjust time server 91.189.94.4 offset 0.038837 sec

[/shell]

Nous allons voir maintenant comment installer un serveur de temps NTP sur votre réseau qui pourra continuer de servir de référence même en cas de coupure de votre liaison Internet.

Catégories
Open-source Planet-libre Reseau

TShark, l’autre TcpDump

TShark est un logiciel avec une interface de type ligne de commande permettant d’analyser les protocoles réseaux capturé depuis une interface (en utilisant la librairie libpcap) ou depuis un fichier de capture au format Wireshark. Développé en parallèle de Wireshark, il est distribué sous licence GNU GPL.

Installation de TShark

Sous Ubuntu, il suffit de l’installer à partir des dépôts avec la commande suivante:

sudo aptitude install tshark

Remarque: il est également possible de faire l’installation depuis les sources.

Catégories
Blog Developpement Open-source Reseau

Tester son site/blog sous IPhone sans IPhone

Vous voulez tester comment est vu votre site/blog sur un IPhone mais vous n’en avez pas un sous la main (ben ouep c’est pas libre alors…) ? Alors vous serez heureux d’apprendre qu’il existe une méthode assez simple pour que votre navigateur favori ( j’ai nommé Firefox) se fasse passer pour un IPhone…

Installation du plugin « User Agent Switchers »

La première chose à faire est d’installer le plugin « User Agent Switchers » qui va permettre à Firefox de se déguiser en IPhone. Une fois le plugin installé et le navigateur redémarré, un nouveau menu sous « Outils / Default User Agent » devrait apparaitre:

Il suffit de cliquer sur le bouton « IPhone 3.0 » pour que Firefox se fasse passer pour un navigateur IPhone. Pou revenir à un comportement normal de votre navigateur, il suffira de cliquer sur le bouton « Default User Agent ».

Tester son site/blog

Rien de plus simple, il suffit de se rendre sur l’URL de votre blog pour le voir s’afficher comme sur un iPhone. Par exemple Le Blog de Nicolargo (c’est juste un exemple, j’utilise le plugin WordPress WPTouch donc l’affichage devrait être adapté…).

Les esprits chagrins vont me dire que cela n’est pas du tout représentatif car la résolution de l’Iphone est beaucoup plus faible que la résolution de notre écran, c’est vrai mais… il existe des sites (par exemple TestIphone) qui permettent d’effectuer le même test mais dans une frame simulant la taille d’un IPhone. Perso le test chez moi du site TestIphone n’est pas concluant car je suis redirigé vers la version plein écran de mon blog…

Catégories
Hardware Open-source Systeme

Installation Ubuntu 9.10 sur un Lenovo T500

Voici un petit billet sur l’installation de la dernière version stable d’Ubuntu (Karmic 9.10) sur un PC portable Lenovo T500.

Installation du système (Ubuntu Karmic 9.10) sans aucun problème à partir du CD d’installation.

Après redémarrage du PC, fonctionnement « out of the box » (sans configuration) pour:

  • Clavier (bouton son + luminosité)
  • Trackpad / Trackpoint
  • Affichage en 16:10 (1280×800 / 60Hz) avec support 3D
  • Réseau Ethernet Gigabits (eth0)
  • Réseau Wifi (bouton d’activation/désactivation fonctionnel)
  • USB (3 ports disponibles)
  • Lecteur/graveur CD et DVD
  • Son (lecture et enregistrement)
  • Bluetooth (bouton d’activation/désactivation fonctionnel)
  • Webcam

Non testé:

  • Modem
  • Firewire

Le fonctionnement de la machine est très agréable, rapide et l’affichage stable et lisible.

Catégories
Nagios Open-source

Soutien à Nagios-FR

La communauté libre de Nagios-FR est en ébullition depuis les échanges de mails entre Ethan (le concepteur de Nagios), sa femme Marry (qui s’occupe de l’administration Nagios Enterprise) et Olivier Jan (de Nagios-FR). Bien que je trouve la réaction d’Olivier un peu trop excessive par rapport au premier mail de Marry, c’est celle d’Ethan qui me choque le plus mais sans me surprendre.

Comme vous avez pu le constater je parle de moins en moins de Nagios (même si la page réunissant les billets sur le sujet reste la plus consulté de mon blog).  Même si la raison principale est que, de part mon activité professionnelle, je m’intéresse moins à la supervision système/réseau, je suis de moins en moins positif par rapport aux orientations prise par Nagios. Les priorités ne sont pas mises aux bons endroits, en effet, « Nagios Enterprise » met de coté les aspects techniques (évolution du produit, prise en compte des demandes des utilisateurs) par rapport aux cotés « business » (support, maintenance, gestion de la marque (c) Nagios, communication…).

Nous retombons ici sur l’éternel problème de l’industrialisation d’une solution libre. Je ne pense pas que les méthodes de « Nagios Enterprise » soient les bonnes. L’avenir nous le dira. Il serait dommage que les 10 ans d’efforts d’Ethan pour développer une solution libre et ouverte de supervision réseau soient réduit à néant. D’autant plus que la concurrence avance de son coté (voir par exemple Zabbix).

A suivre…

Catégories
Open-source Reseau

Netperf, mesurer la performance de votre réseau en ligne de commande

Netperf est un logiciel sous licence libre (GPL) permettant de simuler du trafic entre deux points d’un réseau. Edité par la société HP, la dernière version disponible (2.5.0) date de juillet 2011.

Contrairement à des logiciels comme Iperf qui se limite a une mesure de la bande passante et du délais, NetPerf permet, en plus du transfert de données, de simuler des transactions TCP et UDP. Nous allons voir dans ce billet comment installer et utiliser NetPerf pour optimiser notre réseau.

Catégories
Image Open-source Systeme Web

Mon top 3 des sites pour fonds d’écran

Il y a bien une chose avec laquelle je ne rigole: la qualité de mes fonds d’écran…Vu le temps que l’on passe (trop ?) devant nos machines, il serait dommage d’avoir des images moches et/ou rébarbatives. J’opte donc pour une rotation automatique toutes les 12 heures (avec le logiciel Wallpaper-tray sous Ubuntu et en suivant cette méthode pour mon MBP sous Mac OS X)

Voici donc les 3 sites sur lesquels je récupère mes fameux « wallpapers » (sous licence publique pour une utilisation personnelle).

Catégories
Open-source Reseau

Siproxd rapproche SIP et NAT

SIP est le protocole de signalisation pour effectuer des communications de type voix sur IP (VoIP). Lorsque la communication est établie, il passe la main au protocole RTP qui permet le transport de la voix sur le réseau. Dans une architecture réseau incluant des fonctions de translation d’adresse (NAT), les choses se compliquent (voir cet article en anglais). En effet, si plusieurs clients SIP se trouve derrière un routeur NAT, ce dernier ne va pas savoir établir les sessions entrantes (comment savoir vers quel client SIP faut il envoyer les flux).Vous pouvez lire ce billet qui détaille cette problématique.

On se retrouve devant plusieurs solutions techniques:

  • utilisation d’un tunnel IP entre le routeur NAT et le serveur SIP
  • utilisation de redirection statique (par client) au niveau du routeur NAT en utilisant des numéros de ports SIP et RTP différents
  • utilisation d’un proxy SIP au niveau du routeur NAT

C’est cette troisième solution que nous allons mettre en place dans ce billet en utilisant le proxy SIP libre siproxd sur votre routeur NAT GNU/Linux.

Installation de Sipproxd

Actuellement disponible en version 0.7.2, vous pouvez soit compiler les sources, soit installer depuis les dépôts de votre distribution GNU/Linux. Par exemple sous Ubuntu:

[shell]

sudo aptitude install siproxd

[/shell]

Il faut ensuite modifier le fichier /etc/default/siproxd et remplacer le 0 par 1.

Configuration de Sipproxd

Le fichier de configuration unique /etc/siproxd.conf est très bien commenté. Dans un cas standard ou le routeur NAT GNU/Linux a deux interfaces (eth0 pour l’interface coté LAN et eth1 pour l’interface NATé), il suffit juste de modifier la configuration en changeant les deux lignes suivantes:

[shell]

if_inbound = eth0

if_outbound = eth1

[/shell]

Lancement de Sipproxd

Sous Unbuntu,c’est assez simple:

[shell]

/etc/init.d/sipproxd start

[/shell]

Configuration des clients SIP

Il ne reste plus qu’a configurer vos clients SIP dans la section « Proxy SIP » et de mettre l’adresse IP de votre routeur NAT (coté LAN donc l’adresse de eth0 dans notre cas).

Catégories
Open-source Reseau Web

Cracker un réseau Wifi sous GNU/Linux

Article supprimé le 31 janvier 2015 à la demande de la gendarmerie nationale.

Catégories
Gstreamer Open-source Reseau Video

Streaming vidéo SD avec Gstreamer

Nous allons dans ce billet essayer d’optimiser le streaming d’un flux SD sur un réseau local (LAN de 100 Mbps) en utilisant le framework GStreamer.

Environnement des tests

Deux PC Ubuntu connectés sur un même switch (100 Mbps full-duplex).

  • PC serveur: Intel(R) Core(TM)2 Duo CPU P8400 @ 2.26GHz / 2 Go RAM
  • PC client: Intel(R) Core(TM)2 Duo CPU E6750 @ 2.66GHz / 1 Go RAM

GStreamer version 0.10.25.

Vidéo source: Big Buck Bunny 480p

Tests avec le codec X.264

Ligne de commande sur la machine générant le streaming (serveur):

serveur> gst-launch -v \ filesrc location= »../Vidéos/big_buck_bunny_480p_stereo.ogg » \ ! queue ! decodebin \ ! queue ! videoscale method=1 ! video/x-raw-yuv,width=854,height=480 \ ! queue ! videorate ! video/x-raw-yuv,framerate=\(fraction\)24/1 \ ! queue ! x264enc byte-stream=true bitrate=2000 bframes=4 ref=4 me=hex subme=4 weightb=true threads=0 \ ! queue ! rtph264pay \ ! queue ! udpsink port=5000 host=192.168.29.150 sync=false async=false

Ligne de commande sur la machine recevant le streaming (client):

client> gst-launch -v udpsrc caps= »application/x-rtp, media=\(string\)video, clock-rate=\(int\)90000, encoding-name=\(string\)H264, payload=\(int\)96″ port=5000 \
! queue ! rtph264depay \
! queue ! ffdec_h264 ! xvimagesink

Résultat:
Visuel: vidéo saccadé (environ 2 img/sec)
Bande passante mesurée: entre 2 et 3 Mbps
Resource serveur: %CPU=135 / %MEM=5
Resource client: %CPU=10 / %MEM=2

On ajoute un buffer juste avant le depay et le décodage (au niveau du client):

client> gst-launch -v udpsrc caps= »application/x-rtp, media=\(string\)video, clock-rate=\(int\)90000, encoding-name=\(string\)H264, payload=\(int\)96″ port=5000 \
! queue ! gstrtpjitterbuffer latency=3000 \
! queue ! rtph264depay \
! queue ! ffdec_h264 ! xvimagesink

Résultat:
Visuel: vidéo beaucoup plus fluide mais variation de la gigue (accéleration de la video par moment). On a par contre un décalage de 3 secondes, donc inutilisable pour des flux lives.
Bande passante mesurée: entre 2 et 3 Mbps
Resource serveur: %CPU=140 / %MEM=6
Resource client: %CPU=14 / %MEM=2

On modifie ensuite les paramètres d’encodage X.264 (au niveau du serveur):

serveur> gst-launch -v –gst-debug-level=2 \
filesrc location= »../Vidéos/big_buck_bunny_480p_stereo.ogg » \
! queue ! decodebin \
! queue ! videoscale method=1 ! video/x-raw-yuv,width=720,height=480 \
! queue ! videorate ! video/x-raw-yuv,framerate=\(fraction\)24/1 \
! queue ! x264enc vbv-buf-capacity=3000 byte-stream=true bitrate=900 subme=4 ref=2 bframes=1 b-pyramid=true weightb=true \
! queue ! rtph264pay \
! queue ! udpsink port=5000 host=192.168.29.150 sync=false async=false

Résultat:
Visuel: Presque plus de sacade ni de variation de gigue. On a par contre un décalage de 3 secondes, donc inutilisable pour des flux lives.
Bande passante mesurée: entre 2 et 3 Mbps
Resource serveur: %CPU=120 / %MEM=4
Resource client: %CPU=10 / %MEM=2