Cette page est en cours de rédaction.
Apportez votre aide…

Ceci est une ancienne révision du document !



Partage d'une imprimante

Il existe une page qui explique comment s'y prendre entre windows et ubuntu: partager une imprimante Ubuntu avec Windows

Ce qui suit est extrêmement simple. C'est plutôt long mais c'est seulement pour que vous puissiez comprendre ce que vous êtes en train de faire. Certains diront que partager une imprimante sous linux c'est difficile, en réalité il n'y a rien de plus simple, comme vous pourrez le voir dans ce qui suit.

Tout d'abord il faut connaître les outils suivants:

  • DHCP : C'est le protocole qui assigne automatiquement une adresse IP (locale) à une machine qui se connecte au réseau. Dans ce cas si une machine paramétrée pour récupérer son adresse IP en mode DHCP est la première à se connecter au réseau, elle récupère la première adresse IP disponible dans la plage d’attribution du système allouant ces adresses (modem routeur ou serveur), par exemple elle se verra attribuer l’adresse IP “192.168.0.1”. Mais si votre machine est la seconde à se connecter au réseau elle pourra récupérer par exemple l’adresse IP "192.168.0.2". Cette assignation aléatoire des adresses IP peut poser des problèmes si vous souhaitez partager une imprimante en réseau. En effet pour partager une imprimante en réseau il va falloir dire à la machine qui la cherche où elle se trouve EXACTEMENT sur le réseau. Or si cette adresse IP change vous comprenez que votre machine désirant imprimer ne pourra plus localiser l'imprimante en question.
    Remarque : À ce sujet il existe deux types d'adresse IP :
    • les adresses IP locales, qui sont de la forme : 192.168.X.X, 10.X.X.X ou 172.Y.X.X (avec X entre 0 et 255 et Y entre 16 et 31) dites non-routables et utilisables sur un réseau local,
    • les adresses IP publiques dites routables qui sont toutes les autres.
  • CUPS : (Common Unix Printer Service) Ce que les utilisateurs d'UNIX utilisent pour partager une imprimante et en particulier Linux qui fait partie de la famille Unix. Dans la suite on suppose que CUPS est installé sur la machine serveur d'impression.
  • Samba : Sert à partager des dossiers entre une machine Linux et une machine Windows. Ce n'est pas ce qu'on va utiliser dans ce qui suit. Je le précise parce que certains pourraient etre tentés d'utiliser Samba pour partager une imprimante entre plusieurs machine Ubuntu. Samba est utile uniquement pour les communications avec les machines Windows (si vous désirez partager votre imprimante ou des dossiers dans un réseau hétérogène) mais n'est pas nécessaire pour le partage d'imprimantes avec des machines Windows.
  • DNS : (Domain Name System) C'est ce qui transforme une adresse IP telle que 212.43.230.226 en une adresse mémorisable par un humain tel que http://doc.ubuntu-fr.org
  • Serveur DNS : Ce sont les serveurs que votre FAI utilise pour faire cette conversion. Vous pouvez créer un serveur DNS si vous souhaitez donner un nom à votre machine au lieu de lui assigner une adresse IP.
  • FAI : Fournisseur d'accès à internet.

Cette page explique comment partager une imprimante qui est connectée à une machine et que l'on souhaite utiliser avec une autre machine qui peut être sous Windows.

Cependant, il y a un défaut à cette méthode : la machine serveur CUPS connectée à l'imprimante doit être allumée lorsque vous souhaitez utiliser l'imprimante avec toute autre machine qui peut être connectée (allumée) au réseau ensuite.

Si vous souhaitez que l'imprimante soit utilisable en permanence, vous devrez acheter un serveur d'impression (dans les 60 euros). Il s'agit d'un petit boîtier qui se connecte sur le switch et qui a son propre numéro IP. !! Attention il n'y a pas pour les particuliers des serveurs d'impression qui gère les imprimantes multifonction, celle-ci générant un flux de données du scanner et de l'imprimante sur le même cable (USB ou parallèle) ! L'imprimante sera connectée à ce serveur d'impression et dans ce cas elle est évidemment directement accessible à partir de son adresse IP.

Cette page décrit 2 modes de fonctionnement :

  1. mode de fonctionnement non DHCP avec utilisation du serveur DNS : nous utilisons le serveur DNS du FAI. Dans ce cas il faut s'assurer de la pérennité des adresses IP des serveurs DNS de votre FAI qui ne sont pas automatiquement mises à jour. On contourne cette difficulté facilement avec deux ou trois machines, mais au-delà, il vaut mieux appliquer le mode de fonctionnement (2) décrit ci-dessous.
  2. mode de fonctionnement DHCP : cette méthode n'est pas tributaire d'une connexion internet.

Dans les 2 cas l'imprimante partagée est reliée à la machine serveur CUPS, soit sur port parallèle, soit sur port USB.

Graphiquement

Ouvrir Système→Administration→Impression et ajouter une imprimante voir imprimante_installation

Après avoir installé une imprimante, choisissez-la par défaut puis cochez simplement dans paramètres globaux les deux options à dispositions ("Détecter des imprimantes LAN" et "Partager des imprimantes"). Vos imprimantes ou plutôt votre imprimante devrait maintenant être disponible sur le réseau après avoir redémarré l'ordinateur ou seulement le serveur d'impression (voir plus loin).

En lignes de commandes

Tout d'abord nous allons configurer CUPS serveur d'impression sur la machine serveur du réseau. Il faut éditer le fichier /etc/cups/cupsd.conf du serveur (pour Dapper le fichier à modifier est /etc/cups/cups.d/ports.conf). C'est lui qui autorise les machines distantes à utiliser l'imprimante locale.

Alt+F2 puis :

 $ gksudo gedit /etc/cups/cupsd.conf     (pour Ubuntu)
ou
 $ kdesu kate /etc/cups/cupsd.conf       (pour Kubuntu)
  • Commenter la ligne Listen 127.0.0.1:631 et ajouter la ligne Port 631
#Listen 127.0.0.1:631
Port 631

Conseil Si vous êtes sur edgy(seulement), il se peut que vous ayez un fichier qui ressemble à ça :

...
# ex: 631, myhost:80, 1.2.3.4:631
#
#    Port 80
#    Port 631
#    Listen hostname
#    Listen hostname:80
#    Listen hostname:631
#    Listen 1.2.3.4
#    Listen 1.2.3.4:631
#
#Port 631

Listen 631
Listen /var/run/cups/cups.sock
Listen *:631
...

Dans ce cas, commentez Listen 631 et Listen *:631 de façon à avoir :

...
#Listen 631
Listen /var/run/cups/cups.sock
#Listen *:631
Port 631
...


Remarque Si vous êtes sur edgy, pas besoin de faire le point qui suit, redémarrez seulement CUPS (sudo /etc/init.d/cupsys restart).


  • Modifier une petite partie du fichier /etc/cups/cupsd.conf (ce même fichier pour Dapper) pour autoriser l'accès aux adresses de la plage DHCP : (repérer la balises <location /> )
<Location />
  Order Deny,Allow
  Deny From All
  Allow From 192.168.0
</Location>

Ensuite (partie commune)

  • Ne pas oublier de redémarrer CUPS :
