GNU/Linux >> Tutoriales Linux >  >> Cent OS

Configurar el servidor de impresión CUPS en CentOS 8/RHEL 8 (Bonjour, IPP, Samba, AirPrint)

Este tutorial le mostrará cómo compartir una impresora conectada a una computadora CentOS 8/RHEL 8 con clientes Windows, macOS e iOS en la misma red. CUPS (Common Unix Printing System) es el sistema de impresión predeterminado en Linux, FreeBSD y macOS. Su entorno de escritorio Linux puede tener una utilidad de configuración de impresora dedicada, pero todos usan CUPS debajo del capó. La impresora CUPS se puede compartir en la red utilizando varios protocolos, incluidos:

  • Bonjour + IPP :Bonjour, también conocido como mDNS/DNS-SD (descubrimiento de servicios DNS/DNS de multidifusión), permite que una computadora encuentre servicios en la red local. IPP (Protocolo de impresión de Internet) es el protocolo de transporte.
  • PYMES :también conocido como Samba, se utiliza principalmente para compartir archivos e impresoras con clientes de Windows.
  • Impresión de aire :permite que los clientes de iPhone, iPad y macOS impriman a través de Wi-Fi.

Cada protocolo tiene sus ventajas y desventajas. Primero, le mostraré cómo instalar y configurar CUPS. Luego, aprenderemos cómo compartir la impresora CUPS a través de los 3 protocolos anteriores. Recomiendo usar los 3 métodos para compartir su impresora, para que los usuarios puedan encontrar una impresora disponible en la red local con un mínimo esfuerzo.

Paso 1:Instalar y configurar CUPS en CentOS 8/RHEL 8

La edición de escritorio CentOS 8/RHEL 8 tiene CUPS preinstalado. Si usa la edición del servidor CentOS 8/RHEL 8, debe ejecutar el siguiente comando para instalar CUPS desde el repositorio predeterminado de CentOS 8/RHEL 8.

sudo dnf install cups

Luego inicie CUPS.

sudo systemctl start cups

Habilite el inicio automático en el momento del arranque.

sudo systemctl enable cups

Compruebe su estado:

systemctl status cups

Salida de muestra:

A continuación, edite el archivo de configuración principal de CUPS con un editor de texto de línea de comandos como Nano.

sudo nano /etc/cups/cupsd.conf

De forma predeterminada, la interfaz web de CUPS solo está disponible en localhost:631 . Si está ejecutando la edición del servidor CentOS 8/RHEL 8, es posible que desee hacer que CUPS escuche en todas las interfaces de red disponibles, de modo que pueda acceder a la interfaz web de CUPS desde otras computadoras. Busque la siguiente línea.

Listen localhost:631

Cámbielo a lo siguiente, para que CUPS escuche en todas las interfaces de red.

Port 631

La siguiente línea hará que CUPS muestre las impresoras compartidas en la red local, de modo que otras computadoras en la misma red puedan ver las impresoras conectadas a su computadora CentOS 8/RHEL 8.

Browsing On

Luego busque las siguientes líneas.

<Location />
  Order allow,deny
</Location>

La configuración anterior solo permite el acceso a la interfaz web de CUPS desde localhost. Para permitir el acceso desde otras computadoras en la misma red, agregue Allow @LOCAL a la configuración como a continuación.

<Location />
  Order allow,deny
  Allow @LOCAL
</Location>

Si desea permitir la administración remota desde la red local, agréguela también para /admin directorio.

<Location /admin>
  Order allow,deny
  Allow @LOCAL
</Location>

Guarde y cierre el archivo. Luego reinicie CUPS para que los cambios surtan efecto.

sudo systemctl restart cups

Necesitamos permitir que los clientes en la misma red accedan al puerto 631 en su computadora CentOS 8/RHEL 8.

sudo firewall-cmd --permanent --add-port=631/tcp

Vuelva a cargar el firewall para que el cambio surta efecto.

sudo systemctl reload firewalld

Además del principal cups.service , también está cups-browsed.service , que se utiliza para escanear y agregar impresoras desde la red local. Si desea que su computadora CentOS 8/RHEL 8 pueda usar otras impresoras en la red local, inicie este servicio.

sudo systemctl start cups-browsed

Y habilite el inicio automático en el momento del arranque.

sudo systemctl enable cups-browsed

Paso 2:instale el controlador para su impresora en CentOS 8/RHEL 8

Debe instalar el controlador en CentOS 8/RHEL 8, para que pueda reconocer y usar la impresora. Si tiene una impresora HP, puede instalar fácilmente el controlador con el siguiente comando.

sudo dnf install hplip

También recomiendo instalar las gutenprint-cups paquete, que proporciona controladores CUPS para impresoras Canon, Epson, HP y compatibles.

sudo dnf install gutenprint-cups

Si tiene otras impresoras, puede encontrar controladores en openprinting.org.

Después de instalar el controlador, es posible que deba volver a conectar la impresora al puerto USB de su computadora CentOS 8/RHEL 8. Para probar si el controlador funciona correctamente, puede crear un archivo de texto en CentOS 8/RHEL 8:

echo "LinuxBabe is awesome!" > file.txt

Luego ejecute el siguiente comando para imprimir este archivo de texto desde la línea de comandos.

lp file.txt

Este es un método muy rudimentario, así que no se preocupe por la calidad de impresión ahora.

Paso 3:Comparta la impresora CUPS a través del protocolo Bonjour/IPP

Instalando Avahi-demonio

CUPS puede anunciar su presencia en la red a través del protocolo mDNS (Multicast DNS) y DNS-SD (DNS Service Discovery), también conocido como Bonjour. Para hacerlo, debe instalar y ejecutar avahi-daemon , que es un servicio similar al servicio Bonjour de Apple que permite que las computadoras descubran automáticamente dispositivos y servicios compartidos en la red local.

sudo dnf install avahi

También necesitamos instalar el nss-mdns paquete del repositorio EPEL, que es necesario para que los clientes resuelvan .local dominio en la red.

sudo dnf install epel-release

sudo dnf install nss-mdns

Inicie avahi-daemon.

sudo systemctl start avahi-daemon

Habilite el inicio automático en el momento del arranque.

sudo systemctl enable avahi-daemon

Avahi-daemon escucha en el puerto UDP 5353. Ábralo en el firewall.

sudo firewall-cmd --permanent --add-port=5353/udp

Vuelva a cargar el firewall para que el cambio surta efecto.

sudo systemctl reload firewalld

Impresión IPP sin controlador

Bonjour se utiliza para anunciar la impresora en la red local. Para que los clientes y el servidor CUPS se comuniquen entre sí, se necesita IPP (Protocolo de impresión de Internet). La ventaja de IPP es que los clientes pueden usar la impresora compartida sin instalar ningún controlador en sus propios dispositivos. CUPS es compatible con IPP desde el primer momento, por lo que no necesita hacer nada más para compartir la impresora CUPS a través de IPP.

Paso 4:Agregue la impresora en las computadoras cliente

clientes macOS y Linux

Debido a que macOS y la mayoría de las distribuciones de escritorio de Linux tienen CUPS instalado como sistema de impresión predeterminado, una vez que haya habilitado el uso compartido de impresoras a través de Bonjour/IPP en la caja CentOS 8/RHEL 8, los usuarios de macOS y Linux en la misma red pueden usar la impresora automáticamente. Cuando hacen clic en la opción de impresión en las aplicaciones (procesadores de texto, lectores de correo electrónico, editores de fotos y navegadores web), la impresora estará disponible automáticamente. No tienen que agregar explícitamente la impresora. Es mágico.

Si su computadora Linux no puede encontrar la impresora, es posible que su sistema no tenga ippfind dominio. Ejecute el siguiente comando para instalarlo en una distribución de Linux basada en Debian.

sudo apt install cups-ipp-utils

En CentOS 8, ejecute el siguiente comando.

sudo dnf install cups-ipptool

Luego reinicie CUPS en la computadora cliente.

sudo systemctl restart cups

Ventanas

Windows 10 se envía con un cliente IPP. Escriba impresora en la barra de búsqueda inferior izquierda y abre Impresoras y escáneres . Luego haga clic en Agregar una impresora o escáner botón. Escaneará las impresoras disponibles en la red local.

Como puede ver, encontró mi impresora HP Deskjet. Seleccione la impresora encontrada y haga clic en Agregar dispositivo . Se añadirá a la lista de impresoras en unos momentos.

Si está utilizando una versión diferente de Windows que no puede agregar una impresora de esta manera, puede instalar los servicios de impresión de Bonjour. Una vez instalado, inicie el asistente de la impresora Bonjour. Escaneará automáticamente las impresoras disponibles en la red local. Como puede ver en la captura de pantalla, encontró mi impresora HP.

Haga clic en Siguiente, luego debe elegir un controlador para esta impresora. Puede elegir el controlador de clase IPP de Microsoft, que está instalado en el sistema de forma predeterminada.

Haga clic en Siguiente y la impresora se agregará a su sistema Windows.

Agregar impresora manualmente en Linux

Si por alguna razón no ve la impresora, puede agregar una manualmente. Para agregar una impresora compartida Bonjour en el escritorio de Linux, busque en la configuración del sistema o en el menú de la aplicación la utilidad de configuración de la impresora. Haz clic en Agregar botón para agregar una nueva impresora.

Luego haga clic en Impresora de red y escaneará automáticamente las impresoras disponibles en la red local. Como puede ver, encontró mi impresora HP Deskjet. Haz clic en Adelante botón.

Luego puede darle a la impresora un nombre y una descripción. Simplemente acepto los valores predeterminados. Haz clic en Aplicar y listo.

Agregar impresora manualmente en macOS

Para agregar una impresora compartida de Bonjour en macOS, vaya a preferencias del sistema -> Impresoras y escáneres . Haga clic en el botón más (+) para agregar una impresora.

Escaneará automáticamente las impresoras disponibles en la red local. Como puede ver, encontró mi impresora HP Deskjet.

Haz clic en Agregar y aparecerá en la lista de impresoras.

Paso 5:Comparta la impresora CUPS a través de Samba

Samba es una implementación de protocolo SMB/CIFS gratuita y de código abierto para Unix y Linux que permite compartir archivos e impresoras entre máquinas Unix/Linux y Windows en una red de área local. Se utiliza principalmente para compartir archivos e impresoras con clientes de Windows.

Para instalar Samba en CentOS 8/RHEL 8, ejecute el siguiente comando.

sudo dnf install samba

Luego emita el siguiente comando para iniciar el smbd y nmbd servicio.

sudo systemctl start smb nmb

Habilite el inicio automático en el momento del arranque.

sudo systemctl enable smb nmb

Para verificar si el servicio Samba se está ejecutando, emita los siguientes comandos.

systemctl status smb nmb

Una vez iniciado, el smb el demonio estará escuchando en los puertos TCP 139 y 445. El nmbd estará escuchando en los puertos UDP 137 y 138. Ejecute el siguiente comando para abrir estos puertos en el firewall.

sudo firewall-cmd --permanent --add-service=samba

Vuelva a cargar el demonio de firwall para que el cambio surta efecto.

sudo systemctl reload firewalld

Luego edite el archivo de configuración principal.

sudo nano /etc/samba/smb.conf

Encuentra las [printers] sección. Por defecto, se ve así:

[printers]
        comment = All Printers
        path = /var/tmp
        printable = Yes
        create mask = 0600
        browseable = No

Necesitamos cambiar el valor de browseable a yes , para que los clientes en la misma red puedan encontrar la impresora y agregar guest ok = yes para permitir que cualquiera en la red use la impresora.

[printers]
        comment = All Printers
        path = /var/tmp
        printable = Yes
        create mask = 0600
        browseable = yes
        guest ok = yes

Se recomienda habilitar el spoolssd servicio al compartir la impresora. Esto hará que Samba sea más eficiente cuando haya muchos trabajos de impresión. Simplemente agregue las siguientes dos líneas en el [global] sección para habilitar el spoolssd servicio.

 rpc_server:spoolss = external
 rpc_daemon:spoolssd = fork

Guarde y cierre el archivo. Luego reinicie Samba.

sudo systemctl restart smb nmb

Agregar una impresora compartida Samba en Windows.

Abra el explorador de archivos, ingrese la dirección IP de la computadora CentOS 8/RHEL 8 en la barra de direcciones como \\192.168.0.110 . La impresora ahora debería aparecer en la lista.

Haga doble clic en la impresora para agregarla a su sistema Windows. Luego haga clic en el botón Aceptar para seleccionar un controlador para instalar. Después de instalar el controlador, la impresora se agregará a su sistema Windows.

Paso 6:Comparta la impresora CUPS con clientes iOS a través de AirPrint

AirPrint permite a los clientes de iPhone, iPad y macOS imprimir a través de Wi-Fi sin instalar el software del controlador en los dispositivos cliente. CUPS admite Airprint, pero avahi-daemon de forma predeterminada, no anuncia el servicio AirPrint en la red local. Necesitamos crear un .service archivo en el /etc/avahi/services/ directorio para la impresora con un script de Python. Ejecute el siguiente comando para descargar el script en CentOS 8/RHEL 8.

wget https://raw.github.com/tjfontaine/airprint-generate/master/airprint-generate.py

Añadir permiso de ejecución.

chmod +x airprint-generate.py

Este script de python está hecho para Python2. CentOS 8/RHEL 8 usa Python3 de forma predeterminada. Necesitamos instalar Python2.

sudo dnf install python2

Edite este archivo.

nano airprint-generate.py

Cambiar

#!/usr/bin/env python

a

#!/usr/bin/env python2

Guarde y cierre el archivo. Luego instale las dependencias.

sudo dnf install gcc python2-devel cups-devel redhat-rpm-config

Instale el módulo de tazas.

sudo pip2 install cups pycups

Luego ejecute este script.

sudo ./airprint-generate.py -d /etc/avahi/services/

Ahora debería haber un .service archivo bajo /etc/avahi/services/ directorio de su impresora.

ls /etc/avahi/services/

Salida de muestra:

AirPrint-DeskJet-2130-series.service

Reinicie Avahi-daemon.

sudo systemctl restart avahi-daemon

Ahora los clientes de iOS y macOS en la misma red deberían poder usar su impresora. La siguiente captura de pantalla muestra que mi iPhone encontró con éxito una impresora AirPrint.


Cent OS
  1. Cómo configurar un servidor OpenVPN en CentOS 7

  2. Cómo instalar el servidor web OpenLiteSpeed ​​en CentOS 8/RHEL 8

  3. Configurar el servidor SysLog en CentOS 6 / RHEL 6

  4. Cómo instalar Puppet en RHEL 8/CentOS 8

  5. Configurar el servidor DHCP en CentOS 8:¿cómo hacerlo?

Configure el servidor Samba en CentOS 8/RHEL 8 para compartir archivos

Instale y configure OpenDKIM en el servidor de correo CentOS 8/RHEL 8

Parte 4:configurar SPF y DKIM con Postfix en el servidor de correo CentOS 8/RHEL 8

Configurar el servidor de impresión CUPS en Ubuntu (Bonjour, IPP, Samba, AirPrint)

Cómo configurar el servidor DHCP en CentOS 8

Cómo configurar SSH en CentOS y RHEL