Catégories
Uncategorized

Bluetooth / Nokia et Fedora

Je viens d’essayer de faire communiquer mon PC sous Fedora Core 6 et mon téléphone Nokia Bluetooth (Nokia ). Voici les quelques actions à faire.

La première chose (si vous n’avez pas la chance d’avoir un PC compatible Bluetooth) est d’acheter un dungle Bluetooth USB (on en trouve à environ 30€). Pour ma part j’utilise un dungle Trendnet TBW-102UB. Celui-ci est reconnue disrectement sous Fedora:

# tail -f /var/log/message
Jan 11 16:47:37 gollum kernel: Bluetooth: HCI USB driver ver 2.9
Jan 11 16:47:37 gollum kernel: usbcore: registered new driver hci_usb
Jan 11 16:47:37 gollum hcid[2060]: HCI dev 0 registered
Jan 11 16:47:37 gollum hcid[2060]: Register path:/org/bluez/hci0 fallback:0
Jan 11 16:47:37 gollum hcid[2060]: HCI dev 0 up
Jan 11 16:47:37 gollum hcid[2060]: Device hci0 has been added
Jan 11 16:47:37 gollum hcid[2060]: Starting security manager 0
Jan 11 16:47:37 gollum hcid[2060]: Device hci0 has been activated

Vous pouvez alors tester le téléchargement de fichier sous votre portable en faisant un click droit sur le fichier puis « Envoyer à … ». Une fenêtre s’ouvre alors, il suffit de selectionner le portable:
Votre portable devrait recevoir l’image (après vous avoir demandé l’autorisation).

D’autre fonction son aussi disponibles, comme la possibilité d’envoyer des SMS via son portable (pratique si comme moi vous n’êtes pas assez jeune pour connaitre la langue SMS…). Il faut pour cela installer un package nommé gnome-phone-manager.

(en root)
# yum install gnome-phone-manager

Au premier lancement du programme, il faut configurer avec quel equipement il va communiquer (votre téléphone portable Bluetooth dans notre cas). Pour cela allez dans le menu Preferences / Connection puis saisir les informations suivantes:
Phone Manager vous demandera alors un code PIN. D’abord sur votre portable puis sur votre PC.
Il ne vous reste plus qu’a rediger le SMS avec votre clavier !

Catégories
Uncategorized

Tunnel IPSec sous FreeBSD

Nous allons dans ce post décrire le moyen de créer un tunnel IPSec entre deux réseaux distants et ainsi former un réseau privée virtuel (ou VPN pour les intimes).

Un VPN ou Virtual Private Network, est un tunnel logique (par opposition au réseau privé) établi entre deux entités et dans lequel les données circulant ne sont pas « visibles » de l’extérieur. Cette « invisibilité » peut être due par exemple à un chiffrement des données ou à un protocole particulier des échanges de données. Dans le cas des VPN IPSEC, on aurait tendance à dire qu’un VPN assure que les données circulent de façon sécurisée : les deux entités sont authentifiées, l’intégrité des données est vérifiée, et les données peuvent circuler chiffrées sur le réseau IP.

IPSEC est un protocole réseau de niveau 3, comme le protocole IP, mais auquel ont été rajoutées des fonctions de sécurité, comme le chiffrement des données par exemple. Le protocole IPSEC est prévu en natif dans la nouvelle version du protocole IP : IPV6.

Le protocole IPSEC permet deux traitements des données dans le tunnel :

  • L’authentification des extrémités et la vérification de l’intégrité des données ;
  • L’authentification, l’intégrité et le chiffrement des données.

Le premier traitement correspond au protocole AH1 (Authentication Header). Ce protocole permet de s’assurer de l’identité des deux extrémités du tunnel et de l’intégrité des données (les données reçues sont bien les données envoyées, elles n’ont pas été modifiées au passage).
Mais il est important de savoir que les données circulent en clair. En fait, techniquement, le protocole AH consiste à rajouter une entête à la trame IP, mais la partie « data » de la trame IP n’est pas changée.

Le deuxième traitement correspond au protocole ESP2 (Encapsulation Security Payload) et assure en plus de l’authentification, le chiffrement des données. Techniquement, la trame IP originelle est chiffrée et réencapsulée dans une autre trame IP.

Enfin, on peut encore dire sur le protocole IPSEC que celui-ci est particulièrement souple et n’impose aucun algorithme de chiffrement ou de hachage. Les deux extrémités du tunnel se mettent d’accord entre elles sur les modalités avant l’établissement du VPN.

Le mode Tunnel remplace les en-têtes IP originaux et encapsule la totalité du paquet IP. Par exemple, l’adresse IPA externe pourra être celle de la passerelle de sécurité implémentant IPSec, et l’adresse IPB interne sera celle de la machine finale, sur le réseau derrière la passerelle.

La configuration suivante est donnée sur un système FreeBSD (4.x).

Il faut d’abord configurer sur les deux routeurs VPN les fichiers /etc/racoon.conf et /etc/psk.txt de la manière suivante:

Racoon.conf (commun)
path pre_shared_key « /usr/local/etc/racoon/psk.txt » ;
remote anonymous
{
exchange_mode aggressive,main,base;
lifetime time 24 hour; # sec,min,hour

proposal {
encryption_algorithm 3des;
hash_algorithm sha1;
authentication_method pre_shared_key ;
dh_group 2 ;
}
}
sainfo anonymous
{
pfs_group 2;
lifetime time 12 hour;
encryption_algorithm 3des ;
authentication_algorithm hmac_sha1 ;
compression_algorithm deflate ;
}

psk.conf (sur routeur A)

psk.conf (sur routeur B)

Ensuite il faut monter le tunnel IPSec au demarrage de la machine (ou à la demande). Pour cela j’utilise un script que je met dans le répertoire /usr/local/etc/rc.d:

000.ipsec.sh (sur le routeur A)
#!/bin/sh

case « $1 » in
start)
setkey -F
setkey -FP
setkey -c / / any -P out ipsec esp/tunnel/-/require ;
spdadd / / any -P out ipsec esp/tunnel/-/require ;
EOF
route add -net /
;;
stop)
route -n delete -net /
setkey -F
setkey -FP
;;
*)
echo « Usage: `basename $0` {start|stop} » >&2
;;
esac

exit 0

Faire de même sur le routeur B en inversant les adresses IP.

Pour lancer le tunnel IPSec:

# /usr/local/etc/rc.d/000.ipsec.sh start

Pour detruire le tunnel IPSec:

# /usr/local/etc/rc.d/000.ipsec.sh stop

Voili A+

Catégories
Systeme

Citation dans la signature des mails

Voici un tutorial pour insérer automatiquement une citation aléatoire dans la signature de vos e-mail.

La premiere chose a faire est d’installer Fortune. Ce script permet d’extraire aléatoirement une citation dans une base de données.

# yum install fortune-mod

Des bases de données sont fournies en standard (mais en Anglais) avec le script. Elles sont localisées dans le répertoire suivant (sous Fedora): /usr/share/games/fortune/

Pour ajouter une nouvelle base de données, vous pouvez vous rendre sur le site suivant: http://www.fortunes-fr.org/
Celui-ci regroupe quelques bases classées par thémes:
cinema : Citations extraites du monde du cinéma
humoristes : Citations d’humoristes
informatique : Citations en rapport avec l’informatique
litterature_etrangere : Extraits d’oeuvres littéraires étrangères
litterature_francaise : Extraits d’oeuvres littéraires françaises
personnalites : Citation de personnes connues, principalement du show business
proverbes : Proverbes et dictons d’origine diverse

Pour installer une nouvelle base de données (par exemple litterature_etrangere), il faut suivre la procédure suivante (en root):

# cd /usr/share/games/fortune/
# wget http://www.fortunes-fr.org/data/litterature_etrangere
# strfile litterature_etrangere litterature_etrangere.dat

Ensuite l’utilisation en ligne de commande est très simple:

# fortune litterature_etrangere
La vérité souffre d’être trop analysée.
-+- Frank Herbert, Dune -+-

Dans Evolution, pour insérer automatiquement une citation dans la signature de vos emails, il faut d’abord créer un script tout simple:

# cd ~/bin/
# vi citation-litterature_etrangere.sh
#!/bin/sh
/usr/bin/fortune litterature_etrangere
# chmod 700 citation-litterature_etrangere.sh

puis dans Evolution, ouvrir le menu: Editions / Preferences / Preferences de l’editeur / Signatures puis cliquer sur le bouton Ajouter un script et saisir les informations suivantes:

Lors de la rédaction du mail, il ne vous reste plus qu’a choisir la signature Citation litterature_etrangere et le tour est joué !

a+

Catégories
Open-source

Mac OS X…

Je suis un tout nouveau utilisateur Apple depuis que le travail m’a mis entre les mains un MacBook Pro et son OS Max OS X (Tiger). Habitué aux environnements Linux (notamment Fedora), il ne m’a fallu que quelques heures pour prendre en main le système… et quel système…

Mac OS X est basée sur une architecture système FreeBSD (version 5.0) et un noyau open-source XNU (dérivé de Mach 3.0). Il est donc tout à fait possible de lancer un terminal pour se retrouver dans un environnement Unix.

L’environnement graphique est à la hauteur de sa réputation: rapide, beau, facile d’utilisation. Dans sa version X (10), il se nomme Aqua (me rappelle quelque chose se truc là…) et apporte les dernières technologies sur votre bureau: gestion vectoriel des objets, transparence, bureau virtuel 3D…
Il est bien entendu possible d’ajouter une couche X11 à Mac OS X vu que ce dernier est un système Unix (BSD).

Bref nous sommes devant un système presque parfait.
Presque car il n’est pas possible à l’heure actuelle (bien que des petits malins y soit parvenu) d’installer cet OS sur une machine autre que celle vendues par Apple. Il faut cependant admettre que le hardware d’Apple est de très grande qualité, mais il a cependant un prix…
Presque aussi car bien que basée sur des briques open-source, le système dans sa globalité n’est pas libre et reste la propriété d’Apple…

A bientôt, et bonne fêtes !

Catégories
Uncategorized

Eclipse avec PHP,Perl et C

Eclipse est devenu l’environnement de développement de référence pour les achitectures Java. Initialement créé par IBM, il a été offert à la communauté du libre (open source) qui l’a fait évolué vers un IDE multi language grâce à de nombreux plugins.
Dans ce post nous allons voir comment installer Eclipse (sous MacOS X, mais la procédure est la même sous Linux) avec les plugins suivant: C/C++, PHP et Perl.

La première chose à faire dest d’installer la derniere version d’Eclypse en se rendant sur le site Web à l’URL suivante: http://www.eclipse.org/downloads/
L’installation ne devrait pas poser de problème.
Ensuite, il faut lancer l’application, puis cliquer ensuite sur le menu Help / Software updates / Find and install.

Cliquer ensuite sur le bouton « New remote site » et saisir les informations suivantes:

Recommancer l’operation avec:

Selectionner ensuite les sites suivant, puis cliquer sur Finish:

Il faut alors selectionner les plugins C/C++, PHPEclipse et EPIC (Perl Eclipse) et finaliser l’installation.

Il ne reste plus qu’a importer vos projets existant ou bien de créer un nouveau projet pour profiter des nouvelles fonctions.

Bon codage !

Catégories
Systeme

Lancement automatique des services

Voici une méthode toute simple pour activer (ou désactiver) le lancement automatique d’un service (httpd, radiud, ftpd…) au démmarage de votre machine.

Forcer le lancement automatique:

# chkconfig –levels 235 on
Par exemple:
# chkconfig –levels 235 httpd on

Supprimer le lancement automatique:

# chkconfig –levels 235 off
Par exemple:
# chkconfig –levels 235 httpd off

Status des processus lancés au démarrage:

# chkconfig –list

Voili a+

Catégories
Reseau

Replication de serveur LDAP

Voici la problèmatique: je souhaite répliquer l’intégralité d’un serveur LDAP sur un autre des serveurs (pour des raisons de migration progressive…).

Mon serveur maître est basée sur OpenLDAP (ce sera également le cas de mon serveur esclave).
En cherchant un peu sur le net, je suis tombé sur plusieurs articles sur le sujet. Il y deux solutions possible, utiliser slurpd ou bien syncrepl. Cette deuxième méthode, plus souple sera développée dans ce post.

Syncrepl se base sur LDAP Content Synchronisation. Il y peu ou pas de modification à faire sur le serveur maître.

Configuration du serveur maître:
Nous partons sur le principe ou le serveur maître fonctionne parfaitement (exemple donnée pour le domaine dc=nicolargo,dc=net).
Il faut dans un premier temps créer un utilisateur avec les droits minimum (en lecture). C’est cet utilisateur qui sera utilisé pour la synchronisation (exemple donnée avec cn=syncuser,dc=nicolargo,dc=net).
La deuxième étape consiste à ajouter les lignes suivantes au fichier /etc/openldap/slapd.conf:

overlay syncprov
syncprov-checkpoint 100 10
syncprov-sessionlog 100

Pour en finir avec le serveur maître, il faut relancer le serveur LDAP:

# service ldap restart

Configuration du serveur esclave:
Une fois openldap correctemet installé et configuré, il faut ajouter les lignes suivantes au fichier /etc/openldap/slapd.conf:

syncrepl rid=100
provider=ldap://:389
type=refreshOnly
interval=00:01:00:00
searchbase= »dc=nicolargo,dc=net »
scope=sub
schemachecking=off
bindmethod=simple
binddn= »cn=syncuser,dc=nicolargo,dc=net »
credentials=syncestec

La synchronisation se fera toutes les heures à l’initiative du serveur esclave.
Le protocole réseau utilisé entre les deux serveur est LDAP: TCP/389.

Il suffit alors de lancer le serveur:

# service ldap start

La première synchronisation devrait initialiser votre serveur esclave. Pour vérifier que tout est ok, vous pouvez taper la commande suivante:

# ldapsearch -x

Et voili, si vous avez des questions…. le blog est fait pour ca.

PS: URL du site officiel sur le sujet: http://www.openldap.org/doc/admin23/syncrepl.html

Catégories
Reseau

Optimisation du stack TCP

Dans le cadre de mon boulot, je me suis intéressé à l’optimisation du stack TCP sous Linux. Les versions récentes de Linux intégrent maintenant un stack IP optimisé pour les réseau broadband, ce qui n’était pas le cas au début de l’aventure de l’OS Libre.

Afin de vérifier que tout est bien configuré sur votre poste, voici TCPtweak un petit script écrit en Perl qui va lire la configuration actuelle, tester votre liaison Internet et afficher la configuration conseillée.

Voici un exemple d’output:

#./tcptweak.pl -t
Current system configuration
—————————-
Default TCP Receive Window (bytes) = 109568
Maximum TCP Receive Window (bytes) = 131071
Default TCP Send Window (bytes) = 109568
Maximum TCP Send Window (bytes) = 131071
Timestamps (add 12 bytes to the TCP header) = YES
TCP selective acknowledgements = YES
Support for large TCP Windows = YES

Test your network
—————–
Bandwidth (Kbps) = 3691
Delay (ms) = 38
Bandwidth Delay Product (bytes) = 17532

Display the recommanded system configuration
——————————————–
On Linux OS copy/paste in /etc/sysctl.conf file:
Configuration optimized for LAN access:
net.core.rmem_default = 256960
net.core.rmem_max = 256960
net.core.wmem_default = 256960
net.core.wmem_max = 256960
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_sack = 1
net.ipv4.tcp_window_scaling = 1
Configuration optimized for the tested network:
net.core.rmem_default = 17532
net.core.rmem_max = 17532
net.core.wmem_default = 17532
net.core.wmem_max = 17532
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_sack = 1
net.ipv4.tcp_window_scaling = 1

Et voili, a+

Catégories
Systeme

Client FTP digne de ce nom…

Il y a certains logiciels que l’on envie à Windowsland. Je cherche depuis un petit moment un client FTP digne de ce nom. Après plusieurs tentatives, je suis tombé sur un article disant que Filezilla était en train d’adapter son client sous Linux.

On va sur le site suivant, puis on récupére la dernière version.
Voici donc la procédure d’installation:

# wget http://filezilla-project.org/nightlies/2006-11-28/i586-linux-gnu/FileZilla3.tar.bz2
# bzip2 -d FileZilla3.tar.bz2
# tar xvf FileZilla3.tar
# cd FileZilla3
# su – root
# cp -R * /usr/local/

On lance le client avec la commande:

# /usr/local/bin/filezilla

PS: j’ai du bidouiller le lien vers la librairie expat pour lancer le logiciel:

# ln -s /lib/libexpat.so.0.5.0 /lib/libexpat.so.1

Et voila le résultat:

Catégories
Systeme

Fedora Helper

L’installation d’une machine multimedia sour Fedora peut être fastidieuse, heureusement, des projets comme Fedora Helper permettent l’installation d’un pack comprenant plusieurs logiciels multimedia.

Pour installer Fedora Helper, il faut suivre la procédure suivante (sous Fedora Core 6):

# wget http://brandonhutchinson.com/fedora-helper-fc6
# chmod u+x fedora-helper-fc6

Lancement du script:

# ./fedora-helper-fc6

Il suffit ensuite de selectionner les logiciels que l’on souhaite installer puis de cliquer sur le bouton OK !


Bonne installation !