My1' Blog

Linux

USB Over IP sous Linux

by admin on fév.15, 2010, under Debian, Linux, Logiciels libres, Planet-Libre

Vous disposez d’une imprimante USB (et seulement USB). Pour l’instant, vous n’avez aucun moyen de la contrôler depuis un autre ordinateur chez vous. Nous supposons bien entendu que les deux ordinateurs sont en réseaux (par le biais d’une box par exemple).

Je veux pouvoir transformer mon imprimante USB en imprimante réseau (et donc pouvoir l’utiliser et la contrôler partout chez moi).

La première solution qui s’offre à vous consiste à acheter un appareil qui partage sur le réseau les périphériques USB. Prévoyez un budget minimum de 100 euros pour avoir quelque chose de bien.

Mais heureusement que l’Open-Source est là, et nous allons nous débrouiller nous même, avec un budget de… 0 euros !

USB/IP est une excellente solution logicielle.

Procédure coté serveur

1- Téléchargez le logiciel présent dans les dépôts Debian / Ubuntu :

sudo aptitude install usbip

Vous devez charger les modules suivants pour être capable de contrôler vos ports USB :

sudo modprobe usbip
sudo modprobe usbip_common_mod

Pour démarrer le service « usbip » comme un démon :

sudo usbipd -D

Le message suivant s’affiche.

Bind usbip.ko to a usb device to be exportable!

Pas de panique ! C’est normal. Cela signifie vous devez choisir quel sera le port USB à partager.

1- Branchez votre appareil USB (imprimante, webcam, etc…)

2- Exécutez la commande pour trouver l’identifiant du vendeur et de l’appareil :

lsusb

Il est sous la forme :

Bus XXX Device ZZZ: ID VendorID:DeviceID

Les identifiants Vendeur / Appareil (Vendor / Device) sont codés sur 4 digits chacun (03f0:7a11 par exemple).Le premier (03f0) est pour Hewlett-Packard (qui est la marque de mon imprimante), et le second (7a11) est l’appareil USB (ici, mon imprimante en elle même).

Maintenant que nous avons trouvé les identifiants matériel, nous sommes capable de localiser sa position sur le bus.

sudo usbip_bind_driver –list

Résultat :

busid 2-1.2 (03f0:7a11)
2-1.2:1.0 -> none
2-1.2:1.1 -> usblp
2-1.2:1.2 -> none
2-1.2:1.3 -> usb-storage

Trouvez l’identifiant du bus sur lequel est notre imprimante. Ici, c’est « 2-1.2 ».

Il est temps maintenant de connecter l’appareil USB au réseau :

sudo usbip_bind_driver –usbip 2-1.2

Vous devez avoir une réponse finale du genre :

** Message: bind 2-1.2 to usbip, complete!

Une fois cette commande exécutée, le serveur est maintenant en écoute sur le réseau dans l’attente de connections clients.

Procédure coté client

Installation du logiciel :

sudo apt-get install usbip

Chargez le module « vhci-hcd » :

sudo modprobe vhci-hcd

Pour lister les périphériques USB disponibles sur le serveur :

sudo usbip -l <@ ip>

Bien entendu, remplacer <@ ip> par l’adresse IP du serveur.

Enfin, la commande qui nous apporte un nouveau périphérique USB :

sudo usbip -a <@ ip> X-Y

Remplacer X-Y par le l’identifiant du bus (2-1.2:1.1 pour l’exemple de tout à l’heure).

Si tout va bien, le périphérique est maintenant reconnu par le système. Si c’est un périphérique amovible, le périphérique sera monté; dans le cas d’une imprimante, il faudra l’installer comme une imprimante normale.

Sachez également logiciel client existe aussi sous Windows et je vous donne même le lien de téléchargement.

Tout d’abord, il faut extraire l’archive téléchargée.
En premier lieu, il faut installer le driver en cliquant droit sur le fichier bus.inf, puis sur « Installer ».
Ensuite, exécutez une invite de commande Windows (Menu Démarrer, Exécuter, « cmd »).
Avec la commande « cd » (comme sous Linux !), déplacez vous dans le répertoire où se trouve l’exécutable d’usbip.

Pour lister les périphériques USB disponibles sur le serveur (dans une invite de commande) :

usbip.exe -l <@ ip>

Et ensuite, la commande qui nous apporte un nouveau périphérique USB :

usbip.exe -a <@ ip> USB-ID

C’est bon ! Le périphérique USB doit maintenant être détecté par Windows !

