Configurando un Servidor CUPS para la casa

Desde que ingrese nuevamente al mundo de la "tecnologia movile" que ando haciendo modificaciones en la pequeña red que tengo en casa con respecto a la conexion a internet, despues el wireless y lo que faltaba eran la impresora.

Esta vez estuve jugando con las configuraciones del servidor CUPS de mi computadora de escritorio no solo para "compartir la impresora" sino para que el server la anuncie la impresora a la red y de esta forma cada vez que conecte la notebook a la red de casa automáticamente se mapea a la impresora de casa sin tener que hacer nada en la notebook.

La receta

Partiendo de la base que ya tenemos nuestra impresora funcionando lo que haremos sera cambiar un poco las directivas del servidor CUPS de la PC de escritorio. El archivo de configuracion de CUPS se encuentra en el directorio /etc/cups y se llama cupsd.conf, lo abriremos con nuestro editor preferido y, en primera instancia modificaremos la directiva de Listen de esta forma:
Listen 631
Con esto, estaremos indicando que escuche en el puerto 631 de todas las interfases conectadas a nuestra PC. El siguiente paso es publicar las impresoras en la red, y lo hacemos con las siguientes directivas:
Browsing On
BrowseInterval 30
BrowseAddress @LOCAL

BrowseOrder deny,allow
BrowseAllow @LOCAL
BrowseDeny all

La directiva de Browsing On es la que nos determina que CUPS anunciara las impresoras, y en nuestro caso enviara un mensaje UDP cada 30 segundos (BrowseInterval 30) a las direcciones de brodcast de todas las redes conectadas localmente a nuestra PC (BrowseAddress @LOCAL). Cabe destacar que @LOCAL es un comodín que nos permite definir todas las interfases locales (cableadas o wireless) pero no abarca las interfases PPP. También podríamos haber definido, para mayor seguridad, la o las direcciones de red en las que queremos que se anuncie nuestras impresoras.

Luego es hora de aplicar un poco de seguridad a nuestra configuracion. La directiva BrowseAllow @LOCAL y BrowseDeny All nos determina que solo aceptara paquetes entrantes de las redes locales. El orden en que se apliquen estas dos directivas es muy importante, BrowseOrder deny,allow nos indica que primero se aplicara las reglas de BrowseDeny y las de BrowseAllow se utilizaran como excepciones de las primeras. En nuestro caso, rechazamos todo menos lo que venga de las redes locales.

Con esas lineas nuestras impresoras ya se anuncian en la red, el siguiente paso es permitir que puedan imprimir en ellas. Para ello en la seccion <location / > en la directiva de Allow agregamos a la red local quedándonos de la siguiente manera:
<location / >
Order deny,allow
Allow localhost,@LOCAL
Deny all
< /Location>
Con esta configuración, todas las maquinas con de nuestra red podrán imprimir en el servidor de impresión.

Administración Remota de las Impresoras

Si quisiéramos administrar las impresoras remotamente lo que deberíamos hacer es agregar a las secciones <location /admin > de la siguiente manera:
<location /admin >
Encryption Required
Order deny,allow
Allow localhost
Allow 192.168.1.11
Deny all
< /Location>
De esta forma, permitiremos la configuración de las impresoras no solo desde la maquina local sino también desde la dirección 192.168.1.11. Aquí también podríamos usar el comodín @LOCAL, para indicar a toda la red. Cabe destacar que mas allá de del acceso (desde que IP puedo acceder) para realizar tareas administrativas nos pedirá autenticación (Usuario y clave) que por defecto el usario es root del sistema linux.

Si queires sabes mas sobre las opciones del servidor CUPS y sobre seguridad y autenticacion te recomiendo la lectura del Manual del Administrador de CUPS

0 comentarios: