Archive

Author Archive

Programmer un shutdown sous Unix/Linux

March 26th, 2012 No comments

Il m’arrive souvent d’utiliser la commande shutdown -r now pour faire un redémarrage d’une machine. Dernièrement j’ai eu besoin de la programmer pour rebooter un serveur en dehors des heures d’utilisation de celui-ci.

Rien de plus simple, je fais un crontab -e en root et j’ajoute la ligne avec les heures qui vont bien et la fameuse commande !

Hé bien il ne s’est rien passé…

L’explication c’est que le cron n’a pas le même $PATH que vous dans la console :-)

La solution est donc de mettre le chemin complet pour la commande :

#min hour dom mon dow command
00 02 26 03 * /sbin/shutdown -r now

C’est bien sur applicable à toutes autres commandes dans le cron :-)

Categories: Linux, Unix Tags: , , , , , , ,

Shairport

May 9th, 2011 No comments

Apple a développé une technologie appelé Airplay (précédemment AirTunes) qui est proposé depuis un moment sur les bornes Airport Express via une sortie jack mais qui commence seulement à se faire connaître.

Ce protocole permet de steamer sa musique depuis iTunes à travers le réseau sur n’importe quel appareil compatible. Très agréable lorsqu’on utilise iTunes évidement Airplay

Malheureusement, je n’avais pas de borne AE ni non plus d’ampli à 9999 euro… J’ai donc cherché et testé plusieurs solutions pour transformer mon serveur en “haut parleur réseau”.

La meilleure solution que j’avais trouvé était finalement un MPD mais je n’ai jamais eu le courage de faire la réorganisation de ma bibliothèque musicale pour entièrement passer sur ce système.

On va arriver dans le vif du sujet. Il y a quelques semaines, un petit malin décide de reverse engineerer Airplay, trouve la clé privé du système et release un petit soft appelé Shairport qui permet de faire exactement la même chose qu’une borne Airport !

Après une petite install des dépendances et de Shairport en lui même, Oh joie ! J’ai enfin mon serveur qui stream la musique depuis iTunes sur mon Macbook vers mes JBL Creature connectées à mon serveur ! :)

Vous pourrez trouver Shairport ici, ça s’installe sans soucis sur Linux, Mac OS et je pense qu’il y a même un portage sur Windows !

Reste à savoir si Apple compte ou non laisser vivre ce petit projet…

Categories: Linux, Mac, Network Tags: , , ,

.42

January 7th, 2011 1 comment

Oyez, ho yeah, brave Geeks, votre site préféré (celui-ci) est désormais accessible via l’adresse pointslash.42 !

Une association française au doux nom de 42Registry s’est lancé dans le projet de fournir un TLD alternatif, libre et indépendant de l’ICANN !

En pratique ça veut dire que personne n’a accès aux domaines en .42 sans faire une petite manipulation pour utiliser les serveurs DNS le proposant (très peu pour le moment…). La portée est donc très faible et réservée à un public de geeks mais l’expérience est quand même intéressante.

Je me suis donc lancé dans l’aventure en m’inscrivant sur le site de la 42Registery pour enregistrer Pointslash. Les enregistrements de domaine sont gratuits pour l’instant mais soumis à une charte et une validation manuelle par l’association.

Personnellement j’ai fait mon enregistrement assez tard mais il a été validé dans les 15 minutes suivantes. Ensuite c’est plus compliqué parce qu’ils ne proposent pas encore de pouvoir gérer votre zone via leur interface. Il y a tout de même une manipulation pour faire cela via un autre site mais j’ai préféré utiliser mon propre serveur.

Je vous invite donc à tester le TLD .42 en utilisant un des serveur dns suivant :

  • DNS Primaire : 81.93.248.69
  • DNS Secondaire : 81.93.248.68
  • DNS n°3 : 91.194.60.196
  • DNS n°4 : 193.17.192.53

J’ai hâte de voir comment ce projet va évoluer, en espérant que d’autre acteur du net vont s’y associer.

Le site de la 42Registry