J’espère avoir été clair sur les explications. Si vous avez suivi ce que j’ai fait à la lettre, tout devrait fonctionner. Sinon, vérifiez bien que vous avez choisi le bon identifiant du périphérique USB.
J’ai testé et ça fonctionne : Imprimante USB transformée en imprimante réseau, disque dur USB partagé sur le réseau, Webcam utilisée comme caméra de surveillance.

3 Comments :, more...

Linux Starter Kit

by admin on fév.10, 2010, under Linux, Logiciels libres

Une info toute fraîche pour les fans de Linux (j’espère nombreux) ou ceux qui veulent se lancer :

Le magazine Linux Identity publie fin du mois une édition spéciale, en quelque sorte destinnée aux débutants désirant de « lancer » dans l’univers palpitant de Linux : Linux Starter Kit.

Donc au programme, installations, comment faire cohabiter Ubuntu avec Windows, pas mal d’articles sur les applications intéressantes, et plein de trucs et astuces pour mieux utiliser son ordinateur.

Le magazine traîte surtout sur la distribution Ubuntu 9.10 Karmic Koala, en raison de sa popularité écrasante. Mais la pluparts des logiciels libres évoqués sont présents dans d’autres distrib’, donc pas de panique !

Bon je n’en dis pas plus !

Alors je vous donne rendez-vous dans quelques jours, dans votre kiosque, vous savez ce qu’il vous reste à faire !

NdM : Vous vous demandez certainement comment suis-je aussi bien informé, c’est parce que j’ai écris quelques articles pour le magazine.

Leave a Comment :, , more...

Installer sa Webcam Trust sous Debian

by admin on mai.08, 2008, under Debian, Linux, Logiciels libres, Planet-Libre

Je dispose d’une webcam TRUST 320 SPACECAM et ma distribution est toujours Debian (unstable).

Aucun site n’explique correctement l’installation du driver donc je vais le faire j’espère le plus clairement qu’il en soit.

Vous devez disposer des fichiers « linux-headers » de votre noyau :
# aptitude install linux-headers-`uname -r`
Ensuite nous allons installer le paquet qui nous intéresse :
# aptitude install ov51x-jpeg-source
# cd /usr/src
# bzip2 -d ov51x-jpeg.tar.bz2
# tar xvf ov51x-jpeg.tar
# cd ov51x-jpeg
# make
# make install
# modprobe ov51x-jpeg
# vim /etc/modules

Rajouter « ov51x-jpeg » à la fin.

Et voilà, vous pouvez utiliser un logiciel tel que amsn pour pouvoir utiliser la webcam sur Internet.

3 Comments : more...

Firewall avec Iptables

by admin on mar.28, 2008, under Linux, Logiciels libres

Iptables est un firewall très fiable remplaçant ipchains (avec le noyau 2.2) tournant sous Linux. Iptables permet de faire du firewalling stateful (à états), de la translation de port et d’adresse, du filtrage au niveau 3 et 4 du modèle OSI.

Iptables est l’interface d’administration et de configuration de Netfilter qui est le module intégré à Linux.

Iptables est donc intégré à Linux et sans doute il est déjà installé sur votre machine (noyau >= 2.4). Pour voir quelle version du noyau vous avez, faites un ‘uname -a’.

Avant tout,rappelons qu’un firewall est un dispositif de sécurité réseau qui se place en général au niveau des couches 3 et 4 du modèle OSI et il ne voit que ces couches, rien au dessus. Il est donc capable de savoir quel type de données il filtre (pages web, mails, streaming) en se basant sur les informations contenues dans les en-têtes de paquets IP.
Un firewall ne filtre donc pas les contenus réels des messages échangés, il ne fait donc pas la différence entre un mail contenant un virus et un mail normal, c’est le rôle d’un antivirus…

Tout d’abord, voici un peu de vocabulaire :

- Une règle est la brique de base permettant de fabriquer son firewall, en gros ce elle qui contient les descriptions et les actions… Le paquet est identifié (description) et il est analysé (actions) pour savoir si il peut continuer ou pas. Vous me suivez ?

- Une chaîne est une série de règles.
exemple de chaîne : INPUT : elle contient toutes les règles en entrée (up), c’est à dire tout ce qu’on m’envoie.

- Une table est un ensemble de chaînes
Il y a 3 tables principales :
-filter (contient les chaînes et règles de filtrage)
-nat (chaînes et règles NAT*)
-mangle (modifications arbitraires sur les paquets de tous les types)

*NAT : paquets qui veulent traverser une machine sans s’y arrêter (la machine filtrante n’est ni source ni destination)
Chaque règle que l’on créera contiendra une action :

