Compartir una impresora CUPS automágicamente

Cómo configurar CUPS para que sirva una impresora a toda una red sin que los clientes la conozcan de antemano.

Ya sé que es una chorrada y que hay miles de recetas sobre esto, además de la propia documentación de CUPS. Pero siempre que lo necesito pierdo más tiempo del necesario, así que pongo aquí lo imprescindible, que para eso son las recetas.

Ejemplo

Supongamos que has configurado una o más impresoras de cualquier tipo en una máquina y que las quieres compartir a la red local, con dirección 192.168.0.0/24. La dirección del servidor (al que está conectada la impresora) es 192.168.0.1.

Servidor

Edita el fichero /etc/cups/cups.conf, para que incluya estas líneas:

Port 631
Listen 192.168.0.1:631         # dónde escucha el servidor
Browsing On                    # activar compartición de impresoras
BrowseAddress 192.168.0.2      # interfaz de red en la que anunciar impresoras
 
<Location />
  # Allow shared printing and remote administration…
  Order allow,deny
  Allow @LOCAL
  Allow 192.168.0.0/24         # permitir a todos los hosts de la red local administrar las impresoras
</Location>

Cliente

Edita el fichero /etc/cups/cups.conf y asegúrate que incluya estas líneas:

Browsing On                  # atender anuncios de impresoras remotas
BrowseAllow 192.168.0.0/24   # atender anuncios que procedan de la red local

Para terminar

Tanto en el servidor como en el cliente:

# /etc/init.d/cupsys restart