Serveur d'impression

Comment configurer une architecture d'impression CUPS "à deux niveaux" à l'aide de BrowsePoll dans RHEL. – Bien choisir son serveur d impression

Par Titanfall , le 3 mai 2019 - 6 minutes de lecture

Environnement

  • Red Hat Enterprise Linux 6.3

Problème

  • Ce dont j'ai besoin, c'est d'imprimer sur des files d'attente sur le serveur1 partagées à partir de serveur2 ou serveur3 et de les livrer.
    enfin sur des imprimantes partagées en réseau sur server2 ou server3.
  • Comment créer un serveur d'impression "maître" qui partage des imprimantes déjà partagées par d'autres serveurs d'impression "esclaves".
  • J'essaie de créer une architecture d'impression comme celle-ci:

    Clients ----------> Master ----------> Print -------------> Imprimantes
                        Serveurs Serveurs
    
                                                       + ------- printer2a
    client1a ---- + + ------- printer2b
    client1b ---- + + ----- serveur2 ---- + ------- ...
    client1c ---- + | + ------- printer2z
    ... ---- + ----- serveur1 ---- +
    client1z ---- + | + ------- printer3a
                                    + ----- serveur3 ---- + ------- imprimante3b
                                                       + ------- ...
                                                       + ------- printer3z
    

Résolution

Il n'est pas possible de "partager à nouveau" des imprimantes déjà partagées à l'aide du protocole IPP (Internet Printing Protocol).

Cependant, une solution de contournement est disponible. En utilisant le protocole LPD entre le serveur "maître" et les serveurs d'impression "esclaves", il est possible de configurer une architecture d'impression dans laquelle les clients utilisent la méthode BrowsePoll pour détecter les imprimantes partagées par le serveur maître. Le serveur maître envoie ensuite les travaux d'impression aux serveurs d'impression, qui les envoient effectivement à l'imprimante.

Pour schématiser cette architecture en ASCII, cela ressemble à ce qui suit (les protocoles de réseau utilisés pour communiquer entre les serveurs sont indiqués entre parenthèses):

Clients -> (IPP) -> Master -> (LPD) -> Print -> (socket) -> Imprimantes
                    Serveurs Serveurs (ou lpd)

                                                   + ------- printer2a
client1a ---- + + ------- printer2b
client1b ---- + + ----- serveur2 ---- + ------- ...
client1c ---- + | + ------- printer2z
... ---- + ----- serveur1 ---- +
client1z ---- + | + ------- printer3a
                                + ----- serveur3 ---- + ------- imprimante3b
                                                   + ------- ...
                                                   + ------- printer3z

Pour configurer cela, procédez comme suit:

Configuration du serveur d'impression

  1. Installer, activer et démarrer le tasses-lpd service avec les commandes suivantes:

    miam installer cups-lpd
    chkconfig cups-lpd sur
    chkconfig xinetd sur
    service xinetd start
    
  2. Modifier /etc/cups/cupsd.conf comme suit.

    1. Changement "Écouter localhost: 631" à "Écoutez *: 631"afin que CUPS écoute les demandes d'impression provenant d'autres serveurs.

    2. Changement "Navigation sur" à "Navigation désactivée"pour désactiver la navigation sur ce serveur. Comme nous ne pouvons pas partager à nouveau les imprimantes, nous devons les ajouter explicitement sur le serveur maître.

    3. Ajouter "Autoriser de tous" dans le ""section, de sorte qu'il ressemble à:

      
        
        
        
        Ordre permettre, refuser
        Autoriser de tous
      
      

      Ceci est fait pour permettre à d'autres serveurs d'accéder à ce serveur.

  3. Afer apportant les modifications à cupsd.conf, redémarrez CUPS (avec "redémarrage des gobelets de service").

  4. Ajoutez une ou plusieurs imprimantes à ce serveur et marquez-les comme partagées. Cela pourrait être fait à l'aide de l'interface graphique, mais également à l'aide de la commande lpadmin, comme suit:

    lpadmin -p  -v socket: // -o imprimante-est-partagé = vrai -E
    

    Les options pour lpadmin sont les suivants:

    • Le "-p "option ajoute le nommé au serveur.

    • Le "-v socket: //"L’option indique à CUPS de communiquer avec l’imprimante réseau située à en utilisant le protocole "AppSocket" (ou JetDirect). Vous pouvez utiliser "lpd: //" au lieu de "prise://"si l’imprimante avait plutôt besoin de ce protocole.

    • Le "-o printer-is-shared = true"option configure l'imprimante en tant qu'imprimante partagée.

    • Le "-E"option active l'imprimante.

