Forum Linux.général Mise en place d'un proxy IPP pour imprimante (et éventuellement pour un scanner avec le protocole ad

Posté par  . Licence CC By‑SA.
Étiquettes :
0
3
juil.
2021

Bonjour.

Je dispose d'une imprimante laser HP multifonctions, qui utilise IPP pour l'impression.

Cependant je vais bientôt devoir la démanager dans un autre sous-réseau. En attendant de pouvoir changer les configurations des machines qui y accèdent, je voudrais mettre en place un proxy pour rediriger les requêtes IPP vers cette imprimante, le proxy ayant l'IP d'origine de l'imprimante en question. Je compte faire tourner si possible ce proxy sur un Rapberry Pi (ou sur une autre machine si le rpi ne peut pas).

Avez-vous déjà fait ça ?

Je me demandais si un nginx ou un haproxy pouvait le faire …. ou s'il fallait utiliser ipp_proxy

Sinon je crois qu'il existe un protocole pendant à IPP pour les scanners … mais je ne me rappelle plus le nom. Est-ce que vous le connaissez ? Pour l'instant mes recherches google ne me donnent pas de réponse. Du coup, même question (celà dit je ne sais pas si mon imprimante utilise ce protocole, je dois chercher un peu).

  • # haproxy devrait fonctionner, un NAT aussi

    Posté par  . Évalué à 2.

    Ça me semble être un bon cas d'usage pour du NAT, mais un proxy générique type haproxy (en mode TCP, pas en mode HTTP) devrait fonctionner aussi. Par contre, certaines fonctions comme Bonjour ne fonctionneront pas (tout les flux réseau dont l'imprimante est initiatrice, sauf peut-être à réussir à faire un NAT symétrique ?).

    J'ai aussi une HP multifonction, et je suis obligé de passer par HPLIP pour l'impression et le scanner (les 2 via le réseau, c'est quand même pas totalement pourri). Je ne crois pas que ce soit standard du tout (dans xsane le scanner s'appelle hpaio:/net/hp_laserjet...). Ton imprimante est peut-être mieux lotie de ce point de vue.

  • # Protocoles réseau pour scanner

    Posté par  . Évalué à 1.

    Il semble y a voir deux protocoles qui cherchent à normaliser l'accès aux scanners par le réseau :

    • Apple AirScan or AirPrint scanning (official protocol name is eSCL)
    • Microsoft WSD, or WS-Scan (term WSD means "Web Services for Devices)

    Plus de détails ici : https://github.com/alexpevzner/sane-airscan

    • [^] # Re: Protocoles réseau pour scanner

      Posté par  . Évalué à 1. Dernière modification le 03 juillet 2021 à 23:05.

      Arf, en plus mon imprimante/scanner est dans la liste %-). Après installation de sane-airprint (sur Archlinux), je peux scanner par le réseau sans passer par HPLIP.

      En principe ça doit être ok pour l'impression aussi (support eSCL/airprint/airscan et WSD/WS-Print/WS-Scan), mais j'ai pas encore réussi.

      • [^] # Re: Protocoles réseau pour scanner

        Posté par  . Évalué à 1.

        Voilà, j'ai réussi, j'ai donc mon imprimante HP multifonctions qui fonctionne sans HPLIP, que j'ai donc désinstallé (un peu de code proprio en moins, c'est toujours bon à prendre) !

        Côté imprimante, il faut 2 trucs :

        • Avahi (avahi-daemon), qui permet de découvrir les fonctions de l'imprimante automatiquement.
        • le serveur CUPS.

        À la fin j'ai ceci dans l'interface CUPS :

        Pilote : LaserJet Pro M148f-M149f - IPP Everywhere (grayscale, 2-sided printing)
        Connexion : ipps://HP%20LaserJet%20Pro%20M148fdw%20(4EE8FE)._ipps._tcp.local/

        L'impression fonctionne depuis LibreOffice, Gimp, Evince, Firefox et lp (ligne de commande) (99% de mon utilisation).

        Côté scanner, il faut aussi 2 trucs :

        • Encore Avahi (avahi-daemon), qui permet de découvrir le scanner automatiquement.
        • sane-airprint

        Ça donne ceci dans xsane :

        Available devices: eSCL ip=192.168.11.58, 2a [airscan:e1:HP LaserJet Pro M148fdw (4EE8FE)]

        Bien heureux d'avoir eu l'occasion de creuser ce sujet !

        • [^] # Re: Protocoles réseau pour scanner

          Posté par  . Évalué à 2.

          Avahi (avahi-daemon), qui permet de découvrir les fonctions de l'imprimante automatiquement.

          Encore Avahi (avahi-daemon), qui permet de découvrir le scanner automatiquement.

          oui enfin, avahi-daemon, c'est pour la découverte de périphérique present sur le reseau et qui s'annonce via zeronconf/mdns

          si tu connais l'IP tu peux faire la meme chose dans les configs qui suivent.

          l'avantage de zeroconf/mdns/avahi, c'est que peut importe l'IP de l'appareil, il va utiliser son nom.local pour communiquer avec lui.

          d'ailleurs ton scanner ne marchera plus si l'IP change, il faudrait remplacer ip=192.168.11.58 par ip=HP%20LaserJet%20Pro%20M148fdw%20(4EE8FE)

          • [^] # Re: Protocoles réseau pour scanner

            Posté par  . Évalué à 1.

            Je suis pas certain d'avoir tout compris, et c'est sans doute possible de se passer de avahi/zeroconf/Bonjour. Mais si j'ai bien lu, les informations sur les fonctionnalité de l'imprimante passent par Zeroconf dans un champ URF.

            S'agissant pour Airprint d'un protocole Apple, une dépendance forte sur Zeroconf/Bonjour ne me surprendrait pas totalement.

            Mais à lire également cette page, la partie impression pourrait se contenter de IPP Everywhere.

            Sinon pour la partie scanner, c'est l'IP découverte au moment où je lance xsane, j'ai rien configuré du tout, ça change tout seul.

            Faut que j'essaye !

            • [^] # Re: Protocoles réseau pour scanner

              Posté par  . Évalué à 1.

              Et donc après essais un peu rapides, c'est pas tout à fait concluant.

              L'imprimante

              Essai 1 : remplacement de l'URL Zeroconf par l'IP dans le printers.conf de cups

              Les options type recto/verso ne sont plus disponibles.

              Essai 2 : suppression de toutes les imprimantes dans le serveur Cups, tout en laissant cupsd actif

              Evince voit l'imprimante en direct, toutes les options sont dispos.

              Essai 3 : suppression de toutes les imprimantes dans le serveur Cups, en stoppant le serveur

              Evince voit l'imprimante en direct, mais n'arrive pas à récupérer les informations de l'imprimante (donc boutons Options et Print grisés).

              Du coup, j'ai l'impression que Zeronconf est obligatoire pour l'impression (ce qui est pas top niveau protocole, convenons-en).

              Le scanner

              Le document reverse engineering eSCL semble confirmer que Zeroconf ne sert que pour le discovery.

              Confiant, je fais un curl https://192.168.1.58/eSCL/ScannerCapabilities, et joie ! Je récupère le XML avec les fonctions de mon scanner.

              Le hic, c'est que je ne sais pas comment spécifier l'IP directement à xsane. C'est sans doute possible. Du coup je sens que la numérisation peut fonctionner sans Zeroconf, mais j'ai pas pu tester.

              (et mon imprimante a une IP assignée dans mon serveur DHCP, donc elle ne change pas)


              Bon voilà c'est des tests vite faits, je serais le premier heureux à me passer d'avahi, alors n'hésitez pas à me contredire !

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.