Categories: Network Tags: , , , , , , ,

Android : mes premiers pas

December 7th, 2010 No comments

J’ai récemment fait l’acquisition d’un Sony Ericsson Xperia X10 mini pro (ouf !) sous Android. Je souhaitais vraiment un smartphone qui me permettrais de “tout” faire, tant au niveau matériel que logiciel.
L’Xperia me semblait le meilleur choix par rapport à mes besoins et à mon budget (250 euro) : clavier physique complet, wifi, bluetooth, 3G, USB, SD slot,… Et Android !

sony_ericsson_xperia_x10_mini_pro

L’Xperia est livré avec la version 1.6 d’Android mais la mise à jour vers 2.1 est sortie récemment. Je me suis assez vite rendu compte que bien qu’Android soit un système d’exploitation open-source il est presque impossible d’installer sur son smartphone une version utilisable à partir des sources. En effet, chaque fabricant adapte l’OS de Google pour ses propres téléphones et l’utilisateur se retrouve donc dépendant de ceux-ci…
La sur-couche développée par Sony-Ericsson n’est pas trop mal foutue excepté les programmes en démo qui ne sont pas supprimables !
J’en suis donc arrivé à mon deuxième constat. On n’est pas aussi libre que cela sous Android ! Il y a beaucoup de bridage pour un utilisateur plus avancé et pour pouvoir profiter au maximum des capacités d’Android il faut passer par le “rootage” de la bête !
On trouve une multitude d’information sur la manipulation et ça ne m’a pas pris plus de 5 minutes. Le principe est d’installer une app qui donne les droits root aux autres, un genre de “sudo”.

Une fois passé ces quelques complications, Android devient un très bon OS mobile. Fluide, assez clair et personnalisable, l’interface de notification est vraiment géniale. Il demande au premier boot une synchronisation avec un compte Google qui permet de récupérer le carnet d’adresse, les mails et le calendrier. Google a également sortit récemment une app de son RSS reader.

L’android Market m’a par contre un peu déçu… la navigation n’est pas très clair et rechercher un soft est assez laborieux. Beaucoup d’apps ont des noms de logiciel connu sans avoir aucun rapport avec comme par exemple Firefox, ce qui porte à confusion car l’app n’est pas celle que l’on attend…

Malgré tout, j’ai pu y trouver tout ce que je voulais dans les apps gratuites, le choix est assez large ! Quelques unes parmit mes préférées : Opéra Mini, Skype, AndroiIrc, Reader, ConnectBot, Adobe reader, XBMC remote, Angry Birds,…

Il me reste encore beaucoup de chose a tester sur cet OS mais globalement je suis assez séduit ! J’ai hâte de voir les développement futur et les possibilités qui s’offriront aux geeks comme moi :-)

Chiffrer un fichier avec OpenSSL

June 17th, 2010 No comments

Vous connaissez sûrement tous openSSL, l’implémentation open source des protocoles SSL et TLS, qui vous a certainement servit pour générer des certificats SSL.

OpenSSL via son utilitaire en ligne de commande permet également de chiffrer et de déchiffrer des fichiers (documents, images, vos vidéos de “vacances” 😉 ,…) avec différents algo tels que blowfish, (triple) DES, DSA, RC5, RSA,…

En pratique pour chiffrer un fichier ça se passe comme ceci :

openssl enc -e -aes-256-cbc -in file.txt -out file.enc.txt

Et pour déchiffrer :

openssl enc -d -aes-256-cbc -in file.enc.txt -out file.dec.txt

L’option e spécifie qu’on chiffre (encryption en anglais) et d qu’on déchiffre (decryption).Vous pouvez aussi remplacer -aes-256-cbc par l’algo de votre choix.

Attention, il me semble qu’en Belgique il n’y a pas de restriction dans l’utilisation du chiffrement mais certains pays imposent des limites sur la taille des clés utilisées, et d’autres interdisent même son utilisation.

Monitorix

May 6th, 2010 2 comments

Monitorix n’est pas un Gaulois du village d’Asterix et n’a rien a voir non plus avec la VOIP :-)