Configuration du serveur maître

  1. Modifiez /etc/cups/cupsd.conf comme suit.

    1. Changement "Écouter localhost: 631" à "Écoutez *: 631"afin que CUPS écoute les demandes d'impression et de navigation d'autres serveurs.

    2. Ajouter "ParcourirRemoteProtocols none"pour arrêter ce serveur pour naviguer dans les imprimantes depuis d’autres serveurs.

    3. Ajouter "Autoriser de tous" dans le ""section, de sorte qu'il ressemble à:

      
        
        
        
        Ordre permettre, refuser
        Autoriser de tous
      
      

      Ceci est fait pour permettre à d'autres serveurs d'accéder à ce serveur.

  2. Après avoir apporté les modifications à cupsd.conf, redémarrez CUPS (avec "redémarrage des gobelets de service").

  3. Ajoutez des files d'attente d'impression sur le serveur maître qui envoient des tâches aux imprimantes des serveurs d'impression. Vous pouvez utiliser une commande comme celle-ci pour accomplir ceci:

    lpadmin -p  -v lpd: /// -o imprimante-est-partagé = vrai -E
    

    Les options pour cette commande sont les mêmes que ci-dessus. L'important est que le nom de l'imprimante reste cohérent tout au long du processus. Ainsi, par exemple, si l'imprimante créée sur un serveur d'impression est "hpprinter", la commande à exécuter sur le serveur d'impression est la suivante:

    lpadmin -p hpprinter ...
    

    et la commande à exécuter sur le serveur maître est la suivante:

    lpadmin -p hpprinter -v lpd: //print-server1.example.com/hpprinter
    

    Il est également important d'utiliser le "lpd: //"protocole pour communiquer avec le serveur d'impression, au lieu de"ipp: //". Quand "ipp: //"est utilisé pour communiquer entre le serveur maître et le serveur d’impression, il n’est pas possible de partager à nouveau les imprimantes du serveur maître vers les clients.

Configuration du client

  1. Une fois les serveurs configurés, ajoutez la ligne suivante à /etc/cups/cupsd.conf sur le (s) client (s):

    BrowsePoll 
    

    est l'adresse IP ou le nom d'hôte du serveur maître configuré dans la section ci-dessus. Cela permettra au client d'accéder automatiquement aux imprimantes partagées sur le serveur maître.

Essai

Une fois le ou les serveurs d’impression, le serveur maître et le client configurés, vous pouvez utiliser le lpstat commande sur le client pour montrer les imprimantes. Par exemple:

[root@test ~]# lpstat -t
planificateur est en cours d'exécution
pas de destination par défaut du système
périphérique pour hpprinter: ipp: //master-print.example.com/printers/hpprinter
hpprinter accepte les demandes depuis ven. 02 août 2013 15:19:23 PDT
l'imprimante hpprinter est inactive. activé depuis ven 02 août 2013 13:19:23 PDT

Essayez ensuite d’imprimer un fichier sur le client.

Cette solution fait partie du programme de publication accéléré de Red Hat et fournit une vaste bibliothèque de solutions que les ingénieurs de Red Hat ont créées tout en prenant en charge nos clients. Pour vous donner les connaissances dont vous avez besoin dès qu'elles sont disponibles, ces articles peuvent être présentés sous une forme brute et non modifiée.

Click to rate this post!
[Total: 0 Average: 0]

Commentaires

Laisser un commentaire

Votre commentaire sera révisé par les administrateurs si besoin.