📘 Este artículo forma parte de nuestra Guía Completa de Linux y de nuestra Guía Completa de Servidores y Virtualización. Si administras servidores Linux, esas guías son tu punto de partida.
Introducción
CUPS (Common UNIX Printing System) es el sistema de impresión estándar en Linux, macOS y la mayoría de sistemas Unix. Permite:
- Gestionar impresoras locales y en red.
- Compartir impresoras entre múltiples equipos.
- Gestionar colas de impresión con prioridades.
- Aplicar cuotas y restricciones por usuario.
- Ofrecer una interfaz web para administración.
En 2026, CUPS sigue siendo la solución de referencia para montar un servidor de impresión en Linux. Y con las mejoras en IPP Everywhere y driverless printing, configurar impresoras es más fácil que nunca.
En esta guía completa vas a aprender:
- Qué es CUPS y sus ventajas.
- Instalación en Ubuntu, Debian, Fedora, Arch.
- Configuración segura del servidor.
- Añadir impresoras (USB, red, IPP).
- Compartir impresoras en la red.
- Descubrimiento automático con Avahi.
- Cuotas y restricciones.
- Seguridad y autenticación.
- Troubleshooting avanzado.
- FAQ con las preguntas más frecuentes.
Si nunca has administrado Linux, consulta nuestra Guía Completa de Linux. Si gestionas servidores, nuestra Guía Completa de Servidores.
Índice de contenidos
- ¿Qué es CUPS?
- Instalación
- Configuración segura
- Añadir impresoras
- Compartir en red
- Avahi y descubrimiento automático
- Impresoras IP y de red
- Cuotas y restricciones
- Seguridad
- Mantenimiento
- Troubleshooting
- FAQ
- Conclusión
1. ¿Qué es CUPS?
CUPS (Common UNIX Printing System) es un sistema modular de impresión para Unix y Linux. Desarrollado originalmente por Easy Software Products y adquirido por Apple en 2007, es ahora open source bajo la Apache License 2.0.
1.1 Características principales
- Compatible con IPP (Internet Printing Protocol).
- Soporta Samba para compartir con Windows.
- Interfaz web en
http://localhost:631. - Soporte para múltiples protocolos (USB, IPP, LPD, SMB).
- Colas de impresión con prioridades.
- Cuotas y restricciones por usuario.
- Driverless printing (IPP Everywhere, AirPrint).
1.2 Componentes de CUPS
- cupsd: el demonio principal.
- cups-browsed: descubrimiento automático.
- Filtros: procesan el trabajo antes de enviarlo a la impresora.
- Backends: comunican con la impresora (USB, IPP, etc.).
- PPD files: describen las capacidades de la impresora.
1.3 Protocolos soportados
| Protocolo | Uso |
|---|---|
| IPP | Estándar moderno (AirPrint, IPP Everywhere) |
| LPD | Protocolo antiguo de Unix |
| SMB/CIFS | Impresoras Windows compartidas |
| Socket (JetDirect) | Puerto 9100, muy común |
| USB | Impresoras locales |
1.4 ¿Por qué usar CUPS?
- Estándar en Linux y Unix.
- Fácil de configurar.
- Interfaz web.
- Soporte para casi cualquier impresora.
- Compatible con macOS e iOS (AirPrint).
- Ampliable con plugins.
Consulta Guía Completa de Servidores para otras herramientas de infraestructura.
2. Instalación
2.1 Ubuntu / Debian
sudo apt update
sudo apt install cups cups-client cups-bsd cups-filters printer-driver-all -yPaquetes:
- cups: servidor.
- cups-client: comandos
lp,lpr,lpstat. - cups-bsd: compatibilidad BSD.
- cups-filters: filtros modernos.
- printer-driver-all: todos los drivers disponibles.
2.2 Fedora / RHEL / Rocky / AlmaLinux
sudo dnf install cups cups-client cups-filters -y2.3 Arch Linux
sudo pacman -S cups cups-pdf2.4 Habilitar el servicio
sudo systemctl enable cups
sudo systemctl start cups
sudo systemctl status cupsDeberías ver «active (running)».
2.5 Verificar que CUPS funciona
Abre en el navegador:
http://localhost:631Deberías ver la interfaz web de CUPS.
2.6 Instalar drivers adicionales (opcional)
Impresoras HP:
sudo apt install hplip hplip-gui -yImpresoras Brother:
# Descarga el driver del sitio de Brother
# O usa:
sudo apt install printer-driver-brlaserImpresoras Epson:
sudo apt install printer-driver-escprImpresoras Canon:
sudo apt install printer-driver-cnijfilterConsulta Guía Completa de Linux para gestión de paquetes.
3. Configuración segura
3.1 Editar el archivo de configuración
sudo nano /etc/cups/cupsd.conf⚠️ Haz backup antes:
sudo cp /etc/cups/cupsd.conf /etc/cups/cupsd.conf.bak3.2 Configuración recomendada
Busca y modifica:
# Escuchar en todas las interfaces (solo si necesitas red)
Listen 0.0.0.0:631
Listen /run/cups/cups.sock
# Permitir descubrimiento
Browsing On
BrowseLocalProtocols dnssd
# Autenticación
DefaultAuthType Basic
WebInterface Yes3.3 Configurar permisos de acceso
⚠️ CRÍTICO: no permitas acceso total sin autenticación.
Configuración segura (ejemplo):
# Acceso básico (solo lectura para todos)
<Location />
Order allow,deny
Allow @LOCAL
Allow 192.168.1.0/24
</Location>
# Acceso administrativo (requiere autenticación)
<Location /admin>
Order allow,deny
Allow @LOCAL
Allow 192.168.1.0/24
AuthType Default
Require user @SYSTEM
</Location>
# Configuración del servidor
<Location /admin/conf>
AuthType Default
Require user @SYSTEM
Order allow,deny
</Location>
# Trabajos de impresión
<Location /jobs>
AuthType Default
Require user @SYSTEM
Order allow,deny
</Location>
# Impresoras
<Location /printers>
AuthType Default
Require user @SYSTEM
Order allow,deny
</Location>Significado:
@LOCAL: permite conexiones locales.192.168.1.0/24: permite la red local.Require user @SYSTEM: solo usuarios del grupolpadmin.
3.4 Añadir usuario al grupo lpadmin
sudo usermod -aG lpadmin $USERCierra sesión y vuelve a entrar para aplicar los cambios.
3.5 Reiniciar CUPS
sudo systemctl restart cups3.6 Verificar acceso
- Abre
http://localhost:631. - Intenta acceder a Administración.
- Te pedirá usuario y contraseña (los de tu sistema).
3.7 NUNCA exponer CUPS directamente a internet
⚠️ Si expones CUPS a internet:
- Riesgo de abuso (impresión no autorizada).
- Exposición de información de impresoras.
- Vectores de ataque conocidos.
Solución: usa VPN para acceso remoto.
Consulta Cómo montar tu propio servidor de VPN y Zero Trust.
4. Añadir impresoras
4.1 Método 1: Interfaz web
- Abre
http://localhost:631. - Ve a Administración → Añadir impresora.
- Introduce usuario y contraseña (del grupo
lpadmin). - Selecciona la impresora:
- USB: aparece automáticamente.
- Red: IPP, LPD, SMB, Socket.
- Configura:
- Nombre.
- Descripción.
- Ubicación.
- Compartir (marcar si quieres compartirla).
- Selecciona el driver o usa IPP Everywhere (sin driver).
- Configura opciones (tamaño, calidad).
4.2 Método 2: Línea de comandos
Listar impresoras detectadas:
lpinfo -vAñadir una impresora USB:
lpadmin -p MiImpresora -E -v usb://HP/LaserJet%20P1102 -m everywhere-p: nombre.-E: habilitar y aceptar trabajos.-v: dispositivo.-m everywhere: driverless (IPP Everywhere).
Añadir una impresora de red (Socket):
lpadmin -p ImpresoraRed -E -v socket://192.168.1.50:9100 -m everywhereAñadir una impresora IPP:
lpadmin -p ImpresoraIPP -E -v ipp://192.168.1.50/ipp/print -m everywhere4.3 Configurar como predeterminada
lpadmin -d MiImpresoraO:
lpoptions -d MiImpresora4.4 Verificar impresoras instaladas
lpstat -p -dResultado:
printer MiImpresora is idle. enabled since ...
system default destination: MiImpresora4.5 Imprimir una página de prueba
lp -d MiImpresora /usr/share/cups/data/testprintO desde la interfaz web: Impresoras → MiImpresora → Print Test Page.
5. Compartir en red
5.1 Habilitar uso compartido
En /etc/cups/cupsd.conf:
Browsing On
BrowseLocalProtocols dnssdEn la interfaz web:
- Administración → Configuración del servidor.
- Marca «Compartir impresoras conectadas a este sistema».
- Marca «Permitir impresión desde Internet» (opcional, cuidado).
- Guardar.
5.2 Configurar la impresora como compartida
lpadmin -p MiImpresora -o printer-is-shared=true5.3 Abrir puerto en el firewall
sudo ufw allow 631/tcp
sudo ufw allow 5353/udp # Para Avahi/BonjourConsulta Guía para configurar firewall en Debian y Cómo configurar firewall en Linux.
5.4 Conectar desde otro equipo Linux
Automático (con Avahi):
sudo apt install avahi-daemon cups-browsedCUPS descubrirá automáticamente las impresoras de la red.
Manual:
lpadmin -p ImpresoraRemota -E -v ipp://192.168.1.100:631/printers/MiImpresora -m everywhere5.5 Conectar desde Windows
Windows 10/11:
- Configuración → Dispositivos → Impresoras y escáneres → Agregar impresora.
- Espera a que aparezca la impresora de red.
- O introduce manualmente:
http://192.168.1.100:631/printers/MiImpresora.
5.6 Conectar desde macOS
Automático (Bonjour):
- Preferencias del sistema → Impresoras y escáneres.
- macOS detectará las impresoras automáticamente.
Manual:
- Añadir impresora.
- Seleccionar IP → Protocolo IPP.
- Dirección:
192.168.1.100/printers/MiImpresora.
5.7 Conectar desde móvil (iOS/Android)
Con AirPrint (iOS):
- La impresora aparece automáticamente si CUPS la comparte con Avahi.
Android:
- Apps como Mopria o CUPS Print.
- O usa Google Cloud Print (descontinuado).
6. Avahi y descubrimiento automático
Avahi implementa Zeroconf/Bonjour, que permite el descubrimiento automático de impresoras en la red.
6.1 Instalar Avahi
sudo apt install avahi-daemon avahi-utils -y
sudo systemctl enable avahi-daemon
sudo systemctl start avahi-daemon6.2 Verificar funcionamiento
avahi-browse -art | grep printerDeberías ver las impresoras de la red.
6.3 Instalar cups-browsed
sudo apt install cups-browsed -y
sudo systemctl enable cups-browsed
sudo systemctl start cups-browsedcups-browsed sincroniza automáticamente impresoras de red.
6.4 Configuración de cups-browsed
Edita /etc/cups/cups-browsed.conf:
BrowseProtocols dnssd
BrowseAllow all
BrowseLocalProtocols dnssdReinicia:
sudo systemctl restart cups-browsed6.5 Ver impresoras detectadas
lpstat -pDeberías ver impresoras locales y remotas.
Consulta Guía Completa de Redes para entender Zeroconf.
7. Impresoras IP y de red
7.1 Tipos de conexión
| Tipo | Puerto | Uso |
|---|---|---|
| IPP | 631 | Estándar moderno |
| Socket (JetDirect) | 9100 | Muy común |
| LPD | 515 | Protocolo antiguo |
| SMB/CIFS | 445 | Impresoras Windows |
7.2 Encontrar la IP de la impresora
Método 1: imprime la página de configuración de red desde el panel de la impresora.
Método 2: escanea la red:
sudo nmap -p 631,9100 192.168.1.0/24Consulta Cómo comprobar la seguridad de tu red con Nmap.
Método 3: busca en el router.
7.3 Añadir impresora IPP
lpadmin -p ImpresoraIPP -E -v ipp://192.168.1.50/ipp/print -m everywhereVentajas IPP:
- Cifrado (IPP over TLS).
- Descubrimiento automático.
- AirPrint nativo.
- Driverless (IPP Everywhere).
7.4 Añadir impresora Socket (JetDirect)
lpadmin -p ImpresoraSocket -E -v socket://192.168.1.50:9100 -m everywhereVentajas:
- Muy compatible.
- Fácil de configurar.
Desventajas:
- Sin cifrado.
- Sin estado.
7.5 Añadir impresora LPD
lpadmin -p ImpresoraLPD -E -v lpd://192.168.1.50/queue -m everywhere7.6 Añadir impresora SMB
lpadmin -p ImpresoraSMB -E -v smb://usuario:password@192.168.1.50/ImpresoraConsulta Guía de Samba.
7.7 IPP con cifrado
lpadmin -p ImpresoraIPPSSL -E -v ipps://192.168.1.50/ipp/print -m everywhere8. Cuotas y restricciones
8.1 ¿Por qué usar cuotas?
- Limitar consumo de papel/tinta.
- Controlar costes.
- Evitar abusos.
- Fomentar uso responsable.
8.2 Configurar cuotas con lpadmin
Habilitar cuotas:
sudo lpadmin -p MiImpresora -o job-quota-period=604800 -o job-k-limit=500job-quota-period: 604800 segundos = 1 semana.job-k-limit: 500 KB por usuario por periodo.
Ver cuotas:
sudo lpquota -p MiImpresora8.3 Restricciones por usuario
Con archivos de políticas avanzadas.
Crea /etc/cups/printers.conf.d/restricciones.conf:
<Printer MiImpresora>
Policy MiPolitica
</Printer>Crea /etc/cups/policies.conf:
<Policy MiPolitica>
<Limit All>
Order allow,deny
Allow usuario1
Allow usuario2
Deny all
</Limit>
</Policy>Solución más simple: usa el plugin cups-tea4cups o pykota.
8.4 Limitar tamaño de trabajos
sudo lpadmin -p MiImpresora -o job-size-limit=1048576010 MB máximo por trabajo.
8.5 Restringir por grupos
Edita cupsd.conf:
<Location /printers/MiImpresora>
Order allow,deny
Allow @admins
Deny all
</Location>Solo el grupo admins puede imprimir.
9. Seguridad
9.1 Principios básicos
- Autenticación obligatoria para administración.
- Firewall restrictivo (solo red local).
- HTTPS cuando sea posible.
- Nunca exponer a internet.
- Monitoreo de uso.
9.2 HTTPS en CUPS
Generar certificado autofirmado:
sudo openssl req -new -x509 -days 365 -nodes \
-out /etc/cups/ssl/server.crt \
-keyout /etc/cups/ssl/server.keyHabilitar en cupsd.conf:
Encryption RequiredReinicia:
sudo systemctl restart cupsAcceso:
https://localhost:6319.3 Autenticación con LDAP
Edita /etc/cups/cupsd.conf:
<Policy default>
<Limit All>
Order deny,allow
AuthType Basic
AuthClass Group
AuthGroupName lpadmin
</Limit>
</Policy>Configuración LDAP avanzada: edita /etc/cups/cups-files.conf.
Consulta Gestión de identidades y accesos (IAM).
9.4 Firewall
sudo ufw allow from 192.168.1.0/24 to any port 631 proto tcp
sudo ufw allow from 192.168.1.0/24 to any port 5353 proto udp
sudo ufw enableConsulta Guía para configurar firewall en Debian.
9.5 VPN para acceso remoto
Recomendado: monta una VPN para acceso remoto.
sudo apt install wireguardConsulta Cómo montar tu propio servidor de VPN.
9.6 Fail2ban para CUPS
sudo apt install fail2ban
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.localAñade a jail.local:
[cups]
enabled = true
port = 631
filter = cups
logpath = /var/log/cups/error_log
maxretry = 5
bantime = 86400Consulta Cómo configurar y usar Fail2ban.
9.7 Auditar
- Revisar logs de CUPS.
- Monitorear trabajos.
- Alertas de actividad sospechosa.
Consulta Análisis de registros en Linux.
10. Mantenimiento
10.1 Ver logs
sudo tail -f /var/log/cups/error_log
sudo tail -f /var/log/cups/access_log10.2 Ver trabajos actuales
lpstat -o10.3 Cancelar un trabajo
cancel job-id
cancel -a MiImpresora # Cancelar todos10.4 Limpiar cola
sudo systemctl stop cups
sudo rm -rf /var/spool/cups/*
sudo systemctl start cups10.5 Reiniciar impresora
cupsenable MiImpresora
cupsaccept MiImpresora10.6 Ver estadísticas
lpstat -p -d -t10.7 Actualizar CUPS
sudo apt update && sudo apt upgrade cupsConsulta Optimización de servidores Linux.
11. Troubleshooting
11.1 La impresora no aparece en la interfaz web
Causas:
- No detectada correctamente.
- Driver faltante.
- Permisos.
Solución:
lpinfo -v
dmesg | grep -i printer11.2 Los trabajos se quedan en cola
Causas:
- Impresora apagada o desconectada.
- Driver incorrecto.
- Problema de red.
Solución:
lpstat -p -d
sudo tail -f /var/log/cups/error_log11.3 Error «Forbidden» en la interfaz web
Causas:
- No estás en el grupo
lpadmin. - Configuración de
cupsd.conf.
Solución:
sudo usermod -aG lpadmin $USER
# Cerrar sesión y volver a entrar11.4 No puedo acceder a CUPS remotamente
Causas:
Listenmal configurado.- Firewall.
Solución:
# En cupsd.conf
Listen 0.0.0.0:631
# Firewall
sudo ufw allow from 192.168.1.0/24 to any port 63111.5 Impresora imprime mal (colores, tamaño)
Causas:
- Driver incorrecto.
- Configuración de página.
Solución: desde la interfaz web, ve a Impresoras → MiImpresora → Establecer opciones predeterminadas.
11.6 Trabajo eternamente «processing»
Causas:
- Filtro atascado.
- Problema de red.
Solución:
sudo cancel -a MiImpresora
sudo systemctl restart cups11.7 No detecta impresoras de red (Avahi)
Causas:
- Avahi no instalado.
- Red bloquea multicast.
Solución:
sudo apt install avahi-daemon cups-browsed
sudo systemctl restart avahi-daemon cups-browsed11.8 Permisos al añadir impresora
Causa: usuario no está en lpadmin.
Solución:
sudo usermod -aG lpadmin $USER11.9 Error «client-error-not-possible»
Causas:
- Impresora no acepta trabajos.
- Cola deshabilitada.
Solución:
cupsenable MiImpresora
cupsaccept MiImpresora11.10 CUPS no arranca
Solución:
sudo systemctl status cups
sudo journalctl -u cups -n 50
sudo cupsd -t # Verificar configuración11.11 Driver incompatible
Solución:
- Instala drivers específicos del fabricante.
- Usa IPP Everywhere (driverless).
lpadmin -p MiImpresora -E -v ipp://IP/ipp/print -m everywhere11.12 Impresora USB no detectada
Solución:
lsusb
dmesg | grep -i usb
sudo systemctl restart cupsPrueba en otro puerto USB.
12. FAQ
¿Qué es CUPS y por qué usarlo?
CUPS (Common UNIX Printing System) es el sistema de impresión estándar en Linux, macOS y Unix.
Ventajas:
- Compatible con IPP, Samba, AirPrint.
- Interfaz web.
- Colas con prioridades.
- Cuotas por usuario.
Recomendado para cualquier servidor de impresión en Linux.
¿CUPS es seguro?
Sí, si lo configuras bien:
- Autenticación obligatoria.
- Firewall restrictivo.
- HTTPS.
- Sin exposición a internet.
Sin configuración adecuada, puede ser un vector de ataque. Consulta Guía Completa de Ciberseguridad.
¿Cómo añado una impresora USB?
Automático:
lpinfo -v | grep usb
lpadmin -p MiImpresora -E -v usb://HP/LaserJet -m everywhereManual: desde la interfaz web (http://localhost:631).
¿Cómo añado una impresora de red?
Por IPP:
lpadmin -p Impresora -E -v ipp://192.168.1.50/ipp/print -m everywherePor Socket:
lpadmin -p Impresora -E -v socket://192.168.1.50:9100 -m everywhereConsulta Guía Completa de Redes.
¿Qué es IPP Everywhere?
IPP Everywhere es un estándar de impresión sin drivers.
Ventajas:
- No requiere drivers específicos.
- Compatible con la mayoría de impresoras modernas.
- AirPrint nativo.
Uso:
lpadmin -p MiImpresora -E -v ipp://IP/ipp/print -m everywhere¿Cómo comparto la impresora en la red?
- Habilita compartir en
cupsd.conf:
Browsing On
BrowseLocalProtocols dnssd- Marca «Compartir impresoras» en la web.
- Abre puerto 631 en el firewall.
- Configura Avahi para descubrimiento.
¿Puedo usar CUPS con Windows?
Sí, de varias formas:
- IPP: Windows 10/11 soportan IPP nativo.
- Samba: compartir como SMB.
- LPD: protocolo antiguo.
Consulta Guía de Samba.
¿Cómo aplico cuotas de impresión?
Básico:
sudo lpadmin -p MiImpresora -o job-quota-period=604800 -o job-k-limit=500Avanzado: usa pykota o tea4cups para cuotas más granulares.
¿Cómo hago backup de la configuración?
sudo tar -czf cups-backup-$(date +%F).tar.gz /etc/cups/Incluye:
cupsd.confprinters.confppd/ssl/
¿Cómo migro CUPS a otro servidor?
- Backup en origen:
sudo tar -czf cups-backup.tar.gz /etc/cups/- Copiar al destino.
- Extraer en el destino:
sudo tar -xzf cups-backup.tar.gz -C /- Reiniciar CUPS:
sudo systemctl restart cups¿Qué hacer si CUPS consume mucha CPU?
Causas:
- Filtros pesados.
- Cola atascada.
- Driver defectuoso.
Solución:
- Revisa
/var/log/cups/error_log. - Reinicia CUPS.
- Usa IPP Everywhere en lugar de drivers pesados.
¿Puedo imprimir desde el móvil?
Sí, con AirPrint (iOS) o apps como Mopria (Android).
Requisito: CUPS + Avahi configurados para compartir.
¿CUPS sirve para impresoras de red profesionales?
Sí. CUPS es estándar en:
- Empresas.
- Universidades.
- Bibliotecas.
- Impresoras de producción.
Con cuotas y autenticación, es totalmente válido.
¿Es necesario Avahi?
No es obligatorio, pero recomendado para:
- Descubrimiento automático.
- AirPrint.
- Compatibilidad con macOS/iOS.
Sin Avahi: hay que añadir impresoras manualmente.
13. Conclusión
CUPS es la solución estándar, robusta y flexible para montar un servidor de impresión en Linux. Con una configuración adecuada, puedes:
- Compartir impresoras en toda la red.
- Gestionar colas con prioridades.