C’est un petit système de monitoring que j’ai découvert il y a peu en cherchant une solution simple mais assez complète pour monitorer mon serveur à la maison.

Monitorix - CPU, Week

Le but premier était surtout d’avoir de joli graphique avec l’utilisation des diverses ressources au fil du temps ainsi que l’évolution de la température des composants du serveur. N’ayant pas prévu une super ventilation du boîtier je voulais pouvoir suivre les changements de température. Maintenant que les beaux jours reviennent ça risque de chauffer plus.

Monitorix - LMTemp, Week

Monitorix s’install à partir des sources que l’ont peut trouver sur le site, pour les distributions classiques il y a un script d’installation, très simple. Il dépend de rrdtool qu’il faut donc installer et il faut aussi prévoir un serveur web, ici j’ai un apache avec le mod_ssl et tout fonctionne parfaitement.

Monitorix - Network, Week

La configuration est assez simple, tout se trouve dans le fichier /etc/monitorix.conf, il faut juste y adapter quelques paramètres à votre configuration. Par contre j’ai toujours quelques soucis a faire fonctionner le monitoring de certains ports réseaux. Mais vu qu’il gère out of the box la surveillance des principaux services de bases comme le file sharing (smb, afp,…) ou le web ce n’est pas très important dans mon cas.

Monitorix - Disk, Week

Si votre serveur sert aussi de gateway, vous pouvez monitorer le trafic de chaque noeud du réseau en l’ajoutant dans le fichier de config. Je n’ai malheureusement pas pu testé cette fonction.

Sinon pour conclure, je suis vraiment satisfait de ce petit outil, j’vais surement le déployer autre part.

Magic Mouse

April 29th, 2010 No comments

J’ai reçu en cadeau une Magic Mouse d’Apple il y a peu et je viens vous livrer mes impressions sur cette souris.

Commençons par le commencement, le packaging est très simple, de la taille de la souris mais deux fois plus épais, il est en plexi sur la partie supérieur qui laisse donc le mulot à vue. Elle est livrée avec deux piles AA.

Magic MouseLa souris possède une face entièrement lisse légèrement bombée et très agréable au touché. Sur le dessous de la souris il y a la lentille du laser, la trappe pour les piles, le bouton on/off et une petite led verte. J’ai remarqué en examinant la magic mouse que cette petite led s’allume uniquement si le laser est en contact avec le sol !

Coté fonctionnalité, c’est une souris bluetooth dont toute la surface est tactile mais qui ne possède qu’un bouton physique (la face entière est un bouton). La configuration permet de choisir si l’on veut un ou deux boutons et également si elle doit être pour gaucher ou droitier. Il est possible de scroller à 360° en glissant son doigt simplement et ce à n’importe quel endroit sur la surface !

Sur Mac il est également possible dans certaine application de passer d’une page à l’autre en faisant un mouvement de balayage à deux doigts. Je n’ai pas testé la souris sur d’autre système mais je suppose qu’il existe des pilotes pour l’exploiter.

Venons en aux points négatifs et soyons direct : ce n’est pas une souris pour jouer ! Le fait qu’il n’y ai qu’un seul bouton physique empêche totalement l’utilisation des deux clic simultanément. Ce gros handicap la disqualifie donc pour une grosse quantité de jeux.

La fonction tactile de la souris est aussi très sous-exploitée. Il n’y a pas de “pinch” comme sur l’iphone qui permet  les effets de zoom, ni de “tap” comme sur les touchpads qui permet de cliquer en tapant. Et il n’y a pas non plus de 3ème bouton prévu.

Bien sur vous pourrez trouvez une multitude de petits softs pour activer ces fonctions mais je trouve dommage que ça n’ai pas été prévu d’emblée.

Pour finir, je suis tout de même ravis de cette souris et ils ont fait un très beau travail par rapport à la précédente. Le bluetooth sert enfin sur mon Mac ! :-)

Categories: Mac Tags: , , , ,

VPN avec SSH

April 27th, 2010 4 comments