sudo /etc/init.d/cupsys restart
  • Si votre pare-feu est activé, (par défaut si vous n'avez rien fait, il est désactivé sous Ubuntu) pensez à ouvrir le port 631 (lpp), configurer le pare-feu avec firestarter, si vous n'avez pas de pare-feu (firewall) activé ne faite rien.

Il s'agit maintenant d'installer l'imprimante sur un ordinateur non connecté à l'imprimante.

3 méthodes d'installation sont proposés ci-dessous :

  • Paramétrer rapidement (si vous connaissez un peu les bases d'un réseau)
  • Deux exemples concrets avec une freebox et un routeur DHCP classique

Sur un autre pc Ubuntu 7.10 ou suivant

FIXME

Sur un autre pc sous Ubuntu 7.04 ou inférieur

Ouvrez Système→Administration→Impression

puis double cliquer sur nouvelle imprimante puis sélectionner imprimante réseau puis imprimante CUPS,

Dans la ligne dessous taper:

ipp://'l'ip du serveur imprimante'/printers/'nom exact de l'imprimante(même nom que celui qui est sur le serveur)'

Un exemple:

ipp://192.168.0.25/printers/PSC-1210

pour un serveur ayant pour ip:192.168.0.25 et comme nom d'imprimante:PSC-1210

Pour ne pas avoir de problème avec les ips paramétrer une ip fixe dans Système→Administration→Réseau sur le serveur ainsi que le client !

Sur un autre pc sous Windows

  • Modifier le fichier C:\WINDOWS\system32\drivers\etc\hosts sur le PC client Windows (Windows XP ne reconnaît pas l'adresse IP, il faut donc l'associer à un nom d'hôte) :
127.0.0.1 localhost
192.168.x.yyy nom_host

192.168.x.yyy est l'adresse IP du poste Ubuntu où est reliée l'imprimante, et nom_host le nom du poste Ubuntu sur le réseau local.

  • Pour Windows XP ou Windows 2000, ajouter l'imprimante en utilisant la fonction dédiée du panneau de configuration Windows XP, et utilisez l'adresse suivante pour la connexion réseau :
http://nom_host:631/printers/nomimprimante

nom_host est le nom du PC serveur et nom_imprimante est le nom de votre imprimante sur le PC serveur.

Exemples détaillés et étendus

(1) Exemple avec mode non DHCP avec Freebox et une machine Linux

Dans ce cas la configuration comprend le matériel suivant :

- une machine Linux serveur CUPS en mode IP statique avec une imprimante connectée,

- une machine Linux en mode IP statique,

- une Freebox avec une connexion Internet active.

Le mode DHCP est désactivé sur le modem routeur et des adresses IP fixes (dites statiques) sont affectées à toutes les machines connectées à ce périphérique.

Pour installer la connexion Internet procéder ainsi :

- allez dans le menu Système ⇒ Administration ⇒ Réseau et choisissez Connexion internet puis Propriétés.

- dans configuration, choisissez adresse IP statique et assignez un numéro IP.

Par exemple pour la machine principale de la maison choisissez :

192.168.0.1

pour le masque de sous réseau tapez

255.255.255.0

et pour la passerelle indiquez

192.168.0.254

Faites la même chose pour les autres machines Ubuntu connectées sur le réseau.

Vous allez sur le site de Free, puis vous cliquez "free haut débit" puis "votre compte" puis "fonctionnalité routeur de la freebox" puis "pour activer les fonction routeur NAT de votre freebox" chercher la page "fonctionnalité routeur de la Freebox" et vous remplissez les champs comme suit:

Vous souhaitez activez ce service: activation

IP freebox 192.168.0.254
DHCP activé:non

Le reste pour ce qui nous concerne n'a pas d'importance. Ensuite vous relancez la Freebox.
NOTA : En désactivant le DHCP, vous devrez configurer manuellement le DNS de votre connexion. Pour information au 11/1/2006, les DNS Free sont :

212.27.32.176

et

212.27.32.177

NOTA-2 : Ce paragraphe ne s'applique plus depuis que l'interface de configuration de la FreeBox en mode routeur propose d'assigner des baux DHCP aux machines reperées par leur MAC adresse. Renseignez simplement à la fin de la page de configuration l'IP de vos machines et la mac adresse qui y correspond.
Ex : Première machine.

IP : 192.168.0.2 MAC 00:EE:CB:15:00:FF


Seconde machine.

IP : 192.168.0.3 MAC 00:BC:CB:1A:00:FF


etc.

Ceci permet de réserver les IP à des machines bien précises et de pouvoir conserver le DHCP. Pour obtenir la MAC adresse de votre machine entrer : "ifconfig" dans un terminal. L'information se situe après "HWaddr" Si vous changer d'ordinateur vous devrez modifier cet identifiant. A présent, pour partager l'imprimante, ça va être très simple.

Imaginons que vous avez assigné à votre machine l'IP :

192.168.0.1

Vous souhaitez utiliser l'imprimante qui se trouve connectée à la machine qui a l'IP

192.168.0.2

Pour cela dans la machine client

192.168.0.1

vous allez dans le menu Système ⇒ Administration ⇒ Impression et vous double-cliquez sur Nouvelle imprimante.

Selectionnez Imprimante réseau, puis Imprimante CUPS IPP et là dans le champ URI vous notez:

ipp://192.168.0.2/printers/nom_exact_de_l'imprimante_ici

Par exemple : si l'imprimante est une DeskJet-920C, dans le champ URI vous noterez :

ipp://192.168.0.2/printers/DeskJet-920C

Puis cliquez sur suivant, choisissez votre imprimante sur la liste, puis cliquez sur suivant.

Si un jour vous avez des problèmes de connexion internet, il se peut que ça vienne du fait que les adresses IP des serveurs DNS ne soient plus les bonnes.(ce qui est normal vu que l'on a supprimé le mode DHCP). En effet parfois les FAI changent de serveur DNS.

Dans ce cas il existe deux méthodes. Soit vous cherchez sur le site de votre FAI ou ailleurs les nouvelles adresses IP des serveurs DNS et vous les rentrez dans système/administration/réseaux/DNS soit vous rebranchez momentanément votre routeur en mode DHCP. Connectez vous à internet puis revenez en mode DHCP désactivé. (Pour les utilisateurs de la Freebox n'oubliez pas qu'il faut toujours la rebooter pour qu'elle prenne en compte les modifications).

(2) Exemple avec mode DHCP avec Routeur DI-604

Dans ce cas la configuration comprend le matériel suivant :

- une machine Linux serveur CUPS en mode DHCP avec une imprimante connectée,

- une machine Windows en mode DHCP statique,

- un modem routeur DI-604 en mode DHCP connecté à un modem ADSL avec une connexion Internet optionnelle mais non nécessaire au partage d'imprimantes.

Dans cette configuration le modem routeur DI-604, qui a l'option mode DHCP active, alloue les adresses IP à toutes les machines qui sont connectées à ce périphérique à l'exception de mon serveur auquel j'attribue une adresses IP statique car cette adresse doit être connue de toutes les autres machines du réseau pour qu'elle puisse à la demande effectuer toutes les tâches de type serveur comme par exemple des tâches d'impression avec CUPS. Toutes machines du réseau incluant le serveur sont paramétrées en mode DHCP pour se voir attribuer une adresse IP du modem routeur.

Le modem routeur à sa propre adresse IP

192.168.0.1

configurée en usine. Elle n'est pas dans la plage d'attirbution DHCP qui va de

192.168.0.100

à

192.168.0.199

(paramétrable) et ne fait donc pas partie du réseau géré par le modem routeur. Je peux communiquer avec ce modem routeur pour éventuellement le reparamétrer en tapant dans un navigateur :

http://192.168.0.1

J'ai affecté à ma machine Linux qui supporte le serveur CUPS l'adresse IP statique suivante :

192.168.0.150

qui évidemment est dans la plage d'adresses géréeé par le modem routeur et non attribuable à d'autres machines du réseau pour des raisons évidentes de cohérence.

Je crois qu'il est possible d'installer un serveur DNS local qui permette de communiquer une adresse dynamique du serveur à toutes les autres machines du réseau mais cette option sort du cadre de cet article.

J'ai ensuite pu permettre le partage de mon imprimante HP-3420 connectée sur le port USB de mon serveur Linux et installée localement sous le nom "DeskJet-3420" avec l'utilitaire de KDE, avec une machine Windows XP connectée au réseau en mode DHCP (elle réclame son adresse au modem routeur à son lancement). Comme sur cette machine le mode

ipp://

n'est pas pas disponible je rentre dans le panneau de configuration et installe une imprimante réseau en lui donnant le nom suivant :

http://192.168.0.150:631/printers/DeskJet-3420

Je lui affecte ensuite le bon driver Windows car le nom "DeskJet-3420"permet à cette machine Windows de trouver le périphérique physique correspondant sur le serveur Linux à ce nom mais non le paramétrage affecté localement à cette même machine sous le nom "DeskJet-3420" ainsi localement sur le serveur cette imprimante peut désigner une imprimante paramétrée pour imprimer en noir et blanc alors que pour la machine Windows un paramétrage local sur cette machine permettra une impression couleur.

Évidemment avec une machine Linux dotée du client CUPS l'adressage de l'imprimante se fait en mode

ipp://192.168.0.150:631/printers/DeskJet-3420

comme décrit dans l'exemple (1).

Cette seconde méthode avec mode DHCP est évidemment vivement recommandée.


Contributeurs : dmoyne

  • applications/partage_d_imprimante.1196200612.txt.gz
  • Dernière modification: Le 18/04/2011, 14:47
  • (modification externe)