Chaque règle contiendra une action :
- ACCEPT : le paquet filtré sera accepté
- REJECT : le paquet filtré sera rejeté, c’est à dire que la machine émettrice recevra de nous un paquet signifiant “port fermé”
- DROP : le paquet sera filtré “silencieusement”, la machine émettrice ne sait pas qu’il a été filtré par nous.

Voici les options principales de notre commande iptables :

-A chaîne : pour ajouter une règle en fin de chaîne
-I chaîne : pour insérer une règle en début de chaîne
-D n°chaîne : pour supprimer une chaîne n°
-P chaîne action : permet de donner la politique par défaut
-p : définit le protocole (tcp, udp, icmp…)
-dport : définit le port de destination (service que l’on émet)
-sport : définit le port source (service que l’on reçoit)
-s : @IP source
-d : @IP destination
-i : interface réseau empruntée par le paquet pour entrer sur la machine (seulement pour la chaîne INPUT)
-o : interface réseau de sortie (seulement pour la chaîne OUTPUT)
-m : utiliser le module spécial
-f : vider les règles
-x : vider les chaînes
-L : visualiser vos chaînes

Voici mon script iptables que je rend disponible librement ici, bien sûr, j’attends vos remarques et questions…

Plus de documentation sur ce site.

4 Comments :, , , more...

Un livre complet sur l’administration Linux

by admin on oct.10, 2007, under 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.

Leave a Comment :, more...

Chipset RT2500 en WPA2

by admin on oct.04, 2007, under 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…

Référence

Leave a Comment :, , , , , more...

Solution pour la lecture et l’écriture sur une partitions NTFS

by admin on oct.03, 2007, under 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

Leave a Comment :, more...

OpenArena ou le FPS de Linux

by admin on sept.28, 2007, under 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 !

Leave a Comment :, , more...

Utiliser une clé usb TNT avec Linux

by admin on sept.21, 2007, under Linux

Quoi de plus pratique d’avoir une clé usb TNT pour pouvoir profiter d’une quinzaine de chaines gratuites partout où l’on se déplace ?

Pour cela, je vous conseille d’acheter une clé USB TNT PINNACLE PCTV USB qui revient à moins de 60 euros.

L’installation se fait en 5 minutes :

aptitude install make gcc build-essential mercurial libxine1-ffmpeg dvb-utils kaffeine linux-headers-$(uname -r)

Quitter root puis :

hg clone http://mcentral.de/hg/~mrec/v4l-dvb-experimental/

cd v4l-dvb-experimental

make
Se remettre en root puis :

make install

modprobe em28xx
Nous avons installer Kaffeine qui sera notre lecteur puis les différents modules qui serviront à utiliser notre clé usb TNT.
Vous pouvez vérifier que cela fonctionne en lançant Kaffeine puis en allant dans “Télévision numérique” puis cliquer sur l’onglet “DVB” puis dans “chaînes“.

De là vous pourrez scanner vos chaines disponibles avant de pouvoir commencer a regarder la TV.

A noter que les fréquences sont en cours de changement donc attendez vous à ne pas capter telle ou telle chaîne.
Il ne nous reste plus qu’à installer la télécommande fournit avec.

Se mettre en root :

aptitude install lineakd

(moi il me met un message d’erreur après installation mais ce n’est pas important)
Nous allons créer le fichier de config :

vi /etc/lineakkb.def

puis y insérer le texte suivant :

#### Pinnacle PCTV USB Stick Remote ####

[PCTV]

brandname = “Pinnacle”

modelname = “PCTV USB Stick Remote Control”

[KEYS]

Mute = 160

Lancer = 110

Eteindre = 222

Chaine_Precedente = 152

Stop = 232

Plein_Ecran = 177

Chaine_Suivante = 233

VolumeUp = 176

VolumeDown = 174

[END KEYS]

[END PCTV]

#### END Pinnacle PCTV USB Stick Remote ####

Si par hasard ce fichier vous l’aviez deja, modifier le avec cette config, mais moi j’ai du le créer vu que je ne l’avais pas.

Quittez le mode root !

Nous allons ensuite chercher le type de télécommande :

lineakd -l

Nous devrions voir afficher :

PCTV Pinnacle PCTV USB Stick Remote Control

Créons un fichier de configuration pour cette télécommande:

lineakd -c PCTV

L’éditer :

vi ~/.lineak/lineakd.conf

et y insérer :

CdromDevice = /dev/cdrom

Display_align = center

Display_color = 0aff00

Display_font = -adobe-helvetica-bold-r-normal-*-*-240-*-*-p-*-*-*

Display_hoffset = 0

Display_plugin = xosd

Display_pos = bottom

Display_soffset = 1

Display_timeout = 3

Display_voffset = 50