Ce que j’adore avec l’informatique c’est que quand on croit connaître un sujet, on se rend toujours compte qu’il reste encore une montagne de choses à apprendre. :-)

J’avais fait un article sur le port forwarding avec ssh pour faire des tunnels mais depuis j’ai trouvé beaucoup mieux !

SSH permet de faire un VPN grâce aux interfaces virtuelles TUN/TAP. Ici je vais expliquer la méthode que j’utilise avec une interface TUN.

Les prérequis sont d’avoir un client sous *nix (j’ai pas testé avec windows), un serveur ssh avec accès root et sur Mac il faut installer les drivers tun/tap. Il faut également ajouter “PermitTunnel yes” dans votre sshd_config.

Première étape, établir la connexion ssh avec le serveur.

sudo ssh -w 0:0 root@server.com

Des droits root sont nécéssaire du coté client et serveur pour créer les interfaces tun. L’option -w spécifie qu’on crée les interfaces et 0:0 spécifie le numéro des interfaces coté client:serveur. Sur Mac l’interface tun peut être différente de 0, vous pouvez alors utiliser “any:0″ qui permettra d’utiliser n’importe quelle interface tun coté client (le mac).

Ensuite il faut configurer les interfaces des 2 cotés :

server# ifconfig tun0 172.16.0.1 netmask 255.255.255.252

server# ifconfig tun0 up

client# ifconfig tun0 172.16.0.2 netmask 255.255.255.252

client# ifconfig tun0 up

Sur Mac il faut rajouter une ip de destination dans le ifconfig :

clientMac# ifconfig tun15 172.16.0.2 netmask 255.255.255.252 172.16.0.1

A partir de maintenant vous devriez pouvoir faire un ping du client sur l’ip de l’interface tun du serveur.

Ensuite il faut que le serveur autorise l’ip forwarding et qu’on active le NAT.

server# echo 1 > /proc/sys/net/ipv4/ip_forward
server# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

A partir d’ici il n’y a plus de manipulation sur le serveur, il ne reste qu’a configurer les routes coté client.

client# route add 192.168.1.0/24 172.16.0.1

Maintenant vous avez accès au réseau du serveur (192.168.1.0/24) !

Si vous souhaitez faire passer tout votre traffic par le VPN c’est possible aussi, il suffit d’ajouter une route vers l’ip du serveur avec comme gateway l’ip de la gateway coté client pour ne pas perdre la connexion et ensuite mettre la gateway du réseau distant (celui du serveur) comme gateway par défaut sur la machine client.

Il est possible de scripter tout ça, d’utiliser une authentification par clé, de backgrounder la connexion ssh, etc… mais c’est une autre histoire :-)

Categories: Linux, Network, Unix Tags: , , , ,

File server, suite

March 13th, 2010 1 comment

Pour la suite de l’article sur mon petit file server je vais détailler la partie software de celui-ci.

L’idée de base était d’avoir un stockage sécurisé, résistant au panne hardware et évolutif. Il me fallait donc du raid5, comme je l’avais évoqué précédemment, du chiffrement et une gestion des volumes logiques (LVM).

J’ai choisi Debian Lenny pour sa stabilité et sa facilité d’utilisation, je n’avais pas envie d’une distro trop “complexe” ni d’une ubuntu server, Debian est un bon compromis.

Je n’étais pas certain de pouvoir booter le server avec tout ce que je souhaitais faire, j’ai donc fait une petite machine virtuelle pour mes tests qui se sont relevés concluants.

Voici donc mon plan de partition :

2 partitions sur chaque disques : 200 mo et ce qu’il reste (presque 1 To)

Chaque partitions de 200 mo est mis en raid 1 et formaté pour le /boot. Grub ne peut pas fonctionner sur du raid5 mais il faut que ça reste bootable si un des disques tombe. En mettant du raid 1 je suis donc à l’abri.

Les 3 partitions restantes (une par disque) sont également mises en raid mais de niveau 5 cette fois, ce qui donne approximativement un array de 2 To. Cet array est ensuite chiffré dans son entièreté pour donner un nouveau device qui sera utilisé comme volume physique pour le LVM.

