Créer son serveur VPN sous Debian
Le mar.27, 2008, dans Debian
Voici un tutoriel tout frais qui va vous permettre comme moi d’avoir son propre serveur VPN (Virtual Private Network).
Un serveur VPN, c’est quoi ? Pennons mon exemple : J’ai un serveur à la maison et j’ai un pc portable avec lequel je bouge beaucoup. J’avais envie d’un système me permettant d’être dans mon réseau local partout où j’irais dans le monde. C’est le but du VPN, il va agir comme un tunnel chiffré entre le client et le serveur via des certificats.
J’ai donc choisis une solution libre : OpenVPN accouplé à OpenSSL pour le chiffrement.
Pour cela, une bête de course n’est pas nécessaire, juste de quoi installer une Debian. Pour ma part j’ai une vieille tour trouvée dans ma cave avec un céléron, 32 Mo de mémoire vive et un vieux chipset graphique. De toute façon, pas question d’installer un environnement graphique : les paquetages minimum sont suffisants.
Voici mon architecture réseau :
Mon routeur : 192.168.0.254
Mon serveur VPN derrière le routeur : 192.168.0.111
L’interface TUN sur le serveur VPN qui va faire le lien : 10.8.0.1
L’interface TUN sur le client : 10.8.0.6
Le client étant connecté sur Internet via une autre connexion que la mienne.
Une fois votre serveur installé et mis à jour, installer ces paquets :
# aptitude install openvpn
# aptitude install liblzo
# aptitude install openssl
Vous êtres prêt pour la suite.
Notre VPN sera sécurisé à l’aide de certificats 1024 bits chiffrés RSA.
Sur le serveur :
cd /usr/share/doc/openvpn/examples/easy-rsa/
Edittez le fichier “vars” et à la fin remplissez les champs du certificat, comme par exemple :
- export KEY_COUNTRY=FR
- export KEY_PROVINCE=France
- export KEY_CITY=Paris
- export KEY_ORG=”MonOrganisation”
- export KEY_EMAIL=”contact@MonOrganisation.fr”
Initialisez les clés :
# . ./vars
# ./clean-all
Nous allons créer le certificat principal :
# ./build-ca
Tous les champs sont dejà rentrés sauf “Common Name” où il faut renseigner (par exemple “principal”)
Ensuite nous allons créer le certificat propre au serveur :
# ./build-key-server serveur
Tous les champs sont dejà rentrés sauf “Common Name” où il faut renseigner (par exemple “serveur”)
Création du certificat pour le client :
# cd /usr/share/doc/openvpn/examples/easy-rsa/
# . ./vars
# ./build-key client
# ./build-key client
Création du paramètre Diffie Hellman :
# ./build-dh
Copie des clés dans le répertoire de configuration d’OpenVPN :
# cp ./keys/ca.crt /etc/openvpn/
# cp ./keys/ca.key /etc/openvpn/
# cp ./keys/serveur.crt /etc/openvpn/
# cp ./keys/serveur.key /etc/openvpn/
# cp ./keys/dh1024.pem /etc/openvpn/
Création du fichier de configuration d’OpenVPN :
# vim /etc/openvpn/openvn.conf
#Port en écoute utilisé pour la connexion VPN
port XXX
#Protocole utilisé (Le protocole udp est plus sécurisé que le tcp)
proto tcp
#Type d’interface réseau virtuelle créée
dev tun
#Nom des fichiers servant à l’authentification des clients via OpenSSL
ca /etc/openvpn/ca.crt
cert /etc/openvpn/serveur.crt
key /etc/openvpn/serveur.key
dh /etc/openvpn/dh1024.pem
#Adresse du réseau virtuel (Le serveur aura l’adresse 192.168.0.1)
server 10.8.0.0 255.255.255.0
#Cette ligne ajoute sur le client la route du réseau du serveur
push “route 192.168.0.0 255.255.255.0″
#Ces lignes indiquent aux clients l’adresse des serveur DNS et WINS
push “dhcp-option DNS 192.168.0.254″
push “dhcp-option WINS 192.168.0.254″
# Cette ligne permet aux clients de voire les autres clients
client-to-client
keepalive 10 120
#Cette ligne active la compression
comp-lzo
#Ces lignes permettent de rendre persistante la connexion
persist-key
persist-tun
#Cette ligne permet d’indiquer le niveau de log souhaité (de 1 à 9)
verb 3
Voila pour la configuration serveur.
Si comme moi vous avez un routeur, pensez à ouvrir le port que vous aurez choisit sur le routeur !
Sur le serveur, il nous reste encore à activer le module tun du noyau :
# modprobe tun
Puis à configurer le réseau :
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t -nat -A POSTROUTING -o eth0 -s 192.168.0.254 -j MASQUERADE
iptables -t nat -A FORWARD -in-interface tun0 -j ACCEPT
iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
# /etc/init.d/openvpn restart
Via SCP ou clé USB, importer les certificats clients vers le poste client (les fichiers nécéssaires sont ca.crt, client.crt et client.key).
Mettez les dans votre répertoire /etc/openvpn/
Maintenant, travaillons sur le poste client pour en finir :
Editez le fichier de configuration OpenVPN :
# vim /etc/openvpn/openvpn.conf
#nous sommes client
client
tls-client
#le serveur
remote XX.XX.XX.XX XX #@IP publique du serveur et port d’écoute
proto tcp
dev tun
ifconfig 10.8.0.2 10.8.0.1
#Certification de l’AC
ca /etc/openvpn/ca.crt
#notre certificat
cert /etc/openvpn/client.crt
#clef secrete
key /etc/openvpn/client.key
#negociation
reneg-sec 21600
#compression
comp-lzo
#verbosité
verb 3
Voilà pour la configuration.
Maintenant configurons le réseau :
# echo 1 > /proc/sys/net/ipv4/ip_forward
# route add -net 10.8.0.0 netmask 255.255.255.0 gw 192.168.0.111
# /etc/init.d/openvpn restart
Et maintenant, connectons nous au VPN sur le client :
# openvpn --config /etc/openvpn/openvpn.conf
# ping 192.168.0.111
PING 192.168.0.111 (192.168.0.111) 56(84) bytes of data.
64 bytes from 192.168.0.111: icmp_seq=1 ttl=64 time=3.17 ms
64 bytes from 192.168.0.111: icmp_seq=2 ttl=64 time=2.62 ms
64 bytes from 192.168.0.111: icmp_seq=3 ttl=64 time=3.34 ms
64 bytes from 192.168.0.111: icmp_seq=4 ttl=64 time=2.77 ms
Et voilà le travail.
Vous êtes en réseau local de n’importe où dans le monde.
Cela permet par exemple de détourner des ports fermés lors d’une connection bridée et vous permettrait de les avoir tous ouverts comme à la maison ![]()
Si vous avez la moindre question ou un problème, contactez moi.
1er article
Le mar.25, 2008, dans Non classé
J’ai remis mon blog en place. Il ne me reste plus qu’a remettre des articles !
2 Clients libres pour Jabber
Le oct.26, 2007, dans Logiciels libres
Introduction
- Gajim est un client Jabber libre écrit en python qui utilise la bibliothèque graphique GTK. Il est libre et multi-plateforme.
- Pidgin (précédemment Gaim) est également un client libre de messagerie instantanée libre et multi-plateforme. L’atout de Pidgin est sans doute la gestion de plusieurs protocoles et la liste est longue : AIM, Bonjour, Gadu Gadu, Google Talk, Groupwise, ICQ, IRC, MSN, MySpaceIM, QQ, SILC, SIMPLE, Sametime, XMMP, Yahoo et enfin Zephyr. Cela signifie tout simplement que vous pourrez discuter avec vos contacts utilisant d’autres protocoles.
Utilisation rapide de jabber
- Avec Gajim :
- Téléchargement et Installation : le paquet se trouve dans les dépôts officiels aptitude install gaijm (Si vous n’êtes pas sous Debian, allez sur ce site)
- Création d’un compte :
- Cochez la case « Je veux créer un nouveau compte »
- Inscrivez le nom que vous désirez (par exemple : “nom”)
- Remplissez votre serveur Jabber (« jabber.fr » par exemple)
- Choisissez un mot de passe
- Cliquez sur « Avancer » puis « Finir »
Votre adresse jabber sera nom@jabber.fr
- Se connecter :
Dès la première connexion, il vous est demandé de remplir votre profil, puis vous allez voir apparaître votre liste de contact (vide).
- Utilisation de Gajim :
- ajout d’un contact : Cliquez sur le bouton « Action » puis « ajouter un contact », remplissez par l’adresse jabber voulue puis cliquez sur “résoudre” et “ajouter”.
- joindre un salon de discussion : Cliquez sur l’icône « Action » puis « Rejoindre un groupe de discussion » puis Remplissez les champs suivants :
* le nom du serveur
* le nom de la salle
* votre surnom
- Avec Pidgin :
- Téléchargement et Installation : le paquet se trouve dans les dépôts officiels aptitude install pidgin (Si vous n’êtes pas sous Debian, allez sur ce site)
- Une fois installé, lancez le puis cliquez dans “Comptes” puis “Modifier”
- Ensuite cliquez sur “Ajoutez”, séléctionnez le protocole XMPP (jabber), choisissez un nom d’utilisateur.
Puis dans “Domaine”, mettez votre serveur jabber (par exemple “jabber.fr”); dans “Ressource” mettez par exemple “Pidgin”.
Choisissez un mot de passe puis un alias local. Cochez la case “Créer ce nouveau compte sur le serveur” et puis c’est tout !
- Ajoutez des contacts : “Contact”, puis “Ajoutez contact”
- Rejoignez un salon de discussion : “Contact”, puis “Ajouter une discussion”.
Bien sur, avec Pidgin, vous pouvez ajoutez d’autres protocoles par exemple Yahoo messenger, ou IRC puis discutez en même temps avec eux.
Voilà, il ne vous reste plus qu’à convaincre vos amis que jabber est mieux.
Utiliser jabber, c’est la possibilité d’avoir une vie privée, sans que d’autres puissent surveiller vos conversations.
Les applications clientes et serveurs sont libres, et en français. Donc pourquoi se prendre la tête ?
Références :
http://wiki.jabberfr.org
http://www.jabberfr.org
Grisbi : un gestionnaire de comptes simple et efficace
Le oct.19, 2007, dans Logiciels libres
Grisbi est un logiciel qui va vous permettre aisément de gérer vos comptes personnels en toute simplicité avec beaucoup de possibilités, comme la gestion des prêts, des assurances, des revenus, etc…
Installation
Le paquet et ses dépendances se trouvent dans les dépôts officiels de Debian.
Il vous suffira de faire un :
# aptitude install grisbi
Si vous êtes sous Gnome par exemple, vous devriez retrouver un raccourci de Grisbi dans Application / Debian / Applications / Outils / Grisbi.
Dès la première exécution de Grisbi, choisissez quel type de compte vous désirez utiliser. Ensuite vous atterrissez dans la page d’accueil qui résume vos comptes, bon pour l’instant vous êtes fauchés, mais ça ne vas pas tarder à changer !
Allez dans la section “Comptes”.
Remplissez essentiellement le nom du compte, le nom de la banque si nécessaire, et surtout le solde initial, c’est-à-dire le montant qu’il y a en ce moment sur ce compte pour que les opérations à venir se déduisent automatiquement de ce solde.
Ensuite, déplacez vous dans la section “Opérations” pour gérer vos dépenses ou rentrées.
C’est ici que vous gérer vos dépenses, vos retraits, vos rentrées, les virements, etc…
Maintenant, rentrons un peu dans le vif de la comptabilité où parfois, nous aimerions que certaines tâches soient automatisées, comme par exemple l’assurance de la voiture, ou un retrait périodique. Pour cela, rendez-vous dans la section “Échéancier” et essayons de programmer une tâche .
Pour avoir une vision plus globale de vos comptes, je vous propose d’aller dans la rubrique “Catégories” où toutes vos dépenses qui sont classées par catégories (la rubrique “tiers” contient toutes les dépenses non classées).
La rubrique “Imputation budgétaire” détaille vos dépenses afin de comprendre les différents mouvements entre comptes puis enfin la section “États” qui vous permet d’effectuer des statistiques avancées de vos dépenses selon la période souhaitée avec beaucoup d’options.
Une rubrique bien complète pour voir de loin vos revenus et dépenses.
Je vous laisse bien sur la surprise de découvrir les autres fonctions du logiciel.
Notez la possibilité d’importer des fichiers QIF, OFX, Gnucash et d’exporter en QIF, et CSV.
Conclusion
- Paquet entièrement en français, et très stable.
- Bonne compatiblité avec d’autres formats
- Configuration aisée
- Complet pour une utilisation personelle
- Paquet disponible pour Debian Stable, Testing, et Unsable.
- Site officiel
Bien apprendre, c’est bien se documenter
Le oct.16, 2007, dans Debian
J’écris cet article pour montrer la richesse et la qualité de la documentation que l’on peut trouver sur Internet. L’ensemble de la documentation que je vais présenté est exclusivement pour Debian GNU/Linux mais dans certains cas peut concerner Linux en général.
Avant tout chose, il est préférable de commencer par l’installation, qui requiert parfois des connaissances. Par exemple, à l’installation de Debian, combien de partitions doit-je créer ou quel service dois-je activer…
Ce manuel est sous forme de paquet et décrit le processus d’installation d’une station Debian.
Ca y est, vôtre Debian est installée, et vous êtes dessus. Vous ne savez pas faire grand chose et vous aimeriez vous documenter sur par exemple comment installer un paquet, configurer Apache ou carrément commencer par une compilation du noyau (bon ça c’est pour l’humour =) ). Et ben sachez qu’il existe un manuel de référence pour Debian disponible en html ou en pdf qui vous aidera dans beaucoup de domaines notemment dans l’administration système.
Vous avez pris la main sur vos paquets d’installés, tout marche à peu près comme il le faut mais vous vous posez l’ultime question : Suis-je protégé ? Installer un pare-feu ou même un anti-virus, pourquoi pas ? Cette documentation (lien html et pdf) est celle que j’utilise pour sécuriser ma machine et je la trouve très complête.
Les documentations sont souvent mises à jour et complétées par encore plus d’information pertinentes. J’invite donc tous ceux qui sont comme moi, qui en apprennent tous les jours et qui aiment ça parce que se documenter c’est parfois chercher soi même pour mieux comprendre. Grâce à cette documentation par exemple, j’ai pu créer mon script firewall avec iptables.
D’autres sources sont sur le site de debian.
Merci aux auteurs…
Un livre complet sur l’administration Linux
Le oct.10, 2007, dans Linux
Vous me direz : “Oh il est rabat-joie avec son bouquin” mais moi j’aime bien apprendre avec un livre, plutôt que tout le temps sur internet.
J’ai donc il y a quelques semaines, fait l’acquisition d’un livre de Jean-François BOUCHAUDY et de Gilles GOUBET qui est sorti aux éditions Eyrolles :
Linux Administration
Un livre de “semi-poche”, avec tout de même près de 800 pages qui me permet de m’auto-formé et qui est capable de préparer aux 2 premiers niveaux du LPI.
Voici le sommaire :
- Introduction
- La gestion des utilisateurs
- Les fichiers
- Gestion de l’espace disque
- L’espace disque, aspects avancés
- La sauvegarde
- La gestion des processus
- Installation d’applications
- L’arrêt et le démarrage
- Les services réseau
- L’impression
- X-Window
- Bases de données
- Noyau et périphériques
- Installation de Linux
- La gestion des performances
Et encore les annexes à télécharger avec un mémento des commandes principales POSIX etc…
La page web su livre.
Prix d’achat sur Internet : 23 Euros.
Projet de site pour le salon debian-fr@chat.jabberfr.org
Le oct.06, 2007, dans Debian
Un nouveau site sur Debian est en cours de développement.
Il se veut “original et novateur”.
Il y aura une section qui présentera des paquets, une section où vous pourrez discuter sur le salon debian-fr via une interface web (MUCkl), une section de scripts fait maison, puis une section de liens intéressants.
Si vous êtes intéressé pour contribuer (relectures, rédaction d’article, mise en page…) rendez-vous sur le salon debian-fr.
Voici la page expliquant le projet.
N’hésitez pas à me contacter pour poser toute sorte de question, toute contribution est la bienvenue !
Merci d’avance
Chipset RT2500 en WPA2
Le oct.04, 2007, dans Linux
Beaucoup d’ordinateurs (dont les miens) ont des chipsets RT2500 pour le Wifi. Ils peuvent être présents sur des PC fixes ou des portables.
Vous le savez certainement mais je préfère le rappeler que le WPA (Wifi Protected Access) est le moyen le plus sécurisé (à l’heure où j’écris ce billet) pour sécuriser un réseau Wifi. Contrairement aux faiblesse du WEP, WPA n’est “crackable” uniquement par la méthode bien connue du brute force.
Nous en sommes actuellement à la version WPA2 basé sur les protocoles AES et CCMP.
Si votre routeur Wifi ou votre BOX est dotée d’une clé WEP, je vous conseille vivement de changer pour le WPA qui vous évitera peut être des ennuis.
Nous allons installer les paquets nécessaires :
apt-get install wireless-tools module-assistant rt2500-source
module-assistant auto-install rt2500-source
insmod /lib/modules/2.6.21-2-686/kernel/drivers/net/wireless/rt2500.ko
lsmod
“rt2500″ doit être affiché dans la liste. Si c’est bon, continuons, sinon c’est que la paquetage n’a pas été installé. Dans ce cas, recommencez.
Pour ceux qui n’utilisent pas Debian et qui n’ont pas les paquets dans leurs dépôts, il y existe encore l’ancienne méthode :
cd /usr/src/modules
wget http://rt2x00.serialmonkey.com/rt2500-cvs-daily.tar.gz
tar -zxvf rt2500-cvs-daily.tar.gz
rt2500-cvs-2006071214/Module
make
make install
insmod rt2500.ko
lsmod
rt2500 doit être dans la liste !
iwlist ra0 scan // Pour tester que l’on reçoit bien le signal Wifi.
Nous allons maintenant éditer le fichier de configuration réseau :
vim /etc/network/interfaces
auto ra0
iface ra0 inet dhcp
pre-up ifconfig ra0 up
pre-up iwpriv ra0 set AuthMode=WPAPSK
pre-up iwpriv ra0 set EncrypType=AES
pre-up iwconfig ra0 essid “NOM_DU_WIFI” // VALEUR A CHANGER (ESSID)
pre-up iwpriv ra0 set WPAPSK=”CLE_WPA” // VALEUR A CHANGER (Clé WPA)
L’ordre est important ainsi qu’un /etc/init.d/networking restart
Et le tour est joué, votre réseau wifi protégé par une clé WPA-AES est maintenant accessible sur votre machine automatiquement, même au démarrage !
Il existe bien sur des outils en interface graphique tel que wpa-gui mais l’ancienne méthode est des fois plus efficace…
Solution pour la lecture et l’écriture sur une partitions NTFS
Le oct.03, 2007, dans Linux
La plupart des partitions Windows, et certains disques amovibles (clés USB, disques dur externe…) sont formatés en NTFS (New Technology File System).
Cela fait longtemps que Linux est capable d’accéder aux partitions NTFS mais en écriture il en était différent !
Mais depuis l’arrivée de NTF3-3G en version stable, c’est du passé !
Ce pilote est bien sur libre, et multi plate-forme : Linux, FreeBSD, NetBSD, Mac OS X…
Pour le téléchargement, le paquet ntfs-3g doit normalement se trouver dans les dépôts de votre distribution. Sinon, allez faire un tour sur le site officiel.
Pour Debian, faites:
# apt-get install ntfs-3g
Il est à noter que FUSE est nécessaire au bon fonctionnement de ntfs-3g. A noter que pour l’activer faites comme ceci :
# modprobe fuse
Normalement il est présent par défaut, mais on ne sait jamais.
Et maintenant, l’utilisation !
Il y a 2 méthodes pour utiliser ntfs-3g :
# mount -t ntfs-3g /dev/sda1 /mnt/sda1 -o locale=fr_FR.UTF8
ou
# ntfs-3g /dev/sda1 /mnt/sda1 (rajouter -o force si il ne veut pas !)
Noter que /dev/sda1 correspond au disque NTFS que vous désirez monter et que /mnt/sda1 doit être créer par vous.
Le démontage :
# umount /dev/sda1
Ensuite nous allons l’inscrire dans le /etc/fstab pour qu’il retienne le montage :
Rajoutez :
/dev/sda1 /mnt/win ntfs-3g defaults,users,locale=fr_FR.UTF8,umask=0 0 0
Voilà, vous pourrez enfin accéder aux fichiers encore présents sur ce système de fichiers fermé d’un système d’exploitation fermé mais encore courant chez les nouveau linuxiens
OpenArena ou le FPS de Linux
Le sept.28, 2007, dans Linux, Logiciels libres
Vous rêvez de jouer à un FPS sous Linux sans installer d’émulateur ?
OpenArena est tout simplement un jeu libre disponible pour Linux (et Windows…)
Le code source de Quake 3 Arena a été rendu libre en 2005, donnant la possibilité aux développeurs du libres de créer OpenArena basé sur son moteur.
Malgré ses nombreuses maps et ces personnages, certains diront qu’il est dépassé, mais d’autres comme moi étant nostalgiques continueront d’aimer, qui plus est logiciel libre et sous Linux…
L’esprit du jeu étant toujours fun et dynamique, même avec les bots (très intelligents), ce jeu ne demeure moins qu’un jeu multi-joueur où l’on peut bien délirer.
J’ajouterais la possibilité d’installation du jeu sur une station de configuration modeste…
OpenArena, le jeu libre est disponible sur ce site pour Linux mais aussi pour Windows.
Notez tout de même qu’un joueur Quake 3 Arena ne pourras pas jouer en réseau avec un joueur OpenArena ![]()
Bon frag à tous !