KeyboardType = PCTV

MixerDevice = /dev/mixer

Screensaver =

conffilename = ~/.lineak/lineakd.conf

deffilename = /etc/lineakkb.def

keystate_capslock =

keystate_numlock =

keystate_scrolllock =

userdeffile = ~/.lineak/lineakkb.def

Mute = “KMIX_MUTE”

VolumeDown = “KMIX_VOLDOWN”

VolumeUp = “KMIX_VOLUP”

Chaine_Precedente = “dcop kaffeine KaffeineIface previous”

Chaine_Suivante = “dcop kaffeine KaffeineIface next”

Lancer = “dcop kaffeine KaffeineIface play”

Eteindre = “dcop kaffeine KaffeineIface quit”

Plein_Ecran = “dcop kaffeine KaffeineIface fullscreen”

Stop = “dcop kaffeine KaffeineIface stop”

Et pour finir nous allons parametrer notre linux pour qu’il lance “lineakd &” au démarrage :

Sous Gnome : Bureau / Préférences / Sessions / Programmes au démarrage / Ajouter / lineakd &

Sous KDE : ln -s /usr/bin/lineakd ~/.kde/Autostart/

Une fois votre ordinateur redémarré, lancer Kaffeine, et votre télécommande doit fonctionner !!!

Je previens juste qu’il se peut que certaines touches ne soient pas comme il faut (cela a été mon cas).

Mais après c’est à vous de bidouiller pour personnaliser vos touches.

3 Comments :, more...

Créer un réseau virtuel privé avec SSH

by admin on sept.19, 2007, under Debian, Linux

La nouvelle ( > 4.3 de juillet 2007) version de SSH permet désormais un “Virtual Private Network” entre 2 stations Debian. Trop cool !

Ce VPN va router le traffic d’un ordinateur vers le réseau via une connexion SSH.

SSH et Debian Etch sont requis.

Voici le scénario :

Schéma du tunnel

Ce qui est intéressant, c’est de détourner une connexion avec peu de ports ouverts vers une connexion où tous les ports seront ouverts.

Voici la procédure :

- Sur le client :

$ sudo ssh-keygen -t rsa

On va générer une clé rsa pour root.

Ensuite, rajouter dans le fichier /etc/network/interfaces en remplaçant les “adresseX” :
iface tun0 inet static
pre-up ssh -S /var/run/ssh-myvpn-tunnel-control -M -f -w 0:0 adresse5 true
pre-up sleep 5
address adresse1
pointopoint adresse2
netmask adresse3
up route add -net adresse4 netmask adresse5 gw adresse2 tun0
post-down ssh -S /var/run/ssh-myvpn-tunnel-control -O exit adresse5

Avec comme valeurs :

adresse1 = adresse ip du tunnel coté client “tun0″

adresse2 = adresse ip du tunnel coté serveur “tun0″

adresse3 = masque de sous réseau du tunnel

adresse4 = adresse ip du réseau privé (x.x.x.0)

adresse5 = adresse ip publique eth0

- Sur le serveur :

Editez /etc/ssh/sshd_config:

PermitTunnel point-to-point
PermitRootLogin forced-commands-only

Puis ajoutez ceci dans /root/.ssh/authorized_keys:

tunnel=”0″,command=”/sbin/ifdown tun0;/sbin/ifup tun0″ ssh-rsa AAAA ..snipped.. == root@server

Remplacer ssh-rsa par le contenu de /root/.ssh/id_rsa.pub du client.

Editez /etc/network/interfaces :

iface tun0 inet static
address adresse2
netmask adresse3
pointopoint adresse1

Dans /etc/sysctl.conf, vérifier que net.ipv4.conf.default.forwarding est à 1

 

$ sudo sysctl net.ipv4.conf.default.forwarding=1

Voilà, il ne nous reste plus qu’à activer le tunnel ;

Sur le client :

$ sudo ifup tun0

RTNETLINK answers: File exists
run-parts: /etc/network/if-up.d/avahi-autoipd exited with return code 2

user@client:~$ ping -c 2 192.168.0.101
PING 192.168.0.101 (192.168.0.101) 56(84) bytes of data.
64 bytes from 192.168.0.101 icmp_seq=1 ttl=64 time=305.8 ms
64 bytes from 192.168.0.101 icmp_seq=2 ttl=64 time=299.1 ms

…..

ligne 3 <– Erreur normale !

C’est pas magnifique ?

Vous voilà en réseau local avec votre station distante…

Guide de référence

Leave a Comment :, more...

Vous cherchez quelque chose ?

Utilisez le formulaire ci-dessous pour rechercher sur mon blog :