Vous suivez ?

Ok alors là il me reste juste a créer mes partoches dans le LVM : de la swap, un root et finalement une grosse partoche pour les datas.

LVM permet une gestion très simple des partitions, ici je l’utilise surtout pour pouvoir jouer avec les partoches dans le cas très probable ou je rajoute un disque dans le serveur.

Au final j’ai :

sda1, sdb1, sdc1 (100 mo) -> raid1 -> /boot

sda2, sdb2, sdc2 (~1 to) -> raid5 -> chiffrement -> LVM -> partoche (swap, root, data)

Tout ça peut paraître compliqué et c’est là que l’installateur Debian fait la différence :)

Il m’a fallut un peu plus de 48h pour que les disques soient formatés et chiffrés. Pas de coupures de courant ! Ouf :-)

Après l’install du système on passe à l’install des services. J’ai donc installé Netatalk qui permet d’avoir un share AFP et Samba pour les clients Linux/windows.

Netatalk parait compliqué a configurer mais au final c’est assez simple pour une installation basique. Les fichiers de configs sont bien documentés.

Pour l’instant j’ai encore un petit soucis de permissions avec les users samba mais étant donné que j’utilise l’afp 99% du temps je n’ai pas encore chercher la solution.

Coté perfs, le serveur est très stable et le load presque à 0. Je n’ai pas de réseau gigabit pour faire des tests mais sur le réseau en 100 je n’ai aucun soucis. J’ai fait un bench avec hdparm mais je n’ai pas de point de comparaison…

Timing cached reads:   1908 MB in  2.00 seconds = 953.97 MB/sec
Timing buffered disk reads:  162 MB in  3.01 seconds =  53.84 MB/sec
N’hésitez pas a poster vos tests en commentaire pour comparer :-) (hdparm -Tt /dev/sdx)

File Server

March 9th, 2010 5 comments

Depuis un moment je cherchais une solution pour stocker mes divers fichiers ainsi que mes backup. Mes premières solutions ont été des disques dur externes, à l’époque j’avais récupéré un Lacie Bigger Disk d’1 To qui était en fait un gros boitier de 4x 250 go en raid0 (non configurable).
Bien entendu Murphy s’en est mêlé et j’ai perdu mes données.
D’autres mésaventures du genre m’ont poussées a chercher une solution plus sécuritaire et le raid 5 s’est imposé comme le choix idéale.

Ma deuxième exigence était de pouvoir le partager facilement sur le réseaux pour pouvoir y accéder depuis les autres ordinateur de la maison et pour faire mes backups en wifi.
Dans ces conditions, une seule alternative bon marché était valable : se faire un petit serveur de fichier sous linux. :-)
Pour cela il me fallait une carte mère avec au moins 3 ports sata, j’ai pensé en premier lieu à une petite CM avec un processeur atom intégré mais le prix des cartes avec assez de port sata et du gigabit ethernet revenait beaucoup trop cher par rapport à n’importe quelle carte basique qui permettait beaucoup plus d’évolution.
Mon choix s’est donc porté sur une carte Foxconn G43MX avec un des nouveaux Celeron dual core E3200.
Coté connectivité, la carte comporte 6 ports sata, du gigabit ethernet et plusieurs port pci pour d’éventuelle évolution.
Avec ça, 2 Go de ram, un petit graveur dvd premier prix et le plus important les 3 disques dur Samsung Spinpoint F3 1 To qui sont, parait-il, d’excellente qualité. Ici je n’ai pris que le nombre minimum de disque pour un raid5 par soucis d’économie mais ma configuration logiciel me permettra d’ajouter des disques ultérieurement.

J’ai mis le tout dans un boitier Advance Aeolus 8616G qui avait pour avantage de comporter un ventilo, une alimentation et assez de baies pour un prix très correcte.

Voilà pour la partie hardware du serveur, je ferais le détail de la configuration software dans un prochain article…

Categories: Linux Tags: , , , ,