Substituição para protocolo de navegação CUPS

Substituição para protocolo de navegação CUPS

O protocolo de "navegação" do CUPS foi marcado como obsoleto sendo removido na v1.6 do CUPS, devido aproblemas com transmissãoe redes gerenciadas/WiFi. É um protocolo UDP para transmitir informações sobre impressoras instaladas em um servidor CUPS e compartilhá-las.

De forma simples, o diagrama a seguir descreve nossa propagação de rede e impressora usando este protocolo:

             Browse Protocol                                            
                                                                        
                 *Printers are shared as ipp pools on the printserver* 
+-----------+                                                           
|CUPS Client|  ipp://printserver/printer01, ipp://printserver/printer02 
|1.3.7      +--------+                                                  
|           |        |      +------------------+                        
+-----------+        |      |                  |                        
                     +------>   Printserver    |                        
+-----------+        |      |   CUPS 1.5.3     |                        
|CUPS Client|        |      |                  |                        
|1.5.3      |        |      +------+---------+-+                        
|           +--------+             |         |                          
+-----------+                      |         | ipp://printer01          
                        smb://printer02      |                          
                                   |         |                          
                         +---------v-+    +--v-------+                  
                         |           |    |          |                  
                         |Printer 02 |    |Printer 01|                  
                         |           |    |          |                  
                         ++----------+    +----------+                  
                 *Printserver connects to them using                    
                  all kinds of protocols*                               
                                                                        
  • Os servidores possuem interfaces na mesma VLAN para fazer a propagação zeroconf das impressoras;
  • Os clientes (alguns deles) possuem sistemas legados que imprimem arquivos lpr. Seu local cupspossui impressoras apontando para o servidor de impressão;
  • O servidor de impressão anuncia (transmite) novas impressoras e muda a cada 60 segundos;

Temos cerca de 10 clientes que consomem essas pesquisas do servidor de impressão, enquanto o próprio servidor de impressão se conecta a 250 impressoras. Como adicionar impressoras em cada cliente não seria uma tarefa agradável e devido a problemas de driver com impressoras mais recentes, o CUPS precisa ser atualizado, pergunto:

Pergunta:Existe uma alternativa ao protocolo de navegação para adicionar impressoras de forma distribuída?

Razões pelas quais esta arquitetura precisa ser mantida:

  • Com este printserver centralizado posso fazer contabilização de trabalhos através de scripts e enviá-los por email. Sincronizar impressoras, mas permitir que os clientes imprimam diretamente nelas, seria uma solução “suficientemente boa”, mas não a melhor;
  • Fácil gerenciamento de impressoras em um servidor;
  • Segurança. Por ser um ambiente virtualizado posso decidir qual servidor terá uma interface na mesma vlan que o servidor de impressão transmite seus pools/impressoras;
  • Nosso pessoal de suporte é treinado para adicionar e compartilhar impressoras usando a página de administração padrão do cups ( http://printserver:631) e não tem nenhum acesso ao shell. É por isso que soluções como adicionarum serviço avahipara cada impressora não são boas opções.

Responder1

Isso não foi testado por mim mesmo, mas consegui encontrar este tópico que parece uma possível solução alternativa para o seu problema. No tópico do fórum intitulado:Índice» Rede, Servidor e Proteção» Uma solução para o problema de impressão do CUPS (libcups) 1.6.

excerto

Olá, li inúmeros tópicos aqui e em outros lugares sobre um recurso realmente frustrante do CUPS 1.6: aparentemente você não pode usar o libcups sozinho para navegar pelas impressoras existentes na sua rede como fizemos no passado. Nem mesmo se você souber o endereço do seu servidor CUPS local. Você precisa instalar o pacote do servidor cups.

Passei muito tempo tentando encontrar uma solução para isso porque é realmente irritante.

Fico feliz em dizer que encontrei uma solução realmente fácil:

  1. Você só precisa de libcups (1.6), como originalmente
  2. Você precisa editar /etc/cups/client.confou ~/.cups/client.confe adicionar esta linha (o /version adiciona interoperabilidade com servidores CUPS mais antigos, eu acho):

      ServerName foobar/version=1.1
    

Aparentemente esta é uma nova opção que ainda não foi documentada. O crédito vai para o pessoal do Ubuntu, onde o encontrei:https://bugs.launchpad.net/ubuntu/+source/cups/+bug/1069671

Eu apreciaria se alguém editasse o wiki para adicionar isso. Estou na estrada agora. Caso contrário, farei isso na próxima semana.

Também tornar isso pegajoso pode ser apropriado.

Saúde!

Referências

Responder2

cups-browsed foi empacotado para debian e destina-se a usar mdns para adicionar funcionalidade equivalente.

informação